MatLayerBlend_StandardWithDisplacement not blending Displacement


I am working on landscape materials atm and I wanted to use the MatLayerBlend_StandardWithDisplacement to blend two material functions, one for rock and one for soil, that both use tessellation.

The problem that I am experiencing though is, that the heightmap data doesnt get blended properly even though the lerp nodes are connected correctly inside the blend function.

So what happens is this: Base mat is rock and top mat is soil. I use a slope detection function as alpha for the blend node. In the end, I only get the tessellated details of the top layer while the bottom layer (rock) stays completely flat no matter how much I push the tessellation strength.

When I use the landscape layer blend node, it just works fine! However, I decided to use a setup similar to the Kite Demo with material functions and material layer blends since its a lot more manageable but as mentioned, it doesnt seem to work.

When I put the output of displacement directly into basecolor, I can see the heightmap details of the soil layer while the hightmap details of the rock layer are just completely black all the time.

Hope you guys can help me with this :slight_smile:

Okay…I actually fixed it since I had an older version where it worked! The reason it was broken was due to the way I did the slope detection in the new material. In the other one, I used a simpler approach to detect slopes and that one also worked like a charm in the new material!

So problem solved! BTW…something else…Thanks a lot to Epic for improving tessellation performance on landscape tremendously with 4.9!! :smiley: I got like 25 fps on 4.8. Now with 4.9 and a fully tessellated landscape, I am around 65-75 fps!

Very very awesome!