69 lines
1.4 KiB
Plaintext
69 lines
1.4 KiB
Plaintext
Shader "Cainos/Pixel Art Top Down - Basic/Sprite Default - Shadow"
|
|
{
|
|
Properties
|
|
{
|
|
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
|
|
_Color ("Tint", Color) = (1,1,1,1)
|
|
|
|
[IntRange] _StencilRef("Stencil Ref Value", Range(0,255)) = 0
|
|
|
|
[MaterialToggle] PixelSnap ("Pixel snap", Float) = 0
|
|
[HideInInspector] _RendererColor ("RendererColor", Color) = (1,1,1,1)
|
|
[HideInInspector] _Flip ("Flip", Vector) = (1,1,1,1)
|
|
[PerRendererData] _AlphaTex ("External Alpha", 2D) = "white" {}
|
|
[PerRendererData] _EnableExternalAlpha ("Enable External Alpha", Float) = 0
|
|
}
|
|
|
|
SubShader
|
|
{
|
|
Tags
|
|
{
|
|
"Queue"="Transparent"
|
|
"IgnoreProjector"="True"
|
|
"RenderType"="Transparent"
|
|
"PreviewType"="Plane"
|
|
"CanUseSpriteAtlas"="True"
|
|
}
|
|
|
|
//Use stencil to make sure shadow get only drawn once
|
|
//And only within object with shader "SH Sprite Shadow Mask"
|
|
Stencil
|
|
{
|
|
Ref [_StencilRef]
|
|
Comp Equal
|
|
Pass Zero
|
|
}
|
|
|
|
Cull Off
|
|
Lighting Off
|
|
ZWrite Off
|
|
Blend One OneMinusSrcAlpha
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex SpriteVert
|
|
#pragma fragment Frag
|
|
#pragma target 2.0
|
|
#pragma multi_compile_instancing
|
|
#pragma multi_compile _ PIXELSNAP_ON
|
|
#pragma multi_compile _ ETC1_EXTERNAL_ALPHA
|
|
#include "UnitySprites.cginc"
|
|
|
|
fixed4 Frag(v2f IN) : SV_Target
|
|
{
|
|
fixed4 c = IN.color * _Color;
|
|
c.a *= SampleSpriteTexture(IN.texcoord).a;
|
|
|
|
clip(c.a - 0.01f);
|
|
|
|
c.rgb *= c.a;
|
|
return c;
|
|
}
|
|
|
|
|
|
ENDCG
|
|
}
|
|
}
|
|
}
|