I’ve been using Unreal Engine for a long time now but something I haven’t looked into is world building specifically with the landscape tool. While I’ve used it many times in the past I’ve only gotten mediocre results.
Now for our current project I’ve been designing / planning roads using Blender since we need the roads to be very accurate and high detail(it’s a driving game) but stumble upon the issue of now having to spend hours sculpting the landscape to match the road and the imagined landscape, I’ve tried using landscape spline tools for the roads but it still doesn’t meet our criteria and flexibility of creating the road in blender. The landscape also cannot be aligned to said road perfectly.
So now I’ve come the a roadblock. Do I choose to use landscape tool as the landscape for the world and have all the problems of not having enough accuracy. Or choose to make the whole landscape with static meshes.
The upside of static meshes is we can priorities detail in the places that matter and have less detail where it doesn’t. Static meshes also allow us to snap the geometry straight to my road and not having to spend hours trying to get the terrain to align with the road and buildings as well.
But I have some questions.
Firstly, texturing. Landscape tool allows for a lot of material layers but how would this be achieved with static meshes? Do I texture it in blender?
Secondly, physical materials. Landscape tool also allows for each material layer to have it’s own physical material. For static meshes this doesn’t seem to be an option as far as I know. There is a couple of channels for physical materials but this will also not satisfy our needs.
So is there any good way of getting around this? We don’t want to jump the development with a badly planned workflow that will haunt us in the future. We also don’t want to limit ourselves with what can be achieved. Landscape is good for scaling but bad for what we need, accuracy between Blender and Unreal. Static meshes has many things missing but would offer the accuracy from Blender.
I can provide more details and explanations if needed.
First of all I am not an expert, this is just what I’ve done.
I had a map of 15km x 15km and with landscape actors I had over 2000 draw calls, at a 2m resolution so the heightmap was around 7500px x 7500px (not exactly this number, it was the nearest one of the recommended map sizes for world partition. I think I had like 20 components per axis). Plus I couldn’t build HLODs.
Now I have cut the map into tiles of 3km x 3km static meshes and I have 300 draw calls.
Plus a huge tri reduction since you can customize the number of tris that you want for each tile since maybe you don’t need the same resolution for all of them. In my case I guess that a tile with landscape actors would be some millions of tris? As static meshes each has 30k tris and I can use LODs too but of course on the whole tile. Then you can just use the complex as simple collision which is also what landscape actors use (maybe a different algorithm but anyway it uses the mesh itself for collision).
I am having problems texturing tho. You can surely use a triplanar projection in a material and set that material for all tiles, or just use UVs and unwrap the tiles and then use a tiling texture that you can scale. You could use a different material per tile too. You can also use opacity/translucency masks and unwrap each tile to the part of the mask that would belong to it (I use this to mask biomes like forest/plains/rivers/etc) and assign them different texture sets. In my case some algorithms like procedural slope detect masks do not work well on the edges of the tiles and I have some weird shadow problems at some places of the edges too. I am currently trying to fix that and I was going to open a thread about it.
edit: you could also cover the seams with foliage for example.
edit2: I only see the shadow problem from a distant POV, if I am playing in first person I nearly don’t notice it (+ foliage will make it impossible to see). There’s still the matter of procedural masks not working that fine (like slope detection).
As for roads/rivers you can use a mask or in my case I just use splines and spawn ISM with the texture applied on them. I think it’s better to use splines for this because they can be occluded and you don’t need to use an extra sample for the mask.
I think I’m following your footsteps.
I’m working on a 32x32k terrain with tiled landscapes, or even one landscape on low res. But just couldn’t get HLODs to build properly. It’s not reliable at all so I’m considering different approaches. Did you get good results with just using meshes? Any other caveats you ran into? how do you handle faraway objects?
Thanks