// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "Zhanyou/CameraBlack" { Properties { _MainTex("Sprite Texture", 2D) = "white" {} _Color("Alpha Color Key", Color) = (0,0,0,1) _IsGray("IsGray", Range(100, 200.0)) = 100 } SubShader { Tags { "RenderType" = "Opaque" "Queue" = "Transparent+1" } Pass { ZWrite Off Blend SrcAlpha OneMinusSrcAlpha CGPROGRAM #pragma vertex vert #pragma fragment frag sampler2D _MainTex; float4 _Color; int _IsGray; struct Vertex { float4 vertex : POSITION; float2 uv_MainTex : TEXCOORD0; float2 uv2 : TEXCOORD1; }; struct Fragment { float4 vertex : POSITION; float2 uv_MainTex : TEXCOORD0; float2 uv2 : TEXCOORD1; }; Fragment vert(Vertex v) { Fragment o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv_MainTex = v.uv_MainTex; o.uv2 = v.uv2; return o; } float4 frag(Fragment IN) : COLOR { half4 c = tex2D(_MainTex, IN.uv_MainTex); if (_IsGray > 0) { half gray = (c.r * 30 + c.g * 59 + c.b * 11) / _IsGray; c.r = gray; c.g = gray; c.b = gray; } return c; } ENDCG } } }