Shader "Dissolve/Dissolve_TexturCoords" { Properties { //_Color ("Main Color", Color) = (1,1,1,1) _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1) _Shininess ("Shininess", Range (0.03, 1)) = 0.078125 _Amount ("Amount", Range (0, 1)) = 0.5 _StartAmount("StartAmount", float) = 0.1 _Illuminate ("Illuminate", Range (0, 1)) = 0.5 _Tile("Tile", float) = 1 _DissColor ("DissColor", Color) = (1,1,1,1) _ColorAnimate ("ColorAnimate", vector) = (1,1,1,1) _MainTex ("Base (RGB) Gloss (A)", 2D) = "white" {} // _BumpMap ("Normalmap", 2D) = "bump" {} _DissolveSrc ("DissolveSrc", 2D) = "white" {} // _DissolveSrcBump ("DissolveSrcBump", 2D) = "white" {} } SubShader { //Tags { "RenderType"="Opaque" } //LOD 400 cull off CGPROGRAM #pragma target 3.0 #pragma surface surf BlinnPhong addshadow sampler2D _MainTex; //sampler2D _BumpMap; sampler2D _DissolveSrc; //sampler2D _DissolveSrcBump; fixed4 _Color; half4 _DissColor; half _Shininess; half _Amount; static half3 Color = float3(1,1,1); half4 _ColorAnimate; half _Illuminate; half _Tile; half _StartAmount; struct Input { float2 uv_MainTex; // float2 uv_BumpMap; float2 uvDissolveSrc; }; //void vert (inout appdata_full v, out Input o) {} void surf (Input IN, inout SurfaceOutput o) { fixed4 tex = tex2D(_MainTex, IN.uv_MainTex); o.Albedo = tex.rgb; //* _Color.rgb; float ClipTex = tex2D (_DissolveSrc, IN.uv_MainTex/_Tile).r ; float ClipAmount = ClipTex - _Amount; //float Clip = 0; //float4 DematBump = tex2D (_DissolveSrcBump,IN.uv_MainTex/_Tile); //o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap)); //if (_Amount > 0) { //if (ClipAmount <0) { // Clip = 1; //clip(-0.1); } // else { if (ClipAmount < _StartAmount) { //if (_ColorAnimate.x == 0) // Color.x = _DissColor.x; //else Color.x = ClipAmount*10;///_StartAmount; //if (_ColorAnimate.y == 0) // Color.y = _DissColor.y; //else Color.y = ClipAmount*10;//_StartAmount; //if (_ColorAnimate.z == 0) // Color.z = _DissColor.z; //else Color.z = ClipAmount*10;//_StartAmount; o.Albedo = (o.Albedo *((Color.x+Color.y+Color.z))* Color*((Color.x+Color.y+Color.z)))/(1 - _Illuminate); //o.Normal = UnpackNormal(tex2D(_DissolveSrcBump, IN.uvDissolveSrc)); } } } if (ClipAmount <0) { clip(-0.1); } ////////////////////////////////// // o.Gloss = tex.a; o.Alpha = tex.a;// * _Color.a; o.Specular = _Shininess; clip(o.Alpha-0.5);// my adding } ENDCG } FallBack "Specular" }