Landscape Layer Info Import Problems

I’ve been through a few sites and the doc pages on this, hoping for some insight on how to fix this.

I created some test images and a simple landscape to try importing in different orders, different materials, still not getting the result I expect. Each image was imported through the Target Layers panel by right clicking on the layer name.

Lot going on here to try and explain this issue, the black and white numbers are the maps. The viewport shows the result.

I’ve tried different setups, the LB Weight Blend isn’t even in the docs for the Landscape Layer Blend, maybe its not even hooked up.

The expected behavior (shown below) is to have the base brown, then gold layer and green layer on the top.I feel like I’m almost there, I just need the layers to stay in the order I imported them in or know what the correct order is.

Few things to note:

Not importing a layer on the first layer didn’t work either

Is my intended behavior even possible?

Can I also use texture height maps in my material? (we need better names for these things, the alpha map in the texture that determines the level of opacity)

Thanks

Hi TimeSpirit,

There are two kinds of blending on landscape. The default is “weight-based blending” and that’s what LB_WeightBlend setting on the “Layer Blend” node, as well as the individual “Layer Weight” nodes does.

With weight-based blending, all the layer painting values (weights) at a particular location add up to 1.0. When you paint a layer to increase its weight, all the other layers’ weights are reduced. This allows you to paint any layer at any time and there is no layer blending order.

The blending you’re wanting in expectedresult.jpg is alpha blending, where each successive layer is blended on top of the other one using an alpha value, and there’s an implied order to the layers, and painting one layer doesn’t modify the painted values of any other layer. You can also unpaint to reveal the painted layers below.

You can set that up by making sure your layer info objects are created as “Non-weight blended” and then setting up your material using LB_AlphaBlend in a Landscape Layer Blend node. (Note that this has changed as of 4.3. In 4.2 and earlier, LB_AlphaBlend actually did weight based blending. I will update the documentation to make that clear.) The layer order in the Layer Blend node determines the order.

Once that’s done, you can right-click and import the layers. Below is a sample I just made. The red, green and blue colors could of course be textures.

You can also perform the blending yourself in the material. If you add a “Landscape Layer Weight” node connect a Constant value 0 to the Base input and a Constant value 1 to the Layer input, the result will be the exact alpha or weight value for the particular layer. The “Layer Weight” node is intended to do weight-based blending, but the 0 and 1 trick it into giving us the data we want in this case. We’re going to add a dedicated node for this purpose.

Once you have the alpha value, you can then use Linear Interpolate nodes to blend things together. Doing it this way you can avoid having a base layer at all.

Here’s the material setup for that.