Shader "Roma/Role/Self-Illumin_Diffuse_Shadow_Role" { Properties { _Color ("Main Color", Color) = (1,1,1,1) _MainTex ("Base (RGB)", 2D) = "white" {} _Shadow ("shadow val", Range (0.0, 1.0)) = 0.4 } SubShader { Tags { "RenderType"="Opaque" "IgnoreProjector"="true"} LOD 200 LOD 100 Fog { Mode Off } Lighting Off CGPROGRAM #pragma surface surf LambertTest noforwardadd #pragma multi_compile_fwdbase nodirlightmap fixed _Shadow; sampler2D _MainTex; fixed4 _Color; struct Input { fixed2 uv_MainTex; }; fixed4 LightingLambertTest(SurfaceOutput s, float3 lightDir, float atten) { fixed diff = max(_Shadow, dot(s.Normal, lightDir)); fixed4 c; c.rgb = s.Albedo * _LightColor0.rgb * (diff * atten * 2); c.a = s.Alpha; return c; } void surf (Input IN, inout SurfaceOutput o) { fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color; o.Albedo = c.rgb; o.Alpha = c.a; o.Emission = c.rgb * 0.5f; } ENDCG } // 系统shader参数阴影必须使用 //Fallback "VertexLit" }