Download

Height map from Blender scale issue

So I have a terrain in blender that I made a height map from, imported a mannequin from unreal for size comparison, and all is great. Until I import the height map into unreal. The scale is way off and seems impossible to accurately scale correctly. Any help would be appreciated cause all the documentation I’m finding is either confusing or not relevant to my problem. Or better yet, a way to import a mesh and somehow make it a terrain to be able to use the functions the terrain mode offers.

max height * 0.1953125 = Z scale is the magic number for world machine, it might be the same for blender too

I’m using the handplanebaker addon in blender, not exactly sure how I would incorporate that into it, pretty new to unreal. All I’m left with is a height map that I can set the resolution for. The goal would be to have it appear in the terrain editor the same size and shape it does in blender. Starting to seem impossible though, might just import as an fbx and call it a day.

you take the highest level in the terrain you made in blender, lets say its 700m above ground level and call it max height. multiply that by 0.1953125 and use the result to set the z scale in ue4

You baked a normalized heightmap, which means 0: lowest point of the model, 1: heighest point of the model. With default actor scale (100, 100, 100) Unreal expects terrains to be in 512m range. So, the z scale of the terrain actor should be max_texture_height (cm) / 512.

Alternatively, you can bake the heightmap with a scale of 512m (51 200 cm).

X, Y scale: with default actor scale (100, 100, 100) landscape vertex density is 1m. So a heightmap resolution of 1009x1009 produces a 1km wide terrain. Get the longest dimension of the model (X or Y) and that’s how wide the terrain should be. You can get higher or lower vertex density by changing the x, y scale of the landscape actor.

Alright so I’m getting stuck on the resolution of the height map. Am I supposed to make it 1009x1009, because I’m exporting at 2048. 1009 obviously not being an option, as you made the program lol. The way I’m judging the correct scale is I have a plus sign shaped wall that goes from each side of the terrain, which I imported into unreal. The scale of the terrain in Blender units(?) is 33, the height map plane being slightly smaller at 32.85 to counteract uneven edges but not that big of a deal. From what I understand, if I’m using blender units in blender, I would need to move the decimal a couple spots in unreal, so 3.285, no dice. Sizing the terrain manually in the x,y to match the plus sign wall is 3.25-ish… how? Ignoring the difference in scale units from blender to unreal, how would it be 3.25 to be the same size, makes zero sense.

Albeit its close but not exact. My workflow being that I will model off the terrain in blender, meaning my assets will be scaled accordingly to it. If its not a perfect match then it wont line up in unreal. Than again I’m probably going about this all wrong.

Using metric in blender ie cm, km, m, theyre all 66. whatever in blender, which adds to the confusion of the x,y scale being 3.25 in unreal is basically correct scaleing. Capture.PNG

Edit: I re scaled the map to 1009x1009 and got the same result as I did with the 2k map, except I had to change the x,y scale to 6.6. So maybe it’s the wall that isn’t scaled right.

Edit edit: figured it out. Going off the meters in blender exactly worked. 65.71 from the height map = 6.571 x,y in unreal. As always helluvamesh, thank you. You should start doing tutorials if you arent already, you know you’re stuff. Boy do I have a lot to learn…

I can see i your picture that the dimensions of your model is 6 680cm, 6 672cm, 1 491cm.
So, the Z scale of the actor sould be 1 491 / 512 = 2.912. Or as I said before you can bake the heightmap with a scale of 51 200 cm and have the default actor scale in Unreal.

Recommended heightmap sizes: Landscape Technical Guide | Unreal Engine Documentation

BUT for such a small terrain (67 square meters) just use a static mesh.

Yeah that probably would of been the better choice. Was reading about tessellation and how the terrain can have the resolution be higher around the character, sorta like an LOD that follows you around I guess, idk I’m super ignorant when it comes to unreal but trying to change that! Wanted to try it out with this project, mainly because I assume these things are only possible with the terrain mode. Either way, knowledge is never a bad thing.