Procedural Landscape Material - How to auto-apply physical materials

Hi All,

This is basically a duplicate of my Answerhub question but I figured I’d post it here too…

I’ve set-up a procedural landscape material that textures terrain by detecting height and slopes etc… This is all working nicely and uses similar techniques to the open world example material. However, I have been scratching my head as to how I can automatically apply physical materials in order to have different sounds and particle effects play based on the generated layers.

The way I understand it, physical materials can be applied to layers via the paint tool and a single physical material can be applied to the entire material but is there a way I can apply multiple physical materials to my procedurally generated layers automatically? I’m really trying to avoid having to hand-paint the terrain as I would have wasted so much time making it automatically texture only to revert back to hand-painting.

I spent some time studying the open world material and couldn’t see how they have achieved it if they even have at all…

Could someone shed some light on this please?

Is it even possible?

I’ve hunted high and low and couldn’t find a definitive answer.



You can import landscape layer masks by right clicking a layer in the landscape layer painting tool. Requires some clicking but still a lot faster compared to hand painting.
A single material can only have a single physical material, so you must use multiple landscape layers in order to get proper physical materials.

Edit: pic

Thanks jonimake, that is useful information but isn’t an ideal solution to my problem. My material setup generates the masks which can be adjusted by the end user via parameters (i.e. slope angle, height, etc…) so it’s unlikely that pre-defined masks would exactly match the texture locations and it’ll still require some hand-painting but it’s better than hand-painting it all I suppose.

I guess I’ll have to re-evaluate what I am doing and consider doing it all with pre-defined masks but the lack of control depresses me somewhat. :frowning:

I’ve actually found a definitive answer. For anyone who’s interested, the ability to determine physical surface id’s within the material is currently not possible but is scheduled for version 4.14