We are using Landscape grass in our terrain materials to auto-generate grass on certain painted layers. The problem we are having is that we can’t expose grass types to the material instance, so in order to use different types of grass for different environments, we need to duplicate the master material and change the grass types in the Landscape Grass Output node.
Is there an easy way to turn the Landscape Grass Output material node into a parameter so we can easily slot in different grass types in the material instance instead of the Material Master ?
You could use the same material, but have it sample a different landscape layer to spawn the right mesh.
PCG is more robust than the landscape grass system. It might give you the extra control you need, as you can parameterize the mesh spawning in the PCG graph instead of the material.
Still relatively to new to PCG but I am assuming I can take the concepts from the landscape grass system of painting per landscape material ? and implement that via blueprint
seems like Procedural Foliage Spawner could be useful as well.
Sorry for all the questions
Definitely.
Here is a video that shows both sampling the landscape layers in PCG which can be used to choose where and what grass to spawn or even how tall it should be, and also passing any data PCG can access from the landscape or elsewhere into the material.
I’ve used this to pass the landscapes normal vector to the grass material to improve the transition and culling without the need to sample a virtual texture, for example, but the possibilities are endless.