Я работаю над поверхностным шейдером, который делает объекты частично прозрачными в зависимости от положения другого Gameobject.Однако шейдер работает как часть прозрачной очереди, что не позволяет ему получать тени.Итак, теперь у меня есть очередь AlphaTest, и она прекрасно работает, однако в игре она выглядит странно и рендерится несколько раз, в то время как в редакторе пауза работает именно так, как я хочу, чтобы она выглядела.В игре я также замечаю некоторый эффект перетаскивания при перемещении вида, например, когда он рисует несколько раз.И также кажется, что первый кадр правильный, но он быстро становится неправильным, как показано ниже.Что может быть причиной этого?
В игре:
В редакторе приостановлена:
Используемые теги и смесь:
SubShader {
/*
Tags { "RenderType"="Transparent" "Queue"="Transparent"}
Blend SrcAlpha OneMinusSrcAlpha
*/
/*
TODO
This allows to cast shadows but for some reason it doens't clear the pixels between draws or something
Could also be draw order
Pausing in editor shows that it is working
*/
//
Tags { "Queue"="AlphaTest"
"IgnoreProjector"="True"
"RenderType"="TransparentCutout" }
Blend SrcAlpha OneMinusSrcAlpha
//
CGPROGRAM