Smooth Mask Blend Between Textures


I have a Unity Shader Graph landscape material I’m trying to get working.
So far it does the basic, using a mask in object space and 3 textures in world space, Grass, Sand, Mud.

The mask is a simple White, Black, Grey, you can see it working in the image.
But I need it to blend bit nicer between the textures like a banding effect

Any ideas or graph examples would be hugely appreciated! :slight_smile:

Im using a step to get the mask but im not sure if this is the correct way to for the effect I need.

you want the clear steps, but inside a step you want a perhaps 50:50 blending with the next texture?
you want full smooth blending and no steps/banding?

you can try smoothstep node instead of step just to see if it gives you something you are asking for but you will need a range of values on your masking textures not just distinct 3 values

you may need remaps + lerps to do things more particular based on your question
or you can paint the full masking blend into each channel R,G,B
and have R blend only with G and G blend only with B (depends if you need only 2 blends vs 3)

Hi Torbach,

I have something by changing the stepts to posterize, it gives me the result I want, but I can’t get the 3rd texture on.

posterize might clip off either 0 or 1… unclear what the exact issue is but if you set the posterize to 255 or 256 steps, does it show up with any values?

Hi Torbach.
I’m pretty new to unity graph so I will show you my graph.
Can’t seem to set a value apart from in the x I set up a vector on that so I can control it in the editor for viewing

Found a better solution was to use the RGB channels with different textures and clamp it

Mip mapping seems to be not working, its really noisy in the distance, I would have assumed mip mapping would have been based on the textures.