1.摄像机脚本
用摄像机的SetReplacementShader(Shader,Tag)进行shader替换;
当摄像机看到的Shader的Tags和当前要替换的ReplaceShader的指定Tags一致,就会进行替换;
2.使用深度的Shader代码
Shader "Study/DepthColorShader"
{
SubShader
{
Tags{"RenderType"="Transparent"}
ZWrite Off
ZTest Always
Blend One One
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
};
struct v2f
{
float4 vertex:SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 _OverDrawColor;
fixed4 frag (v2f i) : SV_Target
{
return _OverDrawColor;
}
ENDCG
}
}
}