Landscape - painting layer causes entire component to brighten

Hello everyone, hopefully you guys know what’s going on.

So, I’m using landscape layer blending to currently blend three materials together. Cliffrock, CliffRockSnowy, and SnowSmooth.

When I was blending Cliffrock, and SnowSmooth, everything was fine, but when I worked on adding the CliffrockSnowy variant, whenever I painted that particular layer, it would cause the landscape component on which I painted it to entirely change into the CliffrockSnowy variant. After replacing it with a simple full-red debug material, I got it to the point where the component on which I paint this new layer brightens slightly.

https://i.imgur.com/ajcmffK.png https://i.imgur.com/p6wc4Dk.png
The rocky surface is the Cliffrock base layer. The red splots is the CliffrockSnowy material. As you can see, adding it brightens the Cliffrock base layer slightly. I checked all the visualization buffers, and it only shows up in Lit, and Scene Color. In Basecolor, Roughness, Specular or the other views, it doesn’t show up, as can be seen here: https://i.imgur.com/cEJ4mxe.png (scene color buffer).

https://i.imgur.com/Y7l4ljC.png
After removing all of the CliffrockSnowy layer, the component goes back to its normal brightness.

https://i.imgur.com/yesAp3E.png
As you can see, painting the SnowSmooth layer does not change the brightness of the base layer at all.

Although the brightness issue isn’t huge, I do plan on adding a lot more layers, and I’d love to get this problem sorted before I continue onwards and end up risking having to do a major overhaul.

Quick note, much of my seeking answers lead me towards too many texture samplers being used. I use texture objects, and the landscape material stats indicate only 4/16 texture samplers are being used, so I am fairly certain that is not the issue.

Hi, I started having an issue today that looks like yours. I don’t know if the reason is the same, but the answer / fix for me was:

  • Input a constant in the AO input of the material that brightens the landscape component when it gets painted in. You can use 1.0 as the value for the constant. It will correspond to 0 cavity occlusion.

The Ambient Occlusion material attribute is multiplied internally (by the PBR implementation shader calculations) by the Specular attribute value.

This is to allow us users to avoid the material showing specular reflections in deep cavities, crevices, imitating what happens in the real world. Or in other words, it’s a way to have ambient occlusion in surface relief features only present in the normal map (because the Screen Space AO, for instance, only recognizes cavities in the actual geometry, not faked in the normal map etc). Sorry if you know this all, but in case you don’t…

So (back to the brightening bug) this may be an issue. Because I though that if we don’t plug any value in the AO attrib. input, the engine would default to 1.0 (= no cavity darkening at all).
But if you actually have an AO map/channel plugged in, I don’t know the answer.

If you’re still having this issue, hope this works.

Check if AO in each function and external AO are multiplied twice