Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Shader "Custom Damage/Specular Splat Damage Overlay" {
- Properties {
- _MainTex ("Main Texture (RGB)", 2D) = "white" {}
- _DamageReveal ("Damage Reveal (RGB)", 2D) = "white" {}
- _DamageMask ("Damage Mask", 2D) = "white" {}
- _Color ("Main Color", Color) = (1,1,1,1)
- _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1)
- _Shininess ("Shininess", Range (0.01, 1)) = 0.078125
- }
- SubShader {
- Tags { "RenderType"="Opaque" }
- LOD 300
- CGPROGRAM
- #pragma surface surf BlinnPhong
- sampler2D _MainTex;
- sampler2D _DamageReveal;
- sampler2D _DamageMask;
- float4 _Color;
- float _Shininess;
- struct Input {
- float2 uv_MainTex;
- float2 uv_DamageReveal;
- float2 uv_DamageMask;
- };
- void surf (Input IN, inout SurfaceOutput o) {
- half4 main = tex2D (_MainTex, IN.uv_MainTex);
- half4 damageReveal = tex2D (_DamageReveal, IN.uv_DamageReveal);
- half4 damageMask = tex2D (_DamageMask, IN.uv_DamageMask);
- half4 u = lerp(main,damageReveal,(1-damageMask.g));
- o.Albedo = u.rgb * _Color.rgb * damageMask.r;
- o.Gloss = u.a;
- o.Alpha = u.a * _Color.a;
- o.Specular = _Shininess;
- }
- ENDCG
- }
- FallBack "Diffuse"
- }
Advertisement
Add Comment
Please, Sign In to add comment