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.
		
		
		
		
		
			
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
| Shader "Custom/CharacterTest"
 | |
| {
 | |
|     Properties
 | |
|     {
 | |
|         _Direction ("Direction", Vector) = (0, 1, 0, 0)
 | |
|         _Intensity ("Intensity", Range(0.0, 1.0)) = 0.5
 | |
|         _MainTex ("Texture", 2D) = "white" {}
 | |
|     }
 | |
| 
 | |
|     SubShader
 | |
|     {
 | |
|         Tags
 | |
|         {
 | |
|             "Queue"="Transparent" "RenderType"="Transparent"
 | |
|         }
 | |
|         LOD 100
 | |
|         Cull Off
 | |
|         ZWrite On
 | |
| 
 | |
|         CGPROGRAM
 | |
|         #pragma surface surf Lambert
 | |
| 
 | |
|         sampler2D _MainTex;
 | |
|         float4 _Direction;
 | |
|         float _Intensity;
 | |
| 
 | |
|         struct Input
 | |
|         {
 | |
|             float2 uv_MainTex;
 | |
|         };
 | |
| 
 | |
|         void surf(Input IN, inout SurfaceOutput o)
 | |
|         {
 | |
|             float2 center = float2(0.5, 0.5);
 | |
|             float2 dir = normalize(_Direction.xy) * _Intensity;
 | |
| 
 | |
|             // Stretch the texture along the given direction vector
 | |
|             float stretch = dot(IN.uv_MainTex - center, _Direction.xy) * _Intensity;
 | |
|             float2 stretchedUV = (IN.uv_MainTex - center) * float2(stretch, 1.0) + center;
 | |
| 
 | |
|             fixed4 col = tex2D(_MainTex, stretchedUV);
 | |
|             if (col.a == 0)
 | |
|             {
 | |
|                 discard;
 | |
|             }
 | |
|             o.Albedo = col.rgb;
 | |
|             o.Alpha = col.a;
 | |
|         }
 | |
|         ENDCG
 | |
|     }
 | |
| 
 | |
|     FallBack "Diffuse"
 | |
| } |