Skip to content

Instantly share code, notes, and snippets.

@InfiniteAmmoInc
Created March 28, 2014 02:25
Show Gist options
  • Select an option

  • Save InfiniteAmmoInc/9823907 to your computer and use it in GitHub Desktop.

Select an option

Save InfiniteAmmoInc/9823907 to your computer and use it in GitHub Desktop.

Revisions

  1. InfiniteAmmoInc created this gist Mar 28, 2014.
    62 changes: 62 additions & 0 deletions Sprite-Cutout.shader
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,62 @@
    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"
    }