Сделать шейдер совместимым с путями отображения Deferred или Deferred+ в URP
Использование шейдера в путях отображения Deferred или Deferred+
Чтобы использовать шейдер в пути Отложенного рендеринга, добавьте тег UniversalGBuffer к Pass в коде ShaderLab. Unity выполняет шейдер во время прохода рендеринга G-буфера.
Например:
Shader "Examples/ExamplePassFlag"
{
SubShader
{
Pass
{
Tags
{
"RenderPipeline" = "UniversalPipeline"
"LightMode" = "UniversalGBuffer"
}
// The rest of the code that defines the Pass goes here.
}
}
}
Использовать шейдер в прямом проходе путей отображения Deferred или Deferred+
Чтобы использовать шейдер в пути Отложенного отображения, добавьте метки UniversalForwardOnly и DepthNormalsOnly к тегу Pass в коде ShaderLab. Unity выполняет шейдер во время прохождения отображения G-буфера.
Например:
Shader "Examples/ExamplePassFlag"
{
SubShader
{
Pass
{
Tags {
"RenderPipeline" = "UniversalPipeline"
"LightMode" = "UniversalForwardOnly"
"LightMode" = "DepthNormalsOnly"
}
// The rest of the code that defines the Pass goes here.
}
}
}
Укажите модель освещения шейдера
Чтобы указать модель освещения шейдера как Lit или Simple Lit, используйте тег UniversalMaterialType. Например:
Shader "Examples/ExamplePassFlag"
{
SubShader
{
Pass
{
Tags
{
"RenderPipeline" = "UniversalPipeline"
"LightMode" = "UniversalGBuffer"
"UniversalMaterialType" = "Lit"
}
// The rest of the code that defines the Pass goes here.
}
}
}