Я хочу отсортировать свои спрайты, используя слои сортировки Unity. Я прикрепил пользовательский шейдер к одному из своих спрайтов. К сожалению, спрайт с этим шейдером всегда отрисовывается позади других спрайтов, игнорируя слой сортировки.
Как реализовать уважение слоя сортировки в моем шейдере?
Это шейдер, о котором идет речь: заранее спасибо
Properties {
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Main Tex (RGBA)", 2D) = "white" {}
_Progress ("Progress", Range(0.0,1.0)) = 0.0
}
SubShader {
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _Color;
uniform float _Progress;
struct v2f {
float4 pos : POSITION;
float2 uv : TEXCOORD0;
};
v2f vert (appdata_base v)
{
v2f o;
o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
o.uv = TRANSFORM_UV(0);
return o;
}
half4 frag( v2f i ) : COLOR
{
half4 color = tex2D( _MainTex, i.uv);
float a = color.a;
if(i.uv.y < _Progress){
color = _Color;
}
color.a = a;
return color;
}
ENDCG
}
}
}
Я знаю, что мне нужно установить некоторые теги, подобные этому, но я не могу найти подходящую ссылку, а пробы и ошибки ни к чему не приводят:
Tags { "Queue"="Overlay+1" }
ZTest Off
Blend SrcAlpha OneMinusSrcAlpha
Lighting Off
ZWrite On