diff --git a/spine-unity/Assets/Spine/Shaders.meta b/spine-unity/Assets/Spine/Shaders.meta index b1d94071d..96c6a80bf 100644 --- a/spine-unity/Assets/Spine/Shaders.meta +++ b/spine-unity/Assets/Spine/Shaders.meta @@ -1,5 +1,4 @@ fileFormatVersion: 2 guid: ef8189a68a74bec4eba582e65fb98dbd -folderAsset: yes DefaultImporter: userData: diff --git a/spine-unity/Assets/Spine/Shaders/Skeleton.shader b/spine-unity/Assets/Spine/Shaders/Skeleton.shader index d45e63954..80153083a 100644 --- a/spine-unity/Assets/Spine/Shaders/Skeleton.shader +++ b/spine-unity/Assets/Spine/Shaders/Skeleton.shader @@ -1,13 +1,16 @@ -Shader "Skeleton" { +Shader "Spine/Skeleton" { Properties { _MainTex ("Texture to blend", 2D) = "black" {} } SubShader { - Tags { "Queue" = "Transparent" } + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } + LOD 100 + Cull Off Lighting Off ZWrite Off Blend One OneMinusSrcAlpha + Pass { ColorMaterial AmbientAndDiffuse SetTexture [_MainTex] { diff --git a/spine-unity/Assets/Spine/Shaders/SkeletonLit.shader b/spine-unity/Assets/Spine/Shaders/SkeletonLit.shader new file mode 100644 index 000000000..7cee739f6 --- /dev/null +++ b/spine-unity/Assets/Spine/Shaders/SkeletonLit.shader @@ -0,0 +1,84 @@ +Shader "Spine/Skeleton Lit" { + Properties { + _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 + _MainTex ("Texture to blend", 2D) = "black" {} + } + // 2 texture stage GPUs + SubShader { + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } + LOD 100 + + Cull Off + ZWrite Off + Blend One OneMinusSrcAlpha + + Pass { + Tags { "LightMode"="Vertex" } + ColorMaterial AmbientAndDiffuse + Lighting On + SetTexture [_MainTex] { + Combine texture * primary DOUBLE, texture * primary + } + } + + Pass { + Name "Caster" + Tags { "LightMode"="ShadowCaster" } + Offset 1, 1 + + Fog { Mode Off } + ZWrite On + ZTest LEqual + Cull Off + Lighting Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_shadowcaster + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + struct v2f { + V2F_SHADOW_CASTER; + float2 uv : TEXCOORD1; + }; + + uniform float4 _MainTex_ST; + + v2f vert (appdata_base v) { + v2f o; + TRANSFER_SHADOW_CASTER(o) + o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); + return o; + } + + uniform sampler2D _MainTex; + uniform fixed _Cutoff; + + float4 frag (v2f i) : COLOR { + fixed4 texcol = tex2D(_MainTex, i.uv); + clip(texcol.a - _Cutoff); + SHADOW_CASTER_FRAGMENT(i) + } + ENDCG + } + } + // 1 texture stage GPUs + SubShader { + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } + LOD 100 + + Cull Off + ZWrite Off + Blend One OneMinusSrcAlpha + + Pass { + Tags { "LightMode"="Vertex" } + ColorMaterial AmbientAndDiffuse + Lighting On + SetTexture [_MainTex] { + Combine texture * primary DOUBLE, texture * primary + } + } + } +} \ No newline at end of file diff --git a/spine-unity/Assets/Spine/Shaders/SkeletonLit.shader.meta b/spine-unity/Assets/Spine/Shaders/SkeletonLit.shader.meta new file mode 100644 index 000000000..a8444eec9 --- /dev/null +++ b/spine-unity/Assets/Spine/Shaders/SkeletonLit.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: bd83c75f51f5e23498ae22ffcdfe92c3 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/spine-unity/Assets/examples/dragon/dragon.mat b/spine-unity/Assets/examples/dragon/dragon.mat index 4b6dce2da..47ebfa052 100644 Binary files a/spine-unity/Assets/examples/dragon/dragon.mat and b/spine-unity/Assets/examples/dragon/dragon.mat differ diff --git a/spine-unity/Assets/examples/dragon/dragon.unity b/spine-unity/Assets/examples/dragon/dragon.unity index 39096fd24..e6bf9cbae 100644 Binary files a/spine-unity/Assets/examples/dragon/dragon.unity and b/spine-unity/Assets/examples/dragon/dragon.unity differ diff --git a/spine-unity/Assets/examples/dragon/dragon2.mat b/spine-unity/Assets/examples/dragon/dragon2.mat index 0ae26f6df..19a78e53a 100644 Binary files a/spine-unity/Assets/examples/dragon/dragon2.mat and b/spine-unity/Assets/examples/dragon/dragon2.mat differ diff --git a/spine-unity/Assets/examples/goblins/goblins.mat b/spine-unity/Assets/examples/goblins/goblins.mat index 5f3c190da..0a99dbb15 100644 Binary files a/spine-unity/Assets/examples/goblins/goblins.mat and b/spine-unity/Assets/examples/goblins/goblins.mat differ diff --git a/spine-unity/Assets/examples/goblins/goblins.unity b/spine-unity/Assets/examples/goblins/goblins.unity index 431e59489..dc8455615 100644 Binary files a/spine-unity/Assets/examples/goblins/goblins.unity and b/spine-unity/Assets/examples/goblins/goblins.unity differ