Directorio de artículos
Descripción del requisito
Los objetos en un cierto nivel siempre se representan delante de otro nivel.
La primera idea es definitivamente usar el sombreador del material. Si los objetos en estos dos niveles usan materiales diferentes, puede ajustar la cola de renderizado del material.
Además, otra forma de mantener el material sin cambios es aumentar las características de renderizado ajustando RenderPipelineAsset y ajustándolo según el nivel.
El nivel aquí se refiere a la capa del objeto.
Especificar plantilla de escritura de capa
Usando Urp, abra UniversalRenderPipelineAsset_Renderer, Agregar característica
Desactive la representación predeterminada para el nivel especificado y use la función
Supongamos que necesitamos que PlayerBack esté detrás de Player, renderice primero la capa PlayerBack,
La cola es consistente con la cola de renderizado de material de la capa anunciada.
Máscara de capa selecciona la capa de destino a renderizar.
No escriba la profundidad, escriba la plantilla.
La capa de destino realiza pruebas de plantilla después de escribir la capa.
La capa de destino realiza una prueba de plantilla después de escribir la capa y solo se representará en la capa de destino (porque solo la capa de escritura puede pasar la prueba de plantilla)
La prueba de profundidad aquí siempre pasa, y la profundidad se escribe al mismo tiempo, el propósito es pasar la prueba de profundidad para la capa ordinaria (si aparece negro, es porque es necesario renderizar la capa ordinaria nuevamente)
capa normal
La capa ordinaria se representa normalmente. Debido a que la profundidad se ha escrito antes, se puede representar en la capa especificada y debido a que solo la capa especificada se escribe en la plantilla, no interferirá con otros niveles de representación (el principio de resaltar el especificado). La capa también es la prueba de plantilla de aplicación)
Efecto
Jugador rojo, PlayerBack blanco, PlayerBack siempre está detrás del Player