- Home /
How do I mask an object with a soft invisible mask?
I've been at this for days and can't seem to figure out how to mask an object smoothly. I want the shader to mask an object but not harshly. I want a soft gradual mask where any object behind the masking goes from solid to partially invisible to fully invisible from top to bottom, if that makes sense.
A good example is something like a horizon from the picture below. The clouds are visible, but the lower they go they are faded out by what looks to be a soft invisible mask. I'm trying to get this shader to mask whatever is behind it (other shaders from different objects) and to not mask a texture that is within the masking shader itself.
The below masks but the masking effect is harsh and instant (where the top is fully visible and the bottom is fully masked). How can I make it smooth/blend?
Shader "MaskedTexture"
{
Properties
{
_MainTex ("Base (RGB)", 2D) = "white" {}
_Mask ("Culling Mask", 2D) = "white" {}
_Cutoff ("Alpha cutoff", Range (0,1)) = 0.1
}
SubShader
{
Tags {"Queue"="Transparent"}
Lighting Off
ZWrite Off
Cull Off
Blend SrcAlpha OneMinusSrcAlpha
AlphaTest GEqual [_Cutoff]
Pass
{
ColorMask 0
ZWrite On
SetTexture [_Mask] {combine texture}
}
}
}
I figured this would be a relatively easy fix due to a stupid mistake. Is there anything wrong with the shader. Am I going in the right direction?
Your answer
Follow this Question
Related Questions
Shader: Cutout behavior mixed with masking behavior 0 Answers
How to make the whole scene in dark, but some Area are not in dark 0 Answers
Shader: Mask Without a Texture? 2 Answers
Mask Shader and Shadow 2 Answers
How do I find custom 3dtext shaders? 0 Answers