duck

duck

Jan 16th, 2011
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.17 KB | None | 0 0
  1. Shader "Custom Damage/Specular Splat Damage Overlay" {
  2.     Properties {
  3.    
  4.         _MainTex ("Main Texture (RGB)", 2D) = "white" {}
  5.         _DamageReveal ("Damage Reveal (RGB)", 2D) = "white" {}
  6.         _DamageMask ("Damage Mask", 2D) = "white" {}
  7.         _Color ("Main Color", Color) = (1,1,1,1)
  8.         _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1)
  9.         _Shininess ("Shininess", Range (0.01, 1)) = 0.078125
  10.  
  11.     }
  12.     SubShader {
  13.         Tags { "RenderType"="Opaque" }
  14.         LOD 300
  15.        
  16.         CGPROGRAM
  17.         #pragma surface surf BlinnPhong
  18.  
  19.         sampler2D _MainTex;
  20.         sampler2D _DamageReveal;
  21.         sampler2D _DamageMask;
  22.         float4 _Color;
  23.         float _Shininess;
  24.  
  25.         struct Input {
  26.             float2 uv_MainTex;
  27.             float2 uv_DamageReveal;
  28.             float2 uv_DamageMask;
  29.         };
  30.  
  31.         void surf (Input IN, inout SurfaceOutput o) {
  32.        
  33.             half4 main = tex2D (_MainTex, IN.uv_MainTex);
  34.             half4 damageReveal = tex2D (_DamageReveal, IN.uv_DamageReveal);
  35.             half4 damageMask = tex2D (_DamageMask, IN.uv_DamageMask);
  36.            
  37.             half4 u = lerp(main,damageReveal,(1-damageMask.g));
  38.             o.Albedo = u.rgb * _Color.rgb * damageMask.r;
  39.             o.Gloss = u.a;
  40.             o.Alpha = u.a * _Color.a;
  41.             o.Specular = _Shininess;
  42.  
  43.            
  44.         }
  45.         ENDCG
  46.     }
  47.     FallBack "Diffuse"
  48. }
Advertisement
Add Comment
Please, Sign In to add comment