You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
| Shader "Custom/ParticleSprite"
 | |
| {
 | |
|     Properties
 | |
|     {
 | |
|         [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
 | |
|         _Color ("Tint", Color) = (1,1,1,1)
 | |
|         [MaterialToggle] PixelSnap ("Pixel snap", Float) = 0
 | |
|     }
 | |
| 
 | |
|     SubShader
 | |
|     {
 | |
|         Tags { "RenderType"="Opaque" "Queue" = "Overlay" }
 | |
|         ZWrite Off
 | |
|         ZTest Always
 | |
|         Cull Off
 | |
| 
 | |
|         Pass
 | |
|         {
 | |
|             Blend SrcAlpha OneMinusSrcAlpha
 | |
|             CGPROGRAM
 | |
|             #pragma vertex vert
 | |
|             #pragma fragment frag
 | |
|             #pragma multi_compile _ PIXELSNAP_ON
 | |
|             #include "UnityCG.cginc"
 | |
|             
 | |
|             struct appdata_t
 | |
|             {
 | |
|                 float4 vertex   : POSITION;
 | |
|                 float4 color    : COLOR;
 | |
|                 float2 texcoord : TEXCOORD0;
 | |
|             };
 | |
| 
 | |
|             struct v2f
 | |
|             {
 | |
|                 float4 vertex   : SV_POSITION;
 | |
|                 fixed4 color    : COLOR;
 | |
|                 float2 texcoord  : TEXCOORD0;
 | |
|             };
 | |
|             
 | |
|             fixed4 _Color;
 | |
| 
 | |
|             v2f vert(appdata_t IN)
 | |
|             {
 | |
|                 v2f OUT;
 | |
|                 OUT.vertex = UnityObjectToClipPos(IN.vertex);
 | |
|                 OUT.texcoord = IN.texcoord;
 | |
|                 OUT.color = IN.color * _Color;
 | |
|                 #ifdef PIXELSNAP_ON
 | |
|                     OUT.vertex = UnityPixelSnap (OUT.vertex);
 | |
|                 #endif
 | |
| 
 | |
|                 return OUT;
 | |
|             }
 | |
| 
 | |
|             sampler2D _MainTex;
 | |
|             sampler2D _AlphaTex;
 | |
|             float _AlphaSplitEnabled;
 | |
| 
 | |
|             fixed4 SampleSpriteTexture (float2 uv)
 | |
|             {
 | |
|                 fixed4 color = tex2D (_MainTex, uv);
 | |
| 
 | |
|                 #if UNITY_TEXTURE_ALPHASPLIT_ALLOWED
 | |
|                     if (_AlphaSplitEnabled)
 | |
|                     color.a = tex2D (_AlphaTex, uv).r;
 | |
|                 #endif //UNITY_TEXTURE_ALPHASPLIT_ALLOWED
 | |
| 
 | |
|                 return color;
 | |
|             }
 | |
| 
 | |
|             fixed4 frag(v2f IN) : SV_Target
 | |
|             {
 | |
|                 fixed4 c = SampleSpriteTexture (IN.texcoord) * IN.color;
 | |
|                 c.rgb *= c.a;
 | |
|                 if(c.a==0){
 | |
|                     discard;
 | |
|                 }
 | |
|                 return c;
 | |
|             }
 | |
|             ENDCG
 | |
|         }
 | |
|     }
 | |
| } |