Unity 6.3
0 онлайн 54 гостей 3 в системе
Вход

Полноэкранный граф шейдера для URP

Исследуйте свойства и настройки, которые можно использовать для настройки графика полноэкранного шейдера по умолчанию в Universal Render Pipeline (URP).

Создание полноэкранного графа шейдера для применения материала на весь экран в конце процесса рендеринга, для реализации пользовательских эффектов пост-процесса и пользовательских эффектов прохода.

Контексты

Деффект Фрагмент Контекст содержит следующие Блоки. Какие Блоки отображаются, может меняться в зависимости от настройки графика.

Контекст фрагмента

Вводимые ресурсы Тип Описание
Базовый цвет Vector3 Задает базовый цвет материала. По умолчанию это Color.grey.
Альфа Поплавок Задает альфа-коэффициент материала. Диапазон от 0 до 1. По умолчанию 1.
Глубина глаз Поплавок Масштабирует значение в мировое пространство для представления глубины от близкой плоскости. Это значение представляет точку в мировом пространстве, определяемую используемой платформой. По умолчанию 0. Для получения дополнительной информации см. Направление глубины (Z) в шейдерах. Это свойство доступно, только если включено Испытание на глубину или Глубина записи, и установить Режим записи глубины до Глаз в настройках графика.
Linear01 Глубина Поплавок Использует значение линейной глубины между 0 и 1. По умолчанию 0. Это свойство доступно только при включении Испытание на глубину или Глубина записи, и установить Режим записи глубины до Линейный 01 в настройках графика.
Глубина Поплавок Выбирает значение глубины из буфера глубины. Вы также можете использовать эту настройку с нелинейным значением глубины. По умолчанию 0. Это свойство доступно только если вы включили Испытание на глубину или Глубина записии установили Depth Write Mode на Сырое в настройках графика.

Настройки графика

Исследуйте настройки графа шейдера, которые можно использовать для настройки контекстов вершины и фрагмента.

Более подробную информацию о настройках графа, общих для всех шейдеров графа, см. на вкладке Настройки Графа.

Настройка Описание
Разрешить переопределение материала Позволяет экземплярам материала переопределять свойства, открытые в графе шейдера. Когда параметр отключён, материалы, использующие этот шейдер, всегда применяют значения, заданные в ассете шейдера.
Режим смешивания Указывает режим смешивания, используемый Unity при отображении полноэкранного шейдера. Каждый параметр имеет эквивалент BlendMode операции. Варианты:
  • Инвалиды: Не использует режим смешивания. При записи в Blit shader используйте эту опцию, чтобы избежать нежелательных эффектов.
  • Альфа: Расчет прозрачности с использованием значения альфы материала.
  • Премножение: Рассчитывает прозрачность с использованием альфа-значения материала, но умножает значения RGB на альфа-значение сначала.
  • Аддитив: добавляет цвет материала к цвету фона.
  • Умножение: Умножает цвет материала на цвет фона.
  • Таможня: Устанавливает каждый параметр уравнения смешивания вручную. Дополнительную информацию о параметрах для пользовательского режима смешивания см. в Пользовательские настройки режима смешивания.
Испытание на глубину Указывает функцию сравнения, используемую для определения того, проходит ли пиксель тест глубины. Параметры:
  • Инвалиды: Не выполняет проверку глубины.
  • никогда: пиксель никогда не проходит тест глубины.
  • Минус: Проходит, если входящее значение глубины меньше, чем сохраненная глубина.
  • Равные: Проходит, если входящее значение глубины равно сохраненной глубине.
  • L Equal: Проходит, если входящее значение глубины меньше или равно введенной глубине.
  • Больше: Проходит, если входящее значение глубины больше, чем хранимая глубина.
  • Не равны: Проходит, если входящее значение глубины не равно сохраненной глубине.
  • G Equal: Проходит, если входящее значение глубины больше или равно введенной глубине.
  • Всегда: пиксель всегда проходит тест глубины.
Глубина записи Определяет, записывает ли шейдер информацию о глубине в буфер глубины.
Глубина режима записи Определяет формат ввода значения глубины до того, как Unity передает его в буфер глубины. Это свойство определяет, какой блок глубины можно использовать в контексте Фрагмента.
  • Линейный глаз: Масштабирует значение в мировое пространство, чтобы представить глубину из близкой плоскости.
  • Linear 01: Использует линейное значение глубины между 0 и 1.
  • Сырое: Выбирает значение глубины из буфера глубины.
Это свойство доступно только при включении Испытание на глубину или Глубина записи в настройках графика.
Включить шаблон Управляет тем, как граф шейдера использует буфер шаблона. Более подробную информацию об этих параметрах см. в Включить параметры шаблона.
Настраиваемый редактор GUI Отображает пользовательский редактор GUI в Inspector окно материала. Введите имя класса GUI в это поле. Дополнительные сведения см. в Контроль свойств материала в окне Inspector.

Пользовательские настройки режима смешивания

Свойства Настраиваемый режим смешивания определяют операцию смешивания, используемую для альфа- и цветовых каналов этого полноэкранного графа шейдера.

В свойствах режима смешивания Срц (источник) относится к самому полноэкранному шейдеру. Дст (назначение) относится к необработанному выходу камеры Scene, на который этот шейдер не влияет. Операция смешивания применяет содержимое источника к содержимому назначения для получения результата отображения.

Более подробную информацию об уравнении смешивания см. в команде ShaderLab: Blend.

Режим смешивания цветов

Определяет уравнение смешивания, которое Unity использует для красного, зеленого и синего каналов (RGB). Каждая настройка определяет одну часть уравнения.

Свойство Описание
Цвет SRC Задает режим смешивания исходного цвета.
Цвет дст Задает режим смешивания цвета.
Цвет операции Определяет, как объединять исходный и конечный цвет во время процесса смешивания. Информацию об этих параметрах см. в команде ShaderLab: BlendOp.

Режим альфа-смешивания

Определяет уравнение смешивания, которое Unity использует для альфа-канала. Каждая настройка определяет одну часть уравнения.

Свойство Описание
Срц Задает режим смешивания источника альфа. Информацию об этих параметрах см. в Допустимые значения параметров.
Дст Устанавливается режим смешивания целевой альфы. Информацию об этих параметрах см. в Допустимые значения параметров.
Операция Альфа Определяет, как объединять исходную и конечную альфа-части в процессе слияния. Дополнительные сведения об этих параметрах см. в команде ShaderLab: BlendOp.

Включить параметры шаблона

Свойства Enable Stencil влияют на то, как этот полноэкранный граф использует буфер шаблона. Дополнительные сведения о буфере шаблона см. в SL-Stencil.

Свойство Описание
Справочник Определяет значение ссылок шаблона, используемое этим шейдером для всех операций с шаблоном.
Маска чтения Определяет, какие биты этот шейдер может читать во время тестирования шаблона.
Маска записи Определяет, в какие биты этот шейдер может записывать во время тестирования шаблона.
Сопоставление Определяет функцию сравнения, которую использует этот шейдер во время тестирования шаблона. Параметры:
  • Отключено: Не выполняет тест шаблона.
  • никогда: тест по шаблону никогда не проходит.
  • Минус: Тест шаблона проходит, если значение глубины пикселя меньше значения, хранящегося в буфере глубины.
  • Равные: Тест шаблона проходит, если значение глубины пикселя равно значению, хранящемуся в буфере глубины.
  • Less Equal: Тест шаблона проходит, если значение глубины пикселя меньше или равно значению буфера глубины. Это отображает тестируемый пиксель перед другими пикселами.
  • Больше: Тест шаблона проходит, если значение глубины пикселя больше значения, хранящегося в буфере глубины.
  • Не равны: Тест шаблона проходит, если значение глубины пикселя не равно значению, хранящемуся в буфере глубины.
  • Больше равен: Тест шаблона проходит, если значение глубины пикселя больше или равно значению, хранящемуся в буфере глубины.
  • Всегда: Тест шаблона всегда проходит, и Unity не сравнивает значение глубины пикселя со значением, которое оно хранит в буфере глубины.
Пропуск Определяет операцию, выполняемую этим шейдером, если тест шаблона завершен успешно.
Дополнительные сведения о параметрах этого свойства см. в Параметры прохождения и отказа шаблона.
Файл Определяет операцию, выполняемую этим шейдером, если тест шаблона не удаётся.
Дополнительную информацию о параметрах этого свойства см. в Параметры прохождения и отказа шаблона.
Глубина отказа Определяет операцию, выполняемую этим шейдером в случае неудачи теста глубины. Эта опция не имеет значения, если значением теста глубины Сравнение является Никогда или Отключено.
Дополнительную информацию о параметрах этого свойства см. в Параметры пропуска и отказа шаблона.

Параметры прохождения и непрохождения шаблона

Вариант Описание
Держите Не изменяет текущее содержимое буфера шаблона.
Нуль Записывает значение 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.

Дополнительные ресурсы