Regarding the issue of local spatial terrain elevation

I want to create some medium-sized maps. On the generator device, I used the local space. When I exported the terrain height map, what should be the actual world elevation corresponding to its maximum gray value of 1?

1 Like

I’m not sure I understand your question correctly, so please elaborate if I missed the point.

When exporting a heightmap, no height in meters is provided. Just a value somewhere from 0 to 1, for each pixel. It is in that sense “scale agnostic”. It depends on the software you import your heightmap into, how high that 1 will be (same for the 0 btw). 1 just means max heigth, 0 minium height.

1 Like

I Know. For instance, by default, WC uses the WorldSpace(Inherited) data type. When exporting the height map, I mean the grayscale value of 1 in the height map represents the proportion of the project elevation scale, such as 2.265km.
However, if I use LocalSpace to create the entire terrain and export it for use in other software, the maximum grayscale value of 1 in the height map seems to have no a real size. Therefore, I cannot accurately convert the elevation in other software(UE5 or Unity).

1 Like

LocalSpace use same height as WorldSpace :thinking:

It’s not exactly like that. You can give it a try.

1 Like

Firstly: Why are you creating your terrain in localspace? Doing so introduces a number of challenges for no obvious advantage.

The issues with building in localspace are:

  1. Circumvents the direct control of common space and resolution that the Scenes/Render Extents dialog gives you, requiring you to, for example, set the correct aspect ratio on each local generator.

  2. Disallows you from creating multiple scenes for different views of the same terrain (for example, a zoomed in area)

  3. Incompatible with a tiled build (may or may not be applicable)

Localspace is intended mostly for creating ‘terrain objects’ or other assets that will then be instanced into the scene, rather than being the scene itself.

With that all said. As the others have mentioned, the elevation scaling is the same for all scenes and also localspace.

So for example, to output a maximum value of 1.0 in the resulting file, create a Constant Height device, slide the scale all the way to the right. The value displayed will be the max world elevation set in the project settings. When you export that device, it will have the maximum white value possible.

2 Likes

In my first question, I mentioned that I wanted to try creating a small terrain, say 1 kilometer by 1 kilometer, or even smaller. However, WC seems not to be very good at creating small maps. I used LocalSpace in the generator device and found that setting the parameters this way allowed for better control. That’s all. I had no choice but to do it this way.

1 Like

If using LocalSpace, the Max elevation displayed within WC is consistent with the project settings. However, if exported to other software or game engines, it will be noticed that the grayscale values of the topographic height map:0~1≠ 0 km ~ Max Project elevaton.

1 Like

This is not WorldCreator forum, yooo
Try to use WorldMachine instead :thinking:

could you provide WM project file or so?
Personally me did use WM for very little maps - 250x250 and 500x500 pixels max - it was comfortable. I’m wonder what you trying to achieve and what little WorldSpace size not allow you to do. Maybe you have some problems in ProjectSettings, or i dont know :thinking:

This was sculpted by me in 256 pixels resolution:

2 Likes

It’s not the resolution of the Hight map, but the real size of the map. I mainly apply it in game engines, and this is particularly sensitive in terms of application. Of course, the terrain can be uniformly scaled, which ensures the silhouette shape of the terrain, but the actual sizes of the elevation, rivers, and roads will be changed.
It’s not that it can’t be done. If using a generator to create small terrains, the parameters are difficult to control and it’s not easy to preview. Like this:

1 Like

LocalSpace is not 1km x 1km, LocalSpace is 8km x 8km - and thats difference that you refer too
Just make your WorldSpace same 8km x 8km to have size similar to LocalSpace

1 Like

Oh my god, you didn’t get my point. What we’re discussing here is about small terrains. For large terrains, just do it normally.

1 Like

nononono

you not understand me
on screenshots you made mistake - you think that your LocalSpace is 1km. Thats wrong. Your localspace is 8km. And that why you think that work in LocalSpace is more comfortable

May be you should to read WM docs about SpatialTypes: Localspace – World Machine Help

3 Likes

If I’m understanding the issue you’re facing correctly, I think @Tomatiy has the right of it. If I’m understanding, you’re frustrated because, when working in local space, when you export your terrain and import it into an engine, the vertical scale seems off compared to what you see in World Machine, yes? I would guess that the peaks are too high, the valleys too low?

If that’s correct, it will be because, as Tomatiy has said, the local space terrain is not respecting the dimensions of your project. For the “Width” and “Breadth” parameters, you will notice that they are under the heading “World Dimensions”. When you are working in local space, you are not working in the world dimensions, it does not respect the settings placed there. The terrain you are working on appears larger and more comfortable to work with because it is physically larger. I cannot confirm that it is 8km x 8km, but it is certainly larger than 1km x 1km, regardless of the World Dimensions settings.

The issue in-engine is arising because you are squashing a large terrain into a smaller area, which will effectively raise the contrast, leading to a scale that looks off. While the peaks and valleys will be at the same absolute value in-engine, because there is a shorter gradient between them, they appear steeper. The easiest way to correct this without rebuilding would be to vertically scale the terrain until it looks correct. But ultimately, the source of the issue is a flawed workflow.

One big thing to remember is that the “Feature Scale” in the generator devices does not need to match the World Dimensions, you can scale them to a size that represents the detail level you are looking for. Another thing to remember, just going off the note of “The primitive terrain doesn’t seem real”, you will almost never get a realistic terrain straight out of a generator device. Getting a realistic terrain will be the result of taking that noise and forming it into something that looks realistic, via erosion and other methods. In fact, those unrealistic, noisy terrains often lead to more realistic terrains than noise patterns where you’re starting with the large scale details you’re looking for, as there’s more detail to inform the filters down the chain.

3 Likes

That manual page has all essential details that you’re missing here @Perceptive_TT

In local space, the default scale is always the default WM factory setting for scale. Attaching screenshot:

If you want that “Local Space ease of use in World Space”, just set your project to these settings.

That said, what game engine are you importing said terrain into? Does it have any public documentation for landscape scaling?

2 Likes

I have figured out the reason. I really shouldn’t have used LocalSpace to create the entire terrain. Thank you all for your explanations.

6 Likes