UnityShader----使用ReplacementShader

1.摄像机脚本

这里写图片描述
用摄像机的SetReplacementShader(Shader,Tag)进行shader替换;
当摄像机看到的Shader的Tags和当前要替换的ReplaceShader的指定Tags一致,就会进行替换;

2.使用深度的Shader代码

使用深度的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
    }
}
}

猜你喜欢

转载自blog.csdn.net/noEnoughChief/article/details/82147849
今日推荐