- Home /
 
 
               Question by 
               Kim-Shin-Wook-a-k-a-Forward-of-South-Korea · Mar 09, 2015 at 11:43 AM · 
                shadermaterialunity5alphatransparent  
              
 
              [Unity5]how to change alpha by using shader.
I'm struggle to make fog of war watching this video.
https://www.youtube.com/watch?v=PNAvNeOTnSE
but I get stuck in some problem. Fog's alpha don't change!
Shader "Custom/FogOfWarMasking" {
 Properties {
     _Color("Main Color", Color) = (1,1,1,1)
     _MainTex ("Base (RGB)", 2D) = "white" {}
 }
 SubShader {
     Tags { "Queue"="Transparent" "RenderType"="Transparent" "LightMode"="ForwardBase"}
     Blend SrcAlpha OneMinusSrcAlpha
     Lighting off
     LOD 200
     
     CGPROGRAM
     #pragma surface surf NoLighting noambient
     fixed4 LightingNoLighting(SurfaceOutput s, fixed3 lightDir, float aten)
     {
         fixed4 color;
         color.rgb = s.Albedo;
         color.a = s.Alpha;
         
         return color;
     }
     fixed4 _Color;
     sampler2D _MainTex;
     struct Input {
         float2 uv_MainTex;
     };
     void surf (Input IN, inout SurfaceOutput o) {
         half4 baseColor = tex2D (_MainTex, IN.uv_MainTex);
         
         o.Albedo = _Color.rgb * baseColor.b;
         o.Alpha = _Color.a - baseColor.g; //green - color of aperture mask
     }
     ENDCG
 } 
 Fallback "Diffuse"
 }
 
               Everything is ok except transparent...
What was worse, set o.Alpha specific value like 0.0f, 0.5f, It doesn't work either. :(
This tutorial worked well in Unity4.x, Unity5.x not. but I don't know why alpha was not changed.
To sum up, how to change alpha to make transparent shader in Unity5?
               Comment
              
 
               
               
               Best Answer 
              
 
              Answer by Kim-Shin-Wook-a-k-a-Forward-of-South-Korea · Mar 11, 2015 at 09:33 AM
I found answer myself.
 #pragma surface surf NoLighting noambient **alpha:blend**
 
               it's worked well in unity5
Your answer