Шестисторонний шейдер для URP
Исследуйте свойства и настройки, которые можно использовать для настройки графа шестистороннего шейдера по умолчанию в Universal Render Pipeline (URP).
Используйте граф Шестистороннего Шейдера для определения материалов, реагирующих на свет из шести направлений. Это полезно для моделирования реалистичных объемных эффектов, таких как дым, пыль и облака в URP.
Контексты
Деффект Вершина и Фрагмент Контексты содержат следующие Блоки. Какие Блоки отображаются, может меняться в зависимости от настройки графика.
Вершинный контекст
| Вводимые ресурсы | Тип | Описание |
|---|---|---|
| Позиция | Vector3 | Задает положение вершины в объектном пространстве. |
| Нормальная | Vector3 | Задает нормаль вершины в объектном пространстве. |
| Тангенс | Vector3 | Задает касательную вершины в пространстве объектов. |
Контекст фрагмента
| Вводимые ресурсы | Тип | Описание |
|---|---|---|
| Базовый цвет | Vector3 | Задает базовый цвет материала. По умолчанию это Color.grey. |
| Правый верхний | Vector3 | Задает цвет поверхностей, обращенных к положительной оси x (справа), положительной оси y (вверху) и отрицательной оси z (сзади). По умолчанию Color.grey. |
| Передняя левая нижняя | Vector3 | Задает цвет поверхностей, обращенных к отрицательной оси x (слева), отрицательной оси y (внизу) и положительной оси z (спереди). По умолчанию Color.grey. |
| Сила поглощения цвета | Поплавок | Управляет тем, насколько материал поглощает световой цвет, когда он проходит через объект. Более высокие значения увеличивают влияние цветов противоположной стороны на видимое затенение. По умолчанию 0.5. Это свойство доступно только если вы включили Используйте поглощение цвета в настройках графика. |
| Выбросы | Float3 | Задает цвет, который материал излучает в качестве источника света. По умолчанию это черный цвет. Дополнительные сведения см. в Добавить световое излучение к материалу. |
| Окклюзия окружающей среды | Поплавок | Устанавливается, сколько окружающего света достигает поверхности, вместо того, чтобы быть закрытым. Диапазон от 0 до 1, где 0 означает, что фрагмент полностью закрыт, а 1 означает, что фрагмент не закрыт вообще, так что окружающий цвет не меняется. По умолчанию 1. |
| Альфа | Поплавок | Устанавливается альфа материала. Диапазон от 0 до 1. По умолчанию 1. Это свойство доступно, только если вы установили Тип поверхности до Прозрачный или включили Альфа обрезка в настройках графика. |
| Альфа Клип Порог | Поплавок | Устанавливается минимальное значение альфа для видимости пикселей. Диапазон от 0 до 1. По умолчанию 0.5. Это свойство доступно только если вы включили Альфа-обрезку в настройках графика. |
Настройки графика
Исследуйте настройки графа шейдера, которые можно использовать для настройки контекстов вершины и фрагмента.
Более подробную информацию о настройках графа, общих для всех шейдеров графа, см. на вкладке Настройки Графа.
| Настройка | Описание |
|---|---|
| Разрешить переопределение материала | Позволяет экземплярам материала переопределять свойства, открытые в графе шейдера. Когда параметр отключён, материалы, использующие этот шейдер, всегда применяют значения, заданные в ассете шейдера. |
| Тип поверхности | Определяет, поддерживает ли материал прозрачность.
|
| Режим смешивания | Устанавливается, как шейдер смешивает цвет прозрачного материала с фоном. Это свойство доступно только, если вы установили Тип поверхности до прозрачный10. Предлагаются следующие варианты:
|
| Рендирование лица | Указывает, какие поверхности сетки будут отображаться шейдером. Параметры:
|
| Глубина записи | Определяет, записывает ли шейдер информацию о глубине в буфер глубины. Параметры:
|
| Испытание на глубину | Указывает функцию сравнения, используемую для определения того, проходит ли пиксель тест глубины. Параметры:
|
| Альфа клипинг | Отбрасывает пиксели, если их альфа-значение ниже порогового значения. При включении этого параметра Unity добавляет следующее: Альфа-порог клипа Блок в контексте Фрагмент. |
| Тени | Определяет, бросает ли материал тени на другие объекты. |
| Поддержка LOD Cross Fade | Включает поддержку переходного затухания уровня детализации (LOD) при использовании с рендером сетки, в котором включено переходное затухание группы LOD. |
| Дополнительные векторы движения | Управляет тем, как Unity генерирует векторы движения для этого материала, для размытия движения и временного сглаживания.
|
| Векторы движения | Включает поддержку вектора движения для мешей, передаваемых через файлы Alembic. Дополнительные сведения см. в Встроенная поддержка вектора движения в шейдере в URP. |
| Используйте поглощение цвета | Включает симуляцию света, проходящего через объект и поглощающего цвет с противоположной стороны. Когда вы включаете эту настройку, Unity добавляет блок Color Absorption Strength в контекст Фрагмента. |
| Настраиваемый редактор GUI | Отображает пользовательский редактор GUI в Inspector окно материала. Введите имя класса GUI в это поле. Дополнительные сведения см. в Контроль свойств материала в окне Inspector. |
Дополнительные ресурсы
- Реалистичное освещение дыма с 6-сторонним освещением в VFX График блог пост
- Внедрение шестиуровневого освещения для дыма, пыли и облаков VFX на Unity Обсуждения
- Начните с Shader Graph на Unity Learn