Shader "Custom/DualLayer" { Properties { _DiffuseColor ("Diffuse Color", Color) = (1.0,1.0,1.0,1.0) _SpecColor ("Spec Color", Color) = (1.0,1.0,1.0,1.0) _MainTex ("DiffuseMap", 2D) = "white" {} _SpecularMap ("SpecularMap", 2D) = "white" {} _ReflectionIntensity ("Reflection Intensity", Float) = 0.5 _Shininess ("Specular Shininess", Float) = 0.078125 _Gloss ("Specular Gloss", Float) = 0.078125 } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf BlinnPhong sampler2D _MainTex; sampler2D _SpecularMap; float _ReflectionIntensity; float _Shininess; float _Gloss; float4 _DiffuseColor; struct Input { float2 uv_MainTex; float3 worldRefl; float3 viewDir; }; void surf (Input IN, inout SurfaceOutput o) { half4 d = tex2D (_MainTex, IN.uv_MainTex); half s = tex2D (_SpecularMap, IN.uv_MainTex).a; o.Albedo = _DiffuseColor.rgb * d.rgb; o.Alpha = 1; o.Gloss = _Gloss * s; o.Specular = _Shininess; } ENDCG } FallBack "Diffuse" }