59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // clang-format off
 | |
| Shader "Unlit/OverwriteAlpha"
 | |
| {
 | |
|     Properties
 | |
|     {
 | |
|       _Alpha("Alpha", Range (0.0, 1.0)) = 0.0
 | |
|     }
 | |
|     SubShader
 | |
|     {
 | |
|         Tags { "RenderType"="Opaque" }
 | |
|         LOD 100
 | |
|         Cull Off
 | |
|         ZTest Always
 | |
|         ZWrite Off
 | |
|         // we want to keep the color buffer as is, but override the alpha
 | |
|         Blend Zero One, One Zero 
 | |
| 
 | |
|         Pass
 | |
|         {
 | |
|             CGPROGRAM
 | |
|             #pragma vertex vert
 | |
|             #pragma fragment frag
 | |
|             // make fog work
 | |
|             #pragma multi_compile_fog
 | |
| 
 | |
|             #include "UnityCG.cginc"
 | |
| 
 | |
|             struct appdata
 | |
|             {
 | |
|                 float4 vertex : POSITION;
 | |
|             };
 | |
| 
 | |
|             struct v2f
 | |
|             {
 | |
|                 UNITY_FOG_COORDS(1)
 | |
|                 float4 vertex : SV_POSITION;
 | |
|             };
 | |
| 
 | |
|             v2f vert (appdata v)
 | |
|             {
 | |
|                 v2f o;
 | |
|                 o.vertex = UnityObjectToClipPos(v.vertex);
 | |
|                 // Push the z to the far plane
 | |
|                 //o.vertex.z = 1.0 - UNITY_NEAR_CLIP_VALUE;
 | |
|                 return o;
 | |
|             }
 | |
| 
 | |
|             float _Alpha;
 | |
| 
 | |
|             fixed4 frag (v2f i) : SV_Target
 | |
|             {
 | |
|                 // apply fog
 | |
|                 return float4(0,0,0, _Alpha);
 | |
|             }
 | |
|             ENDCG
 | |
|         }
 | |
|     }
 | |
| }
 |