效果图
根据噪点图,去进行clip
clip解释: clip(-0.1); //小于0才会被clip掉 if(value < 0) { discard }
核心代码:
fixed4 frag (v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.texcoord);
float ClipTex = tex2D (_NoiseTex, i.texcoord/_Tile).r;
float ClipAmount = ClipTex - _Amount;
if(_Amount > 0)
{
if(ClipAmount < 0)
{
clip(-0.1); //小于0才会被clip掉 if(value < 0) { discard }
}
else
{
if(ClipAmount < _DissSize)
{
float4 finalColor=lerp(_DissColor,_AddColor,ClipAmount/_DissSize)*2;
col = col * finalColor;
}
}
}
UNITY_OPAQUE_ALPHA(col.a);
return col;
}