On the topic of creating complex plane geometry. Optimization, and other questions

Scroll for TLDR / quotable Q&A :slight_smile:

I noticed that sculpting complex mountains for example will dramatically drop the framerate of the game which is expected however I’d like to be able to model lots of hills and mountains by hand. I’m thinking about creating a plane and converting it into nanite if it’s possible? At least the complex ones like mountains would be a great idea, otherwise I might have to use a third party mountain generator or blender I think.

Even making indents in the road like a lot of horses and carriages passed by significantly drops the framerate and I managed to optimize my practice demo to about 70fps which is great considering i was jittering at 14fps before I started optimizing, but it would be even better to figure out how to optimize complex geometric planes. The mountains were deleted but I guarantee there were an insane amount of triangles.

If anyone has any advice, tutorials to follow I’d love to follow said advice. I’m having a blast learning about all sorts of things and I’d love to be able to create something vast like what you would see in a game like Skyrim or FF14 etc… But obviously at a smaller scale. Also, I can’t find any info about connecting plane vertices together either which is weird. So my planes end up looking broken at the edges.

I’ve been a software dev for over 20yrs and UE is like painting or gardening, it’s entirely different and when I play with it on weekends or at night it’s relaxing and something to look forward to. I feel like UE5 landscaping might even eventually become an art form in itself.

TL;DR:

  1. Is there a way to create complex geometry like mountains without worrying about massive framerate drops from within UE? ie: Convert plane to nanite?

  2. Can the foliage tool be used on objects to make life easier when using quixel assets like Nordic mountains?

  3. How do you connect planes together so you can sculpt them both together?

  4. Tutorials, advice, etc… If you have any :slight_smile:

Thank you! I hope this thread will also benefits a lot of people if there are answers

The landscape system is meant to be optimized so that the geometry off in the distance will have a lower polygon count and then it increases as it gets closer to the camera. Details like carriage tracks are too small to be sculpted and should instead be done using decals.
A lot of people don’t sculpt their landscapes within UE but instead use some kind of terrain generator tool to do that where you would then export out a heightmap to use with the landscape tool or generate a grid of heightmaps if it can’t all fit in one landscape.
For UE5 there’s Nanite but you would instead be using high resolution meshes that you would create in another program rather than dealing with the landscape system.

Ah okay thanks for letting me know! I’ll look into that direction then.

No.
You can maybe fake it with an image into the skysphere. There will be issues with it being noticeable in most 3d environments though.

Still, from a cost to barely any cost is about the only realistic reduction for far distance rendering.

Yea. It even works for painting blueprints if you want.
Can use it for pretty much anything.

And unlike using a HISMC the optimization and HLOd system of it is better/more aggressive.
At least it was. Not sure if they made any changes.

Of the landscape? Or of regular stuff?

Either way I theory the sculpting (for landscapes) works by changing the color of a PNG16 texture that is used to shift verticis Up or Down.
Ergo, simply placing the same 16bit color value at the same pixel would result in the same height.
You can extend the same principle to anything if you make the system yourself.

Unreal isn’t the right engine at all. Particularly not ue5 and not anything past maybe .22
(Be careful on that to as something around .22 had the landscape not returning the proper physical material on hit reaults).

You’ll be locked at a max of 60fps for 4k rendering with some of the best optimization possible even then.

“But why do you say that?”
Because the engine has literally become trash over the past year, with never to be addressed or even acknowledged performance drops on the rendering thread.

And, the best examples to offer is likely a current build of OuterWorlds.

Other engines on the other hand get to 80/120 fps no problem.
Cryengine being the best look to performance compromise for me, I can get the same scene to run 30% faster with the same dynamic aspects.
Unity follows close but is a bit more complex to deal with.

It’s unfortunate, but to be able to start today and actually ship out to sell you would have to either Not use unreal, or go to a version that works

:thinking: possibly an Nvidia branch at that point.
So people can use the raytracing stuff and it won’t be just a total mess.

Now, all that said.
You can still create very passable stuff and hope that you’ll be able to get to 60fps at 2k and thus close to 30fps for 4k on a 1080ti.

The problem with the details raising cost, is entierly dependant on the mesh.
You may be able to just Optimize the mesh with reduction algorithms and have lower cost than a landscape.

But when you get to far rendering the problem is identical. Landscape impostors are still 1 drawcall each.
So picking any tile size below 8km is bad for performance.

While picking 8km tiles is also bad for perforce as the LOD0 of those tiles is some 250m squared.
Causing really high density up close and making it hard to get a steady tris base count.
Which is why.
Never use landscape at all.

Bake down to meshes. Use meshes.

In fact, copy your persistent to somewhere else (another drive because each level is around 2GB).

And only open it when you need to bake the other levels to stream in…

Otherwise you open each tile level of world composition, delete the landscape and replace it with a static mesh.

Having a maximum of 3 Level LODs can make a difference in performance too.

Finally. The landscape mesh won’t be able to occlude at all.
You’ll always be sitting on an 8km tile or more that’s loaded up.
That’s a lot of waste.

You could try to partition it up into smaller sizes. But having to do that any time you change stuff is enough to drive you nuts.
(Haven’t seen anything automated for it. Perhaps building the landscape in Hudini could be a good answer here?)

#end of Dead seas scroll length response#

1 Like