Освещенная Прозрачность в Unreal Engine 4

0
20
Освещенная Прозрачность в Unreal Engine 4

Прозрачные эффекты обычно подразделяются на несколько категорий: объемные; объемные, но достаточно плотные, чтобы иметь информацию о нормали; и поверхности. Для каждого из них необходимы различные методы освещения, поэтому материал должен указывать режим освещения прозрачности, который должен использоваться.

Освещенная полупрозрачность получает большую часть своего освещения через серию каскадных объемных текстур, ориентированных вокруг вида усечения. Это позволяет освещению быть известным в одном шаге вперед для любой точки внутри вольюмов, но имеет тот недостаток, что объемная текстура имеет довольно низкое разрешение и может покрывать только ограниченный диапазон глубины от зрителя.

Объем настраивается с помощью cvars, которые могут быть установлены по-разному на основе уровня масштабируемости:

  • r.TranslucencyLightingVolumeDim, который по умолчанию равен 64. Увеличение этого коэффициента в 2 раза увеличивает стоимость света до 8 раз.
  • r.TranslucencyLightingVolumeInnerDistance, который по умолчанию равен 1500. Повышение его увеличивает освещенность, но снижает эффективное разрешение.
  • r.TranslucencyLightingVolumeOuterDistance, значение которого по умолчанию составляет 5000. Повышение его увеличивает объем освещения, но снижает эффективное разрешение.

Затененное прямое освещение из всех типов подвижного света впрыскивается в объем светопрозрачного освещения. Также учитываются световые функции.Освещенная Прозрачность в Unreal Engine 4

Полупрозрачные материалы получают диффузный GI от Кэша непрямого освещения. Только один образец освещения интерполируется в центре границ объекта. Для всего объекта имеется только один образец, даже если это большая система частиц. Косвенное освещение интерполируется со временем, если центр границ изменяется, поэтому он не появляется.Косвенное освещение интерполируется UE4

Левая сфера освещена полупрозрачностью с использованием кэша непрямого света, правая сфера непрозрачна с запеченным освещением от Lightmass.

Объемные эффекты

Отбрасывание Теней и самозатенение

Полупрозрачность может отбрасывать тени на непрозрачный мир на себя и на другие освещенные полупрозрачные актеры. Это реализовано с помощью карт Непрозрачности Фурье, которые отлично справляются с затенением из объемных вольюмов, но имеют суровые звуковые артефакты с более непрозрачными полупрозрачными поверхностями. Прозрачность самозатенения проходит через вольюм освещения для точечного и прожекторного освещения, поэтому она часто не видна из-за низкого разрешения, если эффект не очень большой и плотный. Направленные огни, однако, делают полупрозрачное самозатенение на каждый пиксель и получают гораздо более высокое качество. Направленные огни также имеют подповерхностное затенение для освещенных материалов с использованием модели подповерхностного затенения.

Прозрачное самозатенение использует тени для каждого объекта, что означает, что для этого требуются определенные пользователем фиксированные границы системы частиц, и они должны быть правильными. Самый простой способ установить это – авторизовать движение частиц, а затем щелкнуть правой кнопкой мышки по кнопке «show bounds» на панели инструментов Cascade, в которой появится диалог, позволяющий создавать фиксированные границы. Очень большие системы самозатенения частиц будут уменьшены с помощью разрешения теневой карты, так как теневая карта растягивается, чтобы покрыть границы системы. Убедитесь, что ваши границы являются разумными, включив Show Bounds, которые можно найти в разделе Show -> Advanced -> Bounds. Затем выберите излучатель в редакторе и нарисуйте ограничивающий прямоугольник и сферу.

самозатенение 1 UE4самозатенение 2 UE4

Статическое затенение

Полупрозрачность может получать статическое затенение от стационарного света через специальную карту глубины теневой тени, сгенерированную Lightmass во время сборки освещения.

Прозрачные поверхности

Захваты отражений

Материалы TLM_Surface получают отражения на основе изображения (зеркальный GI) из отражений, размещенных на уровне. В отличие от непрозрачных материалов, применяется только одна кубическая карта захвата отражения (без смешивания), которая в настоящее время вызывает схлопывание, если объект приближается к другому захвату отражения. Карта cubemap также применяется, как если бы она лежала на бесконечности, а не поблизости, что может вызвать артефакты на больших плоских поверхностях.Захваты отражений UE4

Левая сфера полупрозрачна, справа непрозрачна, и оба они устанавливаются как металлы, что означает, что 100% освещения исходит от зеркального.

Ограничения

  • Освещенные полупрозрачные поверхности лишены прямого отзеркаливания.
  • Освещенные полупрозрачные поверхности получают все свое прямое освещение через текстуру освещения объемности прозрачности, что приводит к их меньшему разрешению, чем это необходимо для большинства материалов поверхности (стекло, вода).

Пиксельное прозрачное освещение

В отложенном рендере новая функциональность переднего затенения теперь может быть использована на полупрозрачных поверхностях, чтобы получать блики из нескольких источников света и отражения на основе изображения от параллакса отражений.

Чтобы включить пиксельное прозрачное освещение, установите режим освещения на Surface ForwardShading, а затем убедитесь, что Screen Space Reflections включены.настройка Surface ForwardShading UE4