有些模型多层需要深度写入和深度测试才能正常显示,但是又不去希望这个深度去影响到其他物体,就可以写多一个pass清除深度
例如模型上的ui,在3D相机下,UI不希望有偏移,只用sortorder去控制下
Pass {
Name "Z Clear"
ColorMask 0
ZWrite On
ZTest Always
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
float4 vert (float4 vertex : POSITION) : SV_Position
{
float4 pos = UnityObjectToClipPos(vertex);
#if defined(UNITY_REVERSED_Z)
pos.z = 1.0e-9f;
#else
pos.z = pos.w - 1.0e-6f;
#endif
return pos;
}
void frag() {}
ENDCG
}