My terrain is large - what is the world machine export process?

It is basically the same, only limitation with one file import is there is a limit for heightmap resolution (about 8x8k is think). With tiled import you don’t have resolution limits because you import heightmap in chunks.

When you move parts of the landscape into another sub-level, it will depend on streaming method for that sub-level. There two kinds of streaming methods: “Always Loaded” and “Blueprint”.
With “Always Loaded” method sub-level is always loaded and visible.
With “Blueprint” method sub-level visibility can be controlled with “Streaming volumes” or by blueprint scripts.

Well you will need to disable tiled build, since tiled import is broken right now.

so 15x15km with 4033 resolution will give you XY scale = 1500000/4033 = 371.9
But 4013 resolution is quite low for this size, basically you will have only 3.7 meter resolution.

I have worked out the following -

XY is 15km * 15km (or 1,500 000 cm)
Height - 2625m (or 262 500 cm)

XY Scale = 1,500 000 / 2017 = 743.6787307992955
Z Scale = 262500 / 65535 * 128 = 512.7031357289998

I take it that means Beside “Landscape Scale” I ought to have :

x = 743.6787307992955
y = 743.6787307992955
z = 512.7031357289998

That sound about right?

EDIT : Just saw your post above - 4033 is low?

Regarding resolutions, 4033 is the highest that the engine allows according to the documentation I read lastnight.
The world composition guide says to use a tile resolution of 2017 - Am I basing this calculation off of the main resolution or the tiled resolution?

yeah, that should work.

Should I change out the 2017 for something higher?

Is 2017 okay? Should it be higher? I don’t want to go and manually cut this up with the move tool only to find out that it will look terrible at the end of it all… :stuck_out_tongue:

I don’t know if you found a solution for this or what. But I thought I would chime in with my experience of the process.

First of all, scale.

A landscape at 100% on the Z axis has a total range of 512meters. 25700.0 to -25500. 1 unit is 1cm.
Knowing this makes everything a lot simpler.
Its also worth baring in mind that landscape is created 10 meters above zero on the Z axis. For whatever reason.

Using the default maximum elevation in WM is just going to make maths awkward. You are just making more work for yourself.
Say you set the maximum elevation in WM to 2048, that would make your terrain 2048 meters tall on the Z axis. So in unreal, this is simply 400%.
If say you wanted a landscape with a maximum elevation of 5km, you could set your maximum elevation in WM to 5120. Then when importing to UE4, you would use 1000% vertical scale.
It’s as simple as that.

As for the X and Y axis. I find its perfectly ok to leave these at 100%, 200%, 400% or whatever. A scale of “743.6787307992955” to me is just nonsensical.
A landscape size of 505x505, is… 504 meters square. Near as dammit to being 1meter per pixel.
So. If you want a terrain of 8km in a single file you would create a terrain in WM with a resolution of 8129x8129. Then a width and height of 8.192km
As you can see here… The detail scale will be 1m per pixel

For tiled worlds. You do pretty much the same thing. Keeping in mind the resolution to meters ratio.

If say you wanted a terrain of about 40kmx40km. I would divide that number by the size of the terrain tile you want to use.
The smaller the terrain tile the less intensive level streaming will be. Think of it this way. If every time you move, the world needs to stream in a 2kmx2km landscape cluttered with objects, its gonna be more hard work than loading say a 505x505 or 1027x107 landscape. I personally find that a world comprising of half kilometre tiles is perfect. Skyrim, (as a point of reference) uses tiles that are roughly 50meters square.

So… a 40km landscape comprising of tiles that are 505x505. I would do a sum of 505 x 80 = 40400. Or 40.4km.


80 by 80 tiles at 505/4 meters each.

I’ve seen quite a few people going on about multiplying your elevation by whatever number, but its completely illogical and you’re just making more work for yourself. The only reason I can see for people doing this math is that they are using the default projects maximum elevation in WM. Change it, make it a multiple of 512. It will make everything a lot easier. There is literally no downside to doing so.

As a rule of thumb, keep your terrain in WM a multiple of 512meters. Then, do the same for your water level. If you have a maximum elevation of 2048 meters, and you set your water level to 512 meters. This would make it super easy in UE4.
Your terrain goes 1024meters above and below zero on the Z axis. So your water plane will need to be at -512meters. And of course… Because all terrain in UE4 is created at +10meters, you need to add 10 meters to the level of your water plane. So, -502 meters, or -50200 units.

I really hope this helps you and others with creating landscape. I also hope it clears up any confusion about scale.

Cheers all!

You are brilliant, answers pretty much every question I had about this!

The whole process of integrating world machine and UE4 could do with a streamlining imo.

Yeah, its something I would love to see as a world machine script - “Export to Unreal” - Which would send it to a file that is readable by the editor as a file which represents the various tiles in one file, that could be cool I guess. I guess since now the engine is free, its upto us all to do that ourselves, as a community?

Why? I think the current process is VERY straight forward.

Just read this thread because it was quite close to what I came here to ask and I got a few answers. I’m not going to post any questions before I try it out to see how it works in practice but there’s a really, really noob question I have about it that is quite general, as it’s not about UE4 or WM specifically. And that’s about the details ingame.

Reading through Mordynak’s example that was really informative, I see in the last screenshot from WM that Detail Scale: 1000 meters/pixel. I’m not quite sure I understand that correctly but the way I see it that’d be pretty horrible when trying to make a game. What am I missing here?

I’m going to try it out tonight probably and if it works, it works no questions asked but even academically I’d like to know how that stuff works.

Thats 1.000 meters per pixel. One meter. not a thousand! haha

Allright… I’m stupid :smiley:

15000 The size of the world / 2017 reselution * 100 alwayse there, so
15000 / 2017 743.6787307882995 . I would shorting it a bit so 743.6787
I recomend you export it in 4033 and not tiled
Then you wuold get 371.93156 you will get a bitt better res