Download

Procedurally painting landscape layers

How would one go about changing the landscape layer based on height? I dont mean just textures, I mean the landscape layer itself. I want to have different grass and rocks and whatnot depending on each landscape layer and it seems impossible to do it without manually painting them on the surface. This has to be something standard that people need to do yet i can’t find any tutorials anywhere that blend the layers based on height, only blending the textures.

I’m not sure about changing the actual layer info itself for each layer don’t think that’s possible. But if you want to have different textures and foliage auto-painted onto the landscape depending on height/gradient, you can use the code in the image below to auto-paint different layers onto the landscape depending on height/gradient (just pass the outputs from image into a layer blend node). Then in your landscape material use a “Landscape Layer Sample” node to sample the layers painted onto the landscape and input that into your “Landscape Grass Output” node, then define some “Landscape Grass Types” to use in that to paint different foliage onto the landscape depending on the layer painted…

Where do I plug in the two nodes on the end? Into a blend layer node? And then where? Im a bit confused as to how to where to plug those nodes into.

What you normally do is either import different layers that you create outside of unreal - that gets different layers to have the proper colors.

The other option is to make an auto material as the base, then run over it with the appropriate brushes to get the correct layers painted over the correct areas.
Doing this has the potential benefit of visually looking right even if you forget a zone, however the layer info won’t work in that case.

An outside program is likely the fastest way to go.

Wholly using unreal is a time sink but it also works.