Полноэкранный граф шейдера для URP
Исследуйте свойства и настройки, которые можно использовать для настройки графика полноэкранного шейдера по умолчанию в Universal Render Pipeline (URP).
Создание полноэкранного графа шейдера для применения материала на весь экран в конце процесса рендеринга, для реализации пользовательских эффектов пост-процесса и пользовательских эффектов прохода.
Контексты
Деффект Фрагмент Контекст содержит следующие Блоки. Какие Блоки отображаются, может меняться в зависимости от настройки графика.
Контекст фрагмента
| Вводимые ресурсы | Тип | Описание |
|---|---|---|
| Базовый цвет | Vector3 | Задает базовый цвет материала. По умолчанию это Color.grey. |
| Альфа | Поплавок | Задает альфа-коэффициент материала. Диапазон от 0 до 1. По умолчанию 1. |
| Глубина глаз | Поплавок | Масштабирует значение в мировое пространство для представления глубины от близкой плоскости. Это значение представляет точку в мировом пространстве, определяемую используемой платформой. По умолчанию 0. Для получения дополнительной информации см. Направление глубины (Z) в шейдерах. Это свойство доступно, только если включено Испытание на глубину или Глубина записи, и установить Режим записи глубины до Глаз в настройках графика. |
| Linear01 Глубина | Поплавок | Использует значение линейной глубины между 0 и 1. По умолчанию 0. Это свойство доступно только при включении Испытание на глубину или Глубина записи, и установить Режим записи глубины до Линейный 01 в настройках графика. |
| Глубина | Поплавок | Выбирает значение глубины из буфера глубины. Вы также можете использовать эту настройку с нелинейным значением глубины. По умолчанию 0. Это свойство доступно только если вы включили Испытание на глубину или Глубина записии установили Depth Write Mode на Сырое в настройках графика. |
Настройки графика
Исследуйте настройки графа шейдера, которые можно использовать для настройки контекстов вершины и фрагмента.
Более подробную информацию о настройках графа, общих для всех шейдеров графа, см. на вкладке Настройки Графа.
| Настройка | Описание |
|---|---|
| Разрешить переопределение материала | Позволяет экземплярам материала переопределять свойства, открытые в графе шейдера. Когда параметр отключён, материалы, использующие этот шейдер, всегда применяют значения, заданные в ассете шейдера. |
| Режим смешивания | Указывает режим смешивания, используемый Unity при отображении полноэкранного шейдера. Каждый параметр имеет эквивалент BlendMode операции. Варианты:
|
| Испытание на глубину | Указывает функцию сравнения, используемую для определения того, проходит ли пиксель тест глубины. Параметры:
|
| Глубина записи | Определяет, записывает ли шейдер информацию о глубине в буфер глубины. |
| Глубина режима записи | Определяет формат ввода значения глубины до того, как Unity передает его в буфер глубины. Это свойство определяет, какой блок глубины можно использовать в контексте Фрагмента.
|
| Включить шаблон | Управляет тем, как граф шейдера использует буфер шаблона. Более подробную информацию об этих параметрах см. в Включить параметры шаблона. |
| Настраиваемый редактор GUI | Отображает пользовательский редактор GUI в Inspector окно материала. Введите имя класса GUI в это поле. Дополнительные сведения см. в Контроль свойств материала в окне Inspector. |
Пользовательские настройки режима смешивания
Свойства Настраиваемый режим смешивания определяют операцию смешивания, используемую для альфа- и цветовых каналов этого полноэкранного графа шейдера.
В свойствах режима смешивания Срц (источник) относится к самому полноэкранному шейдеру. Дст (назначение) относится к необработанному выходу камеры Scene, на который этот шейдер не влияет. Операция смешивания применяет содержимое источника к содержимому назначения для получения результата отображения.
Более подробную информацию об уравнении смешивания см. в команде ShaderLab: Blend.
Режим смешивания цветов
Определяет уравнение смешивания, которое Unity использует для красного, зеленого и синего каналов (RGB). Каждая настройка определяет одну часть уравнения.
| Свойство | Описание |
|---|---|
| Цвет SRC | Задает режим смешивания исходного цвета. |
| Цвет дст | Задает режим смешивания цвета. |
| Цвет операции | Определяет, как объединять исходный и конечный цвет во время процесса смешивания. Информацию об этих параметрах см. в команде ShaderLab: BlendOp. |
Режим альфа-смешивания
Определяет уравнение смешивания, которое Unity использует для альфа-канала. Каждая настройка определяет одну часть уравнения.
| Свойство | Описание |
|---|---|
| Срц | Задает режим смешивания источника альфа. Информацию об этих параметрах см. в Допустимые значения параметров. |
| Дст | Устанавливается режим смешивания целевой альфы. Информацию об этих параметрах см. в Допустимые значения параметров. |
| Операция Альфа | Определяет, как объединять исходную и конечную альфа-части в процессе слияния. Дополнительные сведения об этих параметрах см. в команде ShaderLab: BlendOp. |
Включить параметры шаблона
Свойства Enable Stencil влияют на то, как этот полноэкранный граф использует буфер шаблона. Дополнительные сведения о буфере шаблона см. в SL-Stencil.
| Свойство | Описание |
|---|---|
| Справочник | Определяет значение ссылок шаблона, используемое этим шейдером для всех операций с шаблоном. |
| Маска чтения | Определяет, какие биты этот шейдер может читать во время тестирования шаблона. |
| Маска записи | Определяет, в какие биты этот шейдер может записывать во время тестирования шаблона. |
| Сопоставление | Определяет функцию сравнения, которую использует этот шейдер во время тестирования шаблона. Параметры:
|
| Пропуск | Определяет операцию, выполняемую этим шейдером, если тест шаблона завершен успешно. Дополнительные сведения о параметрах этого свойства см. в Параметры прохождения и отказа шаблона. |
| Файл | Определяет операцию, выполняемую этим шейдером, если тест шаблона не удаётся. Дополнительную информацию о параметрах этого свойства см. в Параметры прохождения и отказа шаблона. |
| Глубина отказа | Определяет операцию, выполняемую этим шейдером в случае неудачи теста глубины. Эта опция не имеет значения, если значением теста глубины Сравнение является Никогда или Отключено. Дополнительную информацию о параметрах этого свойства см. в Параметры пропуска и отказа шаблона. |
Параметры прохождения и непрохождения шаблона
| Вариант | Описание |
|---|---|
| Держите | Не изменяет текущее содержимое буфера шаблона. |
| Нуль | Записывает значение 0 в буфер шаблона. |
| Заменить | Записывает значение Справочник в буфер. |
| IncrementSaturate | Добавляет значение 1 к текущему значению в буфере. Значение 255 остается 255. |
| DecrementSaturate | Вычитает значение 1 из текущего значения в буфере. Значение 0 остается равным 0. |
| Инверсия | Выполняет битовую операцию NOT. Это означает, что она отрицает все биты текущего значения в буфере. Например, десятичное значение 59 в двоичной системе является 0011 1011. Операция NOT переворачивает каждый бит на 1100 0100, что является десятичным значением 196. |
| IncrementWrap | Добавляет значение 1 к текущему значению в буфере. Значение 255 становится 0. |
| DecrementWrap | Вычитает значение 1 из текущего значения в буфере. Значение 0 превращается в 255. |
Дополнительные ресурсы
- Создать полноэкранный Shader Graph
- Shader Graph руководство
- Команды состояния GPU в справочнике ShaderLab