Converting a Landscape material for use on a Static Mesh

I’ve bought an asset which is a collection of landscapes + materials from the asset store. Unfortunately I need to use static meshes rather than UE4’s built-in Landscape, so I need to convert the materials.

I’ve removed the LandscapeCoords node, and have gotten everything lining up properly in terms of tiling etc. but the problem is that the material uses Layer Blend nodes:

All of the output channels (Diffuse, Specular, Roughness and Normal) are made of 4 layers blended together by height maps. However, the outputs of these Layer Blend nodes when I try to use the material on a static mesh are just black. I have checked out each individual layer (and corresponding height map) and they are fine, but the output of these Layer Blend nodes only seems to work on a UE4 Landscape.

How can I recreate the functionality of the Layer Blend node in a way that will work on a normal static mesh?

You may try to use vertex colors as layermaps, by encoding layer id into them, and them blend layers based on that data. R - layer id, G - layer strenght, B A -something else.

Have a look at this blend setup too. Really expands what you can do with vertex painting.

such mask technique is only really useful when you always interpolate by going through the ‘layers’ in the order the were made, for example 1->2, 2->3, 3->4, etc.
if you want to blend in an arbitrary way though (i.e. 1->4, 2->5), you get unwanted results because the mask still has to walk the gradient through the intermediate values. so if you want a blend between 1>4 you inevitably get 1->2->3->4
as such, this technique doesn’t work for soft blended layers in an arbitrary order

any idea???

Noat you what are asking.

You can always manually blend layers based on something like vertex paint. Definitely not something that needs any special attention or a feature request?

The complicared alternative is using layers, those are avaliable too even if experimental.
showcased within content examples.