ShaderLab Пропустить метки в ссылке URP
В этом разделе содержатся описания URP-специфических тегов ShaderLab Pass.
Примечание: URP не поддерживает следующее LightMode Метки:
Always,ForwardAdd,PrepassBase,PrepassFinal,Vertex,VertexLMRGBM,VertexLM.
LightMode
Значение этого тега позволяет конвейеру определить, какой Проход использовать при выполнении различных частей Render Pipeline.
Если вы не устанавливаете тег LightMode в Пропуске, URP использует значение тега SRPDefaultUnlit для этого Пропуска.
Тег LightMode может иметь следующие значения.
| Свойство | Описание | PassType |
|---|---|---|
| UniversalForward | Pass рендирует геометрию объекта и оценивает все вклады света. URP использует это значение тега в Path Forward Rendering. | ScriptableRenderPipeline |
| UniversalGBuffer | Проход отображает геометрию объекта без оценки вклада света. Используйте это значение тега в Проходах, которые Unity должен выполнять в Пути отложенного отображения. | ScriptableRenderPipeline |
| UniversalForwardOnly | Pass отображает геометрию объекта и оценивает все световые вклады, аналогично тому, как LightMode имеет UniversalForward значение. Разница от UniversalForward это URP может использовать Пропуск как для Прямого, так и для Отложенного Пути Рендирования. Используйте это значение, если определенный Пропуск должен отображать объекты с Путем Прямого Отображения, когда URP использует Путь отложенного отображения. Например, используйте этот тег, если URP отображает сцену с использованием Пути отложенного отображения, и сцена содержит объекты с данными шейдера, которые не соответствуют GBuffer, такие как нормы Clear Coat. Если шейдер должен рендировать как в Продвинутом, так и в Отложенном Пути Рендирования, объявьте два Прохода с UniversalForward и UniversalGBuffer значения тегов.Если шейдер должен рендировать, используя Путь прямого рендеринга, независимо от Пути рендеринга, URP Рендерер использует, объявляет только Pass с LightMode tag set для UniversalForwardOnly.Если вы используете SSAO Функция Renderer, добавить пропуск с LightMode tag set для DepthNormalsOnly. Для получения дополнительной информации, проверьте DepthNormalsOnly значение. |
ScriptableRenderPipeline |
| DepthNormalsOnly | Используйте это значение в сочетании с UniversalForwardOnly в Пути Отложенного Рендирования. Это значение позволяет Unity рендировать шейдер в Глубине и нормальном предпроходе. В Пути Отложенного Рендирования, если пропуск со значением тега DepthNormalsOnly отсутствует, Unity не генерирует окклюзию окружающей среды вокруг Сетки. |
ScriptableRenderPipeline |
| Universal2D | Pass рендирует объекты и оценивает вклад 2D в свет. URP использует это значение тега в 2D Renderer. | ScriptableRenderPipeline |
| ShadowCaster | Pass отображает глубину объекта с точки зрения освещения в карте тени или текстуре глубины. | ShadowCaster |
| DepthOnly | Pass отображает только информацию о глубине с точки зрения Camera в текстуру глубины. | ScriptableRenderPipeline |
| Цель | Unity выполняет этот Проход только при создании lightmaps в Unity Editor. Unity снимает этот Проход с шейдеров при создании Player. | Meta |
| SRPDefaultUnlit | Используйте это значение тега LightMode для рисования дополнительного Прохода при рендеринге объектов. Пример применения: рисование контура объекта. Это значение тега действительно как для Путей Продвижения, так и для Путей Отложенного Рендирования.URP использует это значение тега как значение по умолчанию, когда Проход не имеет тега LightMode. |
ScriptableRenderPipelineDefaultUnlit |
| MotionVectors | Используйте этот тег, чтобы добавить поддержку вектора движения к вашему шейдеру. Для более подробной информации см. Движение вектор пропуск для ShaderLab. | MotionVectors |
UniversalMaterialType
Unity использует этот тег в Пути отложенного отображения.
Тег UniversalMaterialType может иметь следующие значения.
Если этот тег не установлен в Пропуске, то Unity использует значение Lit.
| Свойство | Описание |
|---|---|
| Лит | Это значение указывает, что тип шейдера — Lit. Во время прохождения G-буфера Unity использует шаблон для маркировки пикселей, использующих тип шейдера Lit (спекулярная модель — PBR). Unity использует это значение по умолчанию, если тег не установлен в проходе. |
| SimpleLit | Это значение указывает, что тип шейдера SimpleLit. Во время прохождения G-буфера, Unity использует шаблон для маркировки пикселей, которые используют тип шейдера SimpleLit (зеркальная модель — Блинн-Фонг). |