Genuinely incredible tutorial. I don't think I've come across any tutorials as comprehensive and clear as yours. So many skip over details or just hack weird solutions, but this is fantastic!
when using the complex collision always make sure you apply the complex collision mesh asset to the asset you are using it makes the collision alot more smoother and more realistic
Really don't understand how Epic has not implemented some kind of simple version of 3D landscaping already. I swear there are 10 year old games with world editing that have essentially figured out how to do this sort of thing. Could they not have some sort of interpolated voxel sculptor?
Tip for building your cave: turn off Landscape and InstancedFoliageActor. You will now be able to see your cave and work on it without the landscape and rocks getting in the way. You will also need to turn them back on periodically to make sure you do not have those one-sided assets poking through your mountain. I've come up with a few creative ways to cover those rather than removing them.
Thanks for the tip. I added to that by creating a very long cylinder that I started at my initial entrance point, then angled to come out where I wanted the second entrance to come out.
Great episode as usual, thank you! I've two questions: - Starting from an open world level, which key factors would you consider to decide when it is better to have a cave on the same level or when it is better to have it by itself in a separate level? - I see you use very often "Use complex collision as simple" on big nanite meshes: doesn't it lead to performance issues? Thank you again, ciao!
The major factor in deciding on the first question (for an open world level) is, is it essential for the player to have a seamless experience in moving from outside to inside? The other factor is, do you need to use landscape water bodies (like a river or a lake) UNDER the ground? Then I would actually try to do it on a separate level. Because for now, you can't use UE5 water without a landscape. And (to the best of my knowledge) you can't have two landscapes stacked on top of one another to get water under the ground. However, in 2 episodes I go over how we're going to handle this (underground water) in the game we're making. So there is a semi-viable alternative, but for standing water, less so for rivers, I think. for rivers I think you would have to do it the old fashioned way before UE5 water rivers. Just some things to consider.
Regarding the 'Use Complex Collision As simple" - yes, you're right. I'm not sure how rough the performance is (I haven't noticed any series problems), but yes it's a shortcut non-performant solution. I think it's not quite as bad an issue on these giant meshes, because the complex collision isn't quite as complex as say a nanite smaller asset. But this is just a hunch on my part. If have you recommendations on the best way to handle this for these meshes, I would totally be open to that. Most likely will do a follow-up optimization episode at some point in the future.
@@NumenBrothers Thank you for your replays. About collision on big nanite meshes on which you need to walk: Usually I always try to have Unreal creating the collision by itself, but manually settings the "Hull Count" to a very high number, like 40 or 60: the result may vary from great to awful depending on the mesh, but often is quite good, so I think it always deserve a try 🙂 Increasing the "Max Hull Verts" doesn't improve the result on my experience and I usually leave it at the default value of 16.
Hi Numen Thanks for the tuts, just have 1 question, why when I paint a hole in the landscape it changes the colour of the landscape for that grid e.g. makes it white.
Great landscape masking idea and the whole foliage painting for the ceiling, pretty smart. I just wonder about the performance by using a masked material like that and also if the landscape culls the cave ceiling, but it seems ok so far.
Due to the non-standard usage of "foliage", does this potentially cause issues with optimizations like occlusion culling? For instance, will Unreal realize that the landscape is completely occluding the foliage and cull it above ground, or will it assume the landscape can't occlude the foliage and always render all of those rocks even when you're above ground?
If something is occluded I do not believe it is rendered. But good to test if, for example, you're surrounded by foliage outside of a cave, and your FPS is low, and then you enter the cave and turn a corner, and see if your FPS is higher.
This is where ya lost me (not literally lol) you make it look so easy. But when i carve the cave entrance with the visibility landscape mode, the water is like right there.
I've been watching through this mostly as a refresher for me, and for the most part it's good, but there's a lot of weird decisions that don't make sense to me. Why change the collision to complex instead of regenerating the simple collision?
@@NumenBrothers afaik the collision mesh has always been separate to the rendered mesh, and nanite doesn't change this, it just uses the fallback mesh to calculate collisions. I don't think you'll be seeing issues yet but it's the sort of thing that adds up if you get too comfortable using it
I WONDER! People who create tutorials don't know or they hide that the fact that from the moment you use the Visibility node in your landscape material, you INSTANTLY LOOSE +20fps from your project? If you want caves, DONT use the visibility node. Sink the landscape and cover the top with rocks.
Generally speaking, once you add any sort of transparency or mask to a material, it becomes more expensive (transparency more so than masks) since the engine has to do extra passes and math to account for things behind it. Even if you have a completely solid texture, once you tell the material that there's a _possibility_ part of it could be transparent, there are a lot more things it has to account for. If it's just a tiny one-off object, not so much of an issue, but for something that covers the majority of the screen like a landscape, having to do a transparency/mask pass across the whole screen means you're basically rendering the whole screen at least twice. That said, I'm just an external engineer that hasn't worked on Unreal before, so this is purely from a theoretical perspective. I doubt Epic would provide such a catastrophic footgun like that without any mitigations in place. If you look at doing this in an older build of Unreal with a less ...refined... Landscape editing tool like th-cam.com/video/1jKLYxPBszQ/w-d-xo.htmlsi=BF_ZT2aewuF07FRe&t=49, it seems the landscape is partitioned and I would guess that Unreal is only using the maskable material on a tiny fraction of the landscape while treating the rest as completely opaque. Performance loss would be negligible and nowhere near 20 FPS. Maybe there could be other things, like culling not working properly due to the interesting use of foliage I asked about in my other comment, but highly suspect the commenter above is just making general assumptions about performance without having profiled this specific case.
Great tutorial. If anyone else is trying to build larger caverns, pro tip: add a second, smaller landscape
Genuinely incredible tutorial. I don't think I've come across any tutorials as comprehensive and clear as yours. So many skip over details or just hack weird solutions, but this is fantastic!
This is exactly the tutorial I've been searching for and it was explained perfectly. Thanks so much for all you do!!!
thank you. didn't know this was even possible with regular terrain
when using the complex collision always make sure you apply the complex collision mesh asset to the asset you are using it makes the collision alot more smoother and more realistic
I don't see complex collision
Very nice workaround, pretty inventive strategy for making a cave.
Really don't understand how Epic has not implemented some kind of simple version of 3D landscaping already. I swear there are 10 year old games with world editing that have essentially figured out how to do this sort of thing. Could they not have some sort of interpolated voxel sculptor?
Tip for building your cave: turn off Landscape and InstancedFoliageActor. You will now be able to see your cave and work on it without the landscape and rocks getting in the way. You will also need to turn them back on periodically to make sure you do not have those one-sided assets poking through your mountain. I've come up with a few creative ways to cover those rather than removing them.
Thanks for the tip. I added to that by creating a very long cylinder that I started at my initial entrance point, then angled to come out where I wanted the second entrance to come out.
Ceiling trick blows my mind!! ;O just genius!! thx :)
Great episode as usual Neal... I learned a lot on this one! Thanks
Great episode as usual, thank you!
I've two questions:
- Starting from an open world level, which key factors would you consider to decide when it is better to have a cave on the same level or when it is better to have it by itself in a separate level?
- I see you use very often "Use complex collision as simple" on big nanite meshes: doesn't it lead to performance issues?
Thank you again, ciao!
The major factor in deciding on the first question (for an open world level) is, is it essential for the player to have a seamless experience in moving from outside to inside? The other factor is, do you need to use landscape water bodies (like a river or a lake) UNDER the ground? Then I would actually try to do it on a separate level. Because for now, you can't use UE5 water without a landscape. And (to the best of my knowledge) you can't have two landscapes stacked on top of one another to get water under the ground. However, in 2 episodes I go over how we're going to handle this (underground water) in the game we're making. So there is a semi-viable alternative, but for standing water, less so for rivers, I think. for rivers I think you would have to do it the old fashioned way before UE5 water rivers. Just some things to consider.
Regarding the 'Use Complex Collision As simple" - yes, you're right. I'm not sure how rough the performance is (I haven't noticed any series problems), but yes it's a shortcut non-performant solution. I think it's not quite as bad an issue on these giant meshes, because the complex collision isn't quite as complex as say a nanite smaller asset. But this is just a hunch on my part. If have you recommendations on the best way to handle this for these meshes, I would totally be open to that. Most likely will do a follow-up optimization episode at some point in the future.
@@NumenBrothers Thank you for your replays.
About collision on big nanite meshes on which you need to walk:
Usually I always try to have Unreal creating the collision by itself, but manually settings the "Hull Count" to a very high number, like 40 or 60: the result may vary from great to awful depending on the mesh, but often is quite good, so I think it always deserve a try 🙂
Increasing the "Max Hull Verts" doesn't improve the result on my experience and I usually leave it at the default value of 16.
Hi Numen
Thanks for the tuts, just have 1 question, why when I paint a hole in the landscape it changes the colour of the landscape for that grid e.g. makes it white.
You are a BOSS!
Great landscape masking idea and the whole foliage painting for the ceiling, pretty smart. I just wonder about the performance by using a masked material like that and also if the landscape culls the cave ceiling, but it seems ok so far.
Due to the non-standard usage of "foliage", does this potentially cause issues with optimizations like occlusion culling? For instance, will Unreal realize that the landscape is completely occluding the foliage and cull it above ground, or will it assume the landscape can't occlude the foliage and always render all of those rocks even when you're above ground?
If something is occluded I do not believe it is rendered. But good to test if, for example, you're surrounded by foliage outside of a cave, and your FPS is low, and then you enter the cave and turn a corner, and see if your FPS is higher.
This is where ya lost me (not literally lol) you make it look so easy. But when i carve the cave entrance with the visibility landscape mode, the water is like right there.
yeah the waterbodies tend to go inland quite a bit. Have to make the cave far enough from the coast such that the water doesn't 'flood' the cave.
@NumenBrothers would be a cool effect if we can make it work but thanks for the reply, thought I did something wrong to the heightmap or something
king
I've been watching through this mostly as a refresher for me, and for the most part it's good, but there's a lot of weird decisions that don't make sense to me. Why change the collision to complex instead of regenerating the simple collision?
post-nanite there doesn't seem to be a performance decrease in using complex collision as simple.
@@NumenBrothers afaik the collision mesh has always been separate to the rendered mesh, and nanite doesn't change this, it just uses the fallback mesh to calculate collisions.
I don't think you'll be seeing issues yet but it's the sort of thing that adds up if you get too comfortable using it
thank you for teach
Why is there an eraser in your software? In my software there is no eraser icon, pls help
when u hold alt And move with meshes they Will copy 😊
Ctrl +C copy and Ctrl + V paste is now a running joke ;)
hey is any chance i can use it on Ultra Dynamic Sky?
sure- works with any directional light
@@NumenBrothers i test it and sadly i cant do better im new in unreal sadly with out lumen dont work :(
Thanks that helps 😃😃😃😃😃😃😃😃😃😃😃 Ii 😃☺️😃☺️😃😃😃😃☺️☺️
I WONDER! People who create tutorials don't know or they hide that the fact that from the moment you use the Visibility node in your landscape material, you INSTANTLY LOOSE +20fps from your project?
If you want caves, DONT use the visibility node. Sink the landscape and cover the top with rocks.
Can you elaborate on what is causing the performance loss?
Generally speaking, once you add any sort of transparency or mask to a material, it becomes more expensive (transparency more so than masks) since the engine has to do extra passes and math to account for things behind it. Even if you have a completely solid texture, once you tell the material that there's a _possibility_ part of it could be transparent, there are a lot more things it has to account for. If it's just a tiny one-off object, not so much of an issue, but for something that covers the majority of the screen like a landscape, having to do a transparency/mask pass across the whole screen means you're basically rendering the whole screen at least twice. That said, I'm just an external engineer that hasn't worked on Unreal before, so this is purely from a theoretical perspective. I doubt Epic would provide such a catastrophic footgun like that without any mitigations in place. If you look at doing this in an older build of Unreal with a less ...refined... Landscape editing tool like th-cam.com/video/1jKLYxPBszQ/w-d-xo.htmlsi=BF_ZT2aewuF07FRe&t=49, it seems the landscape is partitioned and I would guess that Unreal is only using the maskable material on a tiny fraction of the landscape while treating the rest as completely opaque. Performance loss would be negligible and nowhere near 20 FPS. Maybe there could be other things, like culling not working properly due to the interesting use of foliage I asked about in my other comment, but highly suspect the commenter above is just making general assumptions about performance without having profiled this specific case.