Created
March 28, 2014 02:25
-
-
Save InfiniteAmmoInc/9823907 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Shader "Sprites/Cutout" | |
{ | |
Properties | |
{ | |
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} | |
_Color ("Tint", Color) = (1,1,1,1) | |
[MaterialToggle] PixelSnap ("Pixel snap", Float) = 0 | |
_Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.5 | |
} | |
SubShader | |
{ | |
Tags | |
{ | |
"Queue"="Transparent" | |
"IgnoreProjector"="True" | |
"RenderType"="TransparentCutOut" | |
"PreviewType"="Plane" | |
"CanUseSpriteAtlas"="True" | |
} | |
Cull Off | |
Lighting Off | |
ZWrite On | |
Fog { Mode Off } | |
Blend SrcAlpha OneMinusSrcAlpha | |
CGPROGRAM | |
#pragma surface surf Lambert alpha vertex:vert | |
#pragma multi_compile DUMMY PIXELSNAP_ON | |
sampler2D _MainTex; | |
fixed4 _Color; | |
struct Input | |
{ | |
float2 uv_MainTex; | |
fixed4 color; | |
}; | |
void vert (inout appdata_full v, out Input o) | |
{ | |
#if defined(PIXELSNAP_ON) && !defined(SHADER_API_FLASH) | |
v.vertex = UnityPixelSnap (v.vertex); | |
#endif | |
v.normal = float3(0,0,-1); | |
UNITY_INITIALIZE_OUTPUT(Input, o); | |
o.color = _Color; | |
} | |
void surf (Input IN, inout SurfaceOutput o) | |
{ | |
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * IN.color; | |
o.Albedo = c.rgb; | |
o.Alpha = c.a; | |
} | |
ENDCG | |
} | |
Fallback "Transparent/Cutout/VertexLit" | |
} |
Doesn't work with Sprite Renderer data
Change the last line of the vert function to "o.color = _Color * v.color;" and it works
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
dont work!