Grass node limitation?

Hello!

I’m currently sitting with a pretty massive landscape material which uses the grass output node to generate the undergrowth but for some reason it doesn’t generate for some of the layers. When I try to isolate the layers in a separate material with the exact same flow it works just fine which starts to lead me to wonder if it is a limitation within the node itself since I’m currently at 40 layers. I’ve been searching for answers for quite some time now but since there is no documentation of the node itself I ask here if anybody knows if the have a layer limit cap or something along those lines?

Thank you!

If you’re looking at 40 layers for the grass node, I’m assuming you also have that in your landscape. I don’t think that’s possible…

The grass node doesn’t require a full landscape layer, so you can pile in a lot of them without performance loss beyond that of actually displaying the meshes.

In a full fauna it is indeed possible to hit 40 layers, perhaps more. I just never went that far as the FPS goes sub 30 after about 20.

I would suggest you export the terrain to a 3d program, slice the area you want to have a certain fauna out, import it into the world properly with LODs and use a basic material with grass node on it. Perhaps even disabling the mesh itself since the idea is to have it be the place holder for a specific type of grass and have the same Z as the landscape itself.
Obviously if you change landscape geometry you have to start over on the layer.

I guess you could also have 2 landscape on top of each other. But that gets probably way more render intensive.

I’ve been looking into this a bit more now and it seems like there is some kind of limitation withing the node as when I hit 16 layers, it doesn’t want to generate out new layers after that. For that reason I decided to go a similar route to what MostHost LA suggested. If it indeed is capped at 16, it almost feels like it has the same cap as default texture samplers, only difference is that I cannot uncap it by sharing. the base idea I’m going for follows.

Material → FoliageSorter → FoliageVariation(RGBA=4Layers) → Grassnode

That means each material outputs 4 layers in the Grassnode. 4 Materials x 4 Layers = 16 which works just fine. 5 Materials x 4 Layers breaks the generator. However I came to the conclusion that all my materials doesn’t need 4 Layers always so when removing unnecessary outputs, I manage to have 5 materials without any issues with is enough for now. But it would be nice to know if this really is a cap that can be removed or if this was something I may have done wrong on my end.

I forgot to mention that I had 40 layers in the grassnode output but not in landscape layers. I have 4 layers which decides if it should paint what version so it looks like this somewhat:

Grass
Moss
Dirt
etc.
FoliageBase​​​​​​
​FoliageVariation1
FoliageVariation2
​​​​​​​FoliageVariation3

Painting with FoliageVariation takes into consideration what material is used bellow and grabs the foliage variation for that specific material it is painted onto.