Training Livestream - Getting Started with World Composition - May 16th - Live from Epic HQ

Hey all,

Excited to get a to show you guys how to work with World Composition and understanding UI as well as the high level of how World Composition functions. As always, when learning on your own, use all the resources at your disposal to gather the necessary information when using any piece of software. I know World Composition has been one of the more lightly documented features in the engine, and I will try to do my best to make it as easy as possible to understand.

What will be covered in this stream?

  • Understanding when/why to use World composition.
  • Importing a Tiled Heightmap from World Machine into UE4.
  • World Origin Rebasing (Shifting) to avoid the limitation of WORLD_MAX constant value hard-coded into the engine.
  • How World Composition handles level streaming and LOD distances.

I know multiplayer is going to get asked about, but that is an area I am not super familiar with at the moment. Some of the features for World Composition, i.e. World Origin Shifting, is not supported out of the box with multiplayer integration so you will need to implement a custom solution on your end. This is highlighted in the documentation for Big Worlds and Multiplayer.

See tomorrow! Rather you’ll see me.

Cheers,

Hello guys, sorry but I’m waaaay too new in UE4 and do not know how to make even a simple map yet…will this course be okay to me or is it going to be for advanced users?
Thanks in advance.

This stream will be a bit more advanced for someone who is BRAND new to UE4, but the concepts and tools will be addressed at a high level so you can still get some good information to help with your development. Especially if you plan to make large worlds or use landscapes at any point.

Looking forward to this. I’ve dabbled with it and run into a lot of issues so it will be good to see start to finish.

Also extremely relevant to the current project, thanks so much guys!

@AndrewHurley - Can we get some information on how to generate LOD proxies for levels?

[QUESTION]:
Can i build a world so large that it exceeds sky boundaries and can i center it on player location to prevent this from happening? (or maybe use another technique for the sky?)

See You tomorrow!

please cover the topic of terrain visual at high altitude (flight sims), and loading/unloading without noticing that from the user .

this is super super super important !!! at least for me :stuck_out_tongue:

Yes this is called ‘World Origin Rebasing/Shifting’

I plan on covering a little about LOD generation

That documentation is outdated as well. Experimental Multiplayer World Origin Shifting was added in 4.14 thanks to Nkey, for anyone that’s interested you can check out the thread on it Right Here

No idea how well it works with World Composition though.

Just use normal landscape and scale it a lot, Also you should probably scale down everything by fixed number(like 0.1) to get a lot more playable area (for multi) and better performance.

Just scale high res one, If you want to remove the smoothing then cross DDX and DDY into the normal on the material to get blocky look

It’s just a lot more manageable and nicer to work with even if you are the only one who work on the game.

Please don’t forget to talk about small details on the landscape and performance, Thx! :smiley:

BTW the UI for the world composition is broken AF, Especially the way that you change the streaming distance and reimport the heightmap\weightmap, Will it get better soon?..

OH! and also quick question, when I import tiled landscape, How can I center the map when I import it?
Because it’s always going from 0x 0y and up and you can’t import like -1x -1y and stuff so how can I tell the engine to start import from -4000000(half way) x and y?

Training Course: Landscape Wizardry 101 - Teacher: :wink:

Can you point out where that option is if you have InstaLOD/Simplygon installed? Thanks!

I really want to get into this kind of stuff, and I’ve got a question;

Is it possible for us to in some way, kind of stitch opposite sides of the world composition together? Kind of to simulate the feel of it being an endless world? I’ve always hated how in some games, the world just come either to a sudden end with invisible walls or a fall to your death or it’s just covered up by an infinite ocean… Is this something that would be very difficult to implement otherwise?

@AndrewHurley

Just checked the youtube and the hot mic “MF” is still there. Might want to cut that. :slight_smile:

Glad I could be your local wizard!

Hi guys, thanks for so comprehensible introduction to World Composition. Good work, and .

I am a little bit late to party, but we have a question considering transition or big map to world composition.
Does tile levels support level streaming on their own?
Now we have a big map composed of multiple sublevels which hold different arts of the world. One for landscape and other for buildings, rocks, mission gameplay objects etc. When level is loaded all that sublevels are loaded on top of one another - we did such division mostly to help designers work on their parts independently and minimize load on source control system.
So if we will move to tiled landscape, can we split our sublevels to tiles and assign them as sublevels of tilemaps, or we will need to to have them global.
As I know now sublevels of sublevels does not work in UE (or are not supported by Editor)

Also does World Composition can work with level streaming?

Thanks, hope to see your answers.

Archive is now up :smiley:

nice quality

Can we discuss the performance of levels vs components per landscape?

I have a 16384x8192 res digital elevation model, and am wondering about it will perform in different senarios, and what the hit for level streaming is vs levels with a larger number of components.

For instance, with this model, I could have two 8192x8192 vert levels, or I could further subdivide that so that I could have a number of say, 16 1008x1008 vert levels.

I’m guessing that having less components per level would help performance at smaller scales (what would generally be reasonable for a game engine), as there are less draw calls, but mean that there are more places where level loading has to happen… (unless I’ve missunderstood how level streaming works), but if we wanted to view the whole landscape (which we do for my usecase), our performance would get worse as we got further in?

Does this sound right?