Landscape Grass - Nanite

Hey there,
meshes which have nanite activated are not showing up as landscape grass…

Hopefully it´s a bug and not forgotten to mention in the documentation ^^

3 Likes

Bumping this, because i just realized as well.
While we can place meshes manually, this would absolutely simplify our workflow using nanite, and i do not really see any reason why this does not exist.

2 Likes

Bumping again, this is a pretty huge oversight. Technically Procedural Foliage Volumes work but that’s significantly slower for large amounts of meshes.

1 Like

Hasn’t Been fixed yet. D=, hopefully they will notice soon.

1 Like

Continuing the discussion from Landscape Grass - Nanite:

Just wanted to check in and give the team a reminder in case they’ve forgotten. The auto-gen is pretty crucial for landscape projects. Meshes do not generate if chosen as a landscape grass type when Nanite is turned on. They can be fully static, opaque and will still not generate. It would be amazing if you guys could look into this :slight_smile:

2 Likes

Just ran into this problem today :frowning: Hopefully it’s fixed soon. Might give the volumes or foliage tool a go in the meantime.

1 Like

Just ran into it as well. Really hoping a fix for this is made.

1 Like

Hopefully, Epic resolves this issue as soon as possible, was searching for a solution in Reddit and finally landed on this forum to know that it’s an issue that needs to be solved.

1 Like

for me its seems like its not fixed yet as of April 2022

1 Like

+1 For this. Been wondering for the last hour why my rocks are disappeariong after enabling Nanite, only to realize it’s a problem with the foliage system and not the material.

Is there a reason Nanite-enabled meshes won’t spawn when used as a Landscape Grass Type? Did Epic think we would only be using animated grass foliage on landscapes or something?

2 Likes

+1 again here, this would seriously help and using rocks for paths and cliffs that use grass types.

Need this fix.

I tried this in UE5.1 (main) it works like a charm :slight_smile: I am guessing its fixed, and it’ll be out in 5.1 release.

3 Likes

Good to hear its on its way, I just ran into this issue also, thanks @DrunkFeline

1 Like

Hey folks! When you have a chance, would you mind confirming that you’re seeing the landscape grass meshes working in 5.1?

As non nanite it was always working ^^
As nanite it´s still not working as long as you have no SM6 activated (as expected).

With SM6 it´s working for me.

I have SM6 activated and still not working in 5.1.

DX12 activated?

Hi everyone,
This is still broken in 5.1 for me. Both SM6 and DX12 are activated. Nanite Grass works fine when painted with the Foliage painter, just not when added to Grasstypes system.


This is of course a major blocker for nanite landscapes so I hope it gets fixed. Would be great if someone else could confirm the issue.
Cheers
Joe

2 Likes

For anyone else coming across this issue, for me, this seems to work fine in 5.1 so long as I remember to check “preserve area” for the foliage nanite meshes, otherwise, they don’t load in. Also, I use the path tracer and need to use the following commands for landscape grass meshes to work using nanite with path tracer:
r.RayTracing.Nanite.Mode=1
r.RayTracing.Geometry.LandscapeGrass=1
Also, I find that the max density count of 1000 for foliage in the landscape grass object is too low. Use grass.densityScaling (put a multiplier here, 1 is default, I use at least 2 for denser grass)
As you increase density/use larger terrains, you might run into the issue of not all the grass streaming in properly, and unreal will recommend you increase the max nanite nodes. Set r.Nanite.MaxNodes to something like 2000000-3000000 if you really want to push it, though I definitely wouldn’t recommend that for anything real-time, it tanks performance even with nanite, though it’s certainly much better than without nanite.
Note that changing the r.Nanite.MaxNodes doesn’t work in editor, as the log will tell you that it’s read only. I change all of my settings in the ConsoleVariables.ini folder, located in (Drive Letter):\Epic Games\UE_5.1\Engine\Config directly under the [Startup] header. Adding all of these console commands here will ensure that they are always enabled each time you launch the editor so you don’t have to retype them every time, though they’ll be overwritten if you ever redownload/change Unreal from the Epic Launcher. Changing r.Nanite.MaxNodes will actually work if typed here, just remember to put an “=” instead of a space between the main body of text and the number for ini files.
I don’t know if the amount of instances are what tanks the performance, or if it’s just the density and draw distance of the grass. If it’s the instances, you could try assembling your foliage into as large clumps as you’re willing to tolerate. Larger clumps mean less precision and control around the borders of your grassy areas, but traditionally more performance. Though with nanite, I’m not sure if that’s true anymore, someone would have to test that. If it does help, making a mask with a gradient from the center, where the large clumps are distributed along the central areas while the smaller clumps are distributed along the edges would give you the best of both worlds, assuming that this form of optimization even works at all.
If using path tracing, I set r.RayTracing.Geometry.InstancedStaticMeshes.Culling 0. Seemed like a good setting to change from reading the FAQ of Path Tracer in Unreal Engine | Unreal Engine 5.1 Documentation.

In short, all the commands that I use for path-traced nanite landscape grass:
r.RayTracing.Nanite.Mode=1
r.RayTracing.Geometry.LandscapeGrass=1
grass.densityScaling=2
r.Nanite.MaxNodes=3621440
r.RayTracing.Geometry.InstancedStaticMeshes.Culling=0
(Edit, see below): r.RayTracing.Geometry.InstancedStaticMeshes.EvaluateWPO=1
Hope this helps!

Edit: I’m trying to get wpo to work using the landscape grass system, and right now I’m getting two issues:

  1. If I make any changes to the wpo, I get buggy/invisible grass along the landscape shader, though the source object works as intended. This is only for nanite enabled meshes, non-nanite works as intended.



  2. Any modifications I make to wpo whatsoever are completely ignored by the path tracer. I’ve just fixed this issue by setting r.RayTracing.Geometry.InstancedStaticMeshes.EvaluateWPO=1

If anyone has any solution to my first issue, please let me know! As of now, I’m considering this to be a bug that needs to be fixed by Epic.

2 Likes