Trees can't be Nanite?

What Arkiras states makes sense - because the branches and leaves are scattered within the trees area it’s hard for nanite to reduce and you end up loosing the edges which because they are small, disappear.

I’ve just been turning off masking on existing low poly trees and they actually look pretty smooth fading off into the distance - but that’s probably because of the large areas that would normally be masked out.

1 Like

okay, yeah… that’s what I thought… because the polygons are too tiny and too many for the leaves.

When you say, you turned off masking. You mean, on trees that use transparency maps on the leaves? Or what masking are you referring too?

Thank you so much :grinning: :crazy_face: :smile:

yeah, the leaves - it made those areas quite thick - must be enough for nanite to optimize nicely…

Thanks! That does look good, I had a quick look in the source code but decided not to play with it until I learn a bit more about it - will be interesting to see how it affects performance…

When you say billboards for trees, are saying to make them completely static so they’re nanite compatible?

No, the billboards still have masking and subsurface shading so wouldn’t be nanite compatible (yet - there are versions of UE5 out there that support masking and WPO but they’re not very optimized, but shows it will be supported soon).

I was suggesting to use normal, non-nanite meshes for foliage and creating a good set of LODs that reduce the number of polys quickly as they go into the distance - then have a billboard LOD as the last LOD (I usually have them at about 0.2 ScreenSize).

Oh. Gotcha.

Appreciate the response.

1 Like

I worked with a recent version of UE5_Main, and WPO and masking actually seem to be very performant. I’ve gotten over a million masked instances running in real-time at a high frame rate, and WPO seems to be coming along nicely. I understand how the original version of Nanite works, but how they support WPO and masking to me just reads as absolute sorcery.

Also, just for a bit of Trivia, Nanite actually does use imposters-but so far in the distance that it’d be impossible to notice. :slight_smile:

That’s good to know - thanks. A million masked/WPO nanite objects sounds very nice! What hardware was that running on?

Yes, I noticed the imposter shaders when looking at the code :slight_smile:

1 Like

2070s, i7900. I had a fair bit of performance headroom with the foliage, WPO seemed to be a little heavy, but recent code optimizations that I haven’t pulled down yet may help.

I mean to say, masked and non-WPO cost essentially nothing, WPO seemed to have a slight effect on performance. No hitches or stutters either, very smooth.

2 Likes

By the way, good news: as of 11 hours ago, Nanite on UE5_main received an update, and while I’m skimming the notes, it looks like programmable raster (including WPO, PDO, and masked materials), just got a pretty fair performance boost. I’m excited to see the material set Nanite works with continue to grow, and make all of our lives easier.

Tiny wish for me though: support for some sort of procedural generation, although I believe Unreal just got support for wave-function collapse. If we could generate procedural foliage or something similar, and not need to store those millions of vertices on disk, I think it would make it much easier to scale to the kind of content UE5 ostensibly supports.

4 Likes

Downloading it now - it does sound very promising!

I agree - the more ways we can procedurally create the content the better.

2 Likes

Hello every one! love all your comments as I’ve been having the same issues. I work with VR and I’m stuck with UE 4 because of the vegetation (trees, folliage, grass, etc).

I have tried some of your solutions but still have a lower fps that can’t work well with VR.

Has anyone checked the new Nanite update that @jblackwell was talking about?

Can’t wait to jump to UE 5. Thanks.

Hello @Chachan,

I think I might be able to provide some good news.

Although development on Nanite appears to have slowed somewhat in recent days, I can say for a fact that support is still improved over when I last wrote. Without getting too technical, you’d be looking at perf. improvments and bug fixes, but by and large masking appears to be working well under most circumstances I’m testing. Deformation occasionally runs into some performance issues or bugs but still seems to hold up well, and certainly better than non-nanite.

Furthermore, if you’re going to be using any distance field lighting (not lumen, but perhaps DFAO), stochastic semi-transparency was just coded into the engine. Essentially, it lets you support translucency on distance fields to simulate thin and scattering geometry like foliage, which I have yet to test but the perf numbers look good.

1 Like

For us, the performance improvments are nice, but that’s not at all what’s preventing us from using this. The fact that leaf geometry dissapears at longer distances is what makes this unusable. They could increase the performance 1000x and it still wouldnt be usable without the ability to use your own imposters or something to prevent nanite from crushing leaf geometry. Im not saying we dont understand the challenge, its just one of those features that’s required for real gameplay implementation.

Have you seen any advance in this space?

1 Like

I have, but I wish I could explain exactly what’s happening to you and I currently cannot.

You can see the same issue in the matrix demo with some thin geo, it does get crushed. What’s strange is that it seems the way the mesh is constructed affects whether or not it does get crushed.

For example, UE4’s default bush asset. Alpha-masked geometry, I placed well over a million of them and there was no perceptible loss of detail, as well as for a few different trees, small plants, etc. But other assets, different pieces of foliage did suffer from visual crunch. It’s almost like the specific way the geometry is carded is affecting the behavior, but I’d need to do more work.

Disclaimer: The nanite pipeline was updated recently and I haven’t been able to test it yet, so there is a chance the problem was solved. But essentially, some nanite foliage will work excellently, and others will break the pipeline. Depending on the scope of your work you may be able to experiment with it, but I can also totally understand not making the switch at the moment. I’ll let you know what my results are, because there is a chance Nanite foliage may now just work.

Hi jblackwell. Thanks for your reply and tips.

I left UE% behind at the moment as I’m working in a new project. But I will come back to it soon and do more testing.

But I really hope this gets better soon.

1 Like

I still experience visual crunch on distant nanite leafes on 5.1 preview.
Any news on this?

1 Like

Enable the “Preserve Density” setting in the meshes Nanite settings

3 Likes