Procedural Grass Tool puts grass on wrong layers

The title of this thread doesn’t really do the question justice, but I had a hard time succinctly explaining the problem. In fact, I’ve illustrated the problem and showed my landscape material in this video:

Basically, I created a landscape material inspired by the VehicleGame’s desert landscape material that automatically paints cliffs on steep surfaces. I got the material to work, but now the problem is that the procedural grass tool doesn’t know that those automatically painted cliffs are actually the cliff layer and not the underlying grass layer. I know this, because I manually painted the cliff layer on some of the automatic cliffs and the grass went away. I’m not sure if there is a way for the material to inform the landscape where layers are being automatically painted, and if not, I’ll have to create a different underlying material and promote the grass layer up so that it isn’t automatically applied everywhere.

I’d really appreciate some insight. Thanks!

You need to use the output of the automatic slope based kajiggery and subtract that from the grass placement.

EDIT: Sorry, you need to multiply it, not subtract…

Hope this helps!

Thanks Thorax! This solved my grass problem. I wish I could just tell the landscape that the cliff layer was there, but this is a great alternative option. I even did a little extra math to cull some of the grass at steeper angles (basically just bringing in the mask a bit).

Here’s some screenshots if you want to see the result: