Unreal Engine 5.3 - 30kmx30km Tutorial - Open World Landscape Tutorial
Вставка
- Опубліковано 2 бер 2024
- This video demonstrates setting up a large open world landscape for Unreal Engine 5.3 using world partition. This includes avoiding bugs, doing calculations and importing heightmaps. As well as a short demo of the landscape. I use Ultra Dynamic Sky for the quick and amazing lighting setup!
Scale Up Method Calculations:
X,Y Axis: (Desired KM x 100 / HM Res)
30km Calculation Example using 16321x16321:
30,000 x 100 / 16321 = 183.8122664052448
Z Axis: (Height x 100 / 512) or (Height x 100 x 0.001953125)
5000 x 100 x 0.001953125 = 976.5625
or
5000 x 100 / 512 = 976.5625
Links:
Tecastus Channel (dev logs for Zarthia coming soon): @tecastus
Tecastus Public Discord: / discord
You sir are a legend! I've been fighting my way through all possible resolutions, sizes, scales, options, plugins, everything, and couldn't get past 32 fps. Creating the landscape first, then importing the heightfield solved the issue completely, now hitting a solid 120 FPS, with materials applied, not a single hitch or drop in fps!
Running on UE 5.4 (which also has the same issue as previous versions).
Many thanks for the video!
Thank you!
You're welcome
ive always loved unreal engine and watching tutorials never had the brain capacity to actually learn it.
Ty
Great tutorial....can you please share the height map ?
Thanks! Im afraid i cant share this file as its from a personal game project.
👍@@mootzartdev
2:40 the res it perfect actually. Once you apply auto material, displacement, and the rest of it.
I agree. Although this is actually the more realistic limit we can get away with at the moment i guess haha
is there any difference importing the heightmap after creating landscape first?
Yes. Currently in 5.3 there are lots of import bugs. It might be fine importing from file directly. But it tends to come with lots of VRAM issues. This is likely due to World Partition having to stitch the map together before it creates the proxies.
Great tutorial. How does this work with landscape tessellation? A key feature with UE5.3 (further established in the upcoming UE5.4) is applying material tessellation directly on to landscapes, but considering you are literally scaling up the landscape proxies, wouldn't this mess with materials and potentially break the potential for landscape tessellation? For instance, if I wanted to use this method to make some ridiculously large sized open world (think the map from Ubisoft's The Crew), would I still be able to utilize landscape tessellation/nanite for all that extra detail?
In theory it shouldn't matter. Displacement should be relative to how the material is tiled. Not the size of the 'object' it is on top of. But I will have to try it and see. I have a few videos to do first.
Enabling landscape nanite is limited to slightly over 8 Sq kilometers. Anything higher crashes unreal engine. And it will use every bit of 128gbs of system ram just to turn an 8 Sq kilometer map into nanite. Plus nanite displacement is not compatible with large landscapes in 5.3, fingers crossed with 5.4 it will work with larger landscapes.
@@michaelhampton645 Oh wow thanks for the update! I agree, hopefully it receives more support in the future. I'm inclined to say it probably will considering how all out they are pursing nanite
@@michaelhampton645 Spot on. This is why im kinda waiting for full 5.4 before doing more in depth tutorials on these subjects.
@@michaelhampton6455.4 is out any tests done?
@mootzartdev one question .about my pc.
ryz 5 5600x with 16gb 3600mhz and rtx 3060.
these softwares runs but will i be able to make large landscapes with my pc
I would say it is certainly possible. But you would have to be very strict with yourself with the amount of things you do at once. For example, I would not recommend having the entire landscape loaded at once for certain size environments. As this is the type of thing that will currently max our your gpu and cause crashes.
@@mootzartdev i was currently doing this tutorial. It said out of memory🥲.
@@mootzartdev ok ill try a different approch.
Btw you can also just paste the entire calculation into the ue field and it will calculate it as well
Thank you for sharing. I was aware of that. But I prefer to give others the ability to understand what they are doing.
how did you get the image of you're height map to be 16k? were you using Gaea?
Indeed. I exported a Gaea height map at 16k. Then simply changed its scale inside of G.I.M.P (or can use Photoshop) to 16321x16321. But you can use lower resolution heightmaps if you want to. But might not get the detail you want if you are scaling up to very extreme scales. And of course the import settings may require some adjustments to what is shown here.
how do we handle spawning and despawning npcs, AIs and other game objects in this setup? thx
Well this is purely a method for setting up a large landscape. NPC and AI is a entire new area really. I would check out some other channels currently as i do not really have a plan for those types of videos at the moment sadly.
But its worth noting that NPC/AI related stuff is a very large topic. Depending on what you want them to do of course.
There are lots of 'systems' on the Epic Marketplace though that might be of help to get you going, and you can perhaps learn from them.
A quick google search shows this system as a example that is currently on offer.
www.unrealengine.com/marketplace/en-US/product/ai-behavior-system?sessionInvalidated=true
when i try to to change number of components it keeps going back to maximum resolution which is 8k
Nice, what kind of graphics card, CPU and RAM do you have?
I have a RTX 4090, 128gb RAM and a very high spec cpu. So it does make things a lot easier for me at the moment.
currently anything over 4000 resolution causes gpu crashes bug on asus rog ally z1 extreme. would love to start developing my game
good upload thanks for the tips!
Yeah for large environments with high res, you generally have to do it in chunks or have a machine that can handle it Vram and ram wise.
wouldn't changing the scale value after generating the landscape be less impactful on the computing?
Yes it could be. It would depend on what your PC can handle
How to get a Heightmap?? is there a way to get the one you used? (where can i create my own?)
The one i used is from a personal project that i cant share im afraid. I used Gaea to make my heightmap. Perhaps i should make a tutorial on it. There are not many very good free options out there really.
@@mootzartdev hm okay sad haha, well thanks for the answer. Yeah a Tutorial on it would be very cool!
Generate one using perlin noise algorithms
hello suggest me system req for unreal game I'm so much confused when choosing hardware please.
Can you show us how to texture the map?
Sure! I can work on a video for that. It can be very complex.. or very simple. Depending on what we would want to achieve.
@@mootzartdev waiting
Hello, may I ask if there is any difference between your four "Open World Tutorials"? I have read your first one and I didn't quite understand it. Sorry
Hey! I only have one technically which is this one targeting a more 'complex' setup. The others are more specific to different elements of the process.
@@mootzartdev Hello, at 21:07 in the video, I noticed the Landscape Region, a unique world partitioning feature specific to UE5.3.
I'd like to ask about the role of the Landscape Region. Why are there four proxies, and I didn't see you setting them up?
@@yujack5910 ua-cam.com/video/O_NrrXCjBtk/v-deo.html This video i sort of explain them with how i think they are intended to be used. Basically they are for general loading and unloading. But some comments suggest they can be used in different ways.
How many RAM do you have? and VGA? my computer crashes no matter what I do..:(
Hey. I have a beast of a machine really. 128GB RAM + RTX 4090 with 24GB VRAM. The hard truth is that large open worlds are not easily possible on lightweight machines.
Could you do a tutorial on how to optimize big maps?@@mootzartdev
@@mootzartdevJak 2 ran on the potato ps2 and had a huge map, it’s about optimizations dawg u don’t need 128 GB of ram
@@abex15 hahaha i don't think you understand mate. This is regards to importing a 16321 resolution heightmap in unreal engine 5. Not running it when it's optimised. For starters Jak 2 map mostly consisted of meshes and extremely low resolution terrains. It's a totally different thing all together. Check the documentation for Unreal Engine or attempt this yourself and see for yourself.
@@mootzartdev I know, that’s the point, low resolution terrains, you said “large open worlds” not large resolution so this is just ur ego talking lol, if ur landscape is mostly flat u can get away with low res
Show how you do HLODS for the world. Jacking up the loading range is not a way to deal with disappearing landscape past the WP range
No point in 5.3. I'll wait till 5.4.
@@mootzartdevHow will that issue be resolved in 5.4?
@@sifudarryl I can't even say for certain it will be resolved. There are lots of bugs with 5.3 and we can only hope they are fully fixed in 5.4.
To have the landscape always loaded, you can de-select the Spacial Loaded checkbox in the Landscape details panel.
Making sure the landscape proxies are not set to spatially load is 1 way to stop the disappearing landscapes, but if you're having the actual bug where landscapes disappear then make sure the level is saved and there is a setting asking if this is the main world and make sure it's checked or set to main world. It took me months to find a solution for this bug.