Contact Shadows в Unreal Engine 4

0
97
Contact Shadows в Unreal Engine 4

При создании декораций и персонажей для вашего приложения есть моменты, когда вам нужно добавить визуальную глубину в рендеринг. Добавление Contact Shadows – отличный способ улучшить визуальную глубину и точность вашей сцены, потому что они обеспечивают более точное приближение затенения, позволяя вам добавить контурную тень, которая не может быть достигнута с помощью других алгоритмов затенения.

Добавление детали к вашим персонажам

Один прецедент для включения контактных теней для заданного Point Light – это визуализация дополнительного уровня детализации (LOD) для ваших персонажей. Следующие изображения должны дать вам хорошее представление о том, что Contact Shadows может добавить к персонажу. Когда вы перетаскиваете ползунок сравнения справа налево, вы заметите, что персонаж, расположенный в радиусе Point Light с включенными контактными тенями, показывает дополнительные данные, которых нет при отключении Contact Shadows.

Contact Shadow выключен ue4

Contact Shadow выключен

Contact Shadow включен ue4Долгота Contact Shadow Освещения = 0,1

Когда вы включаете Contact Shadows, вы направляете рендерер для выполнения алгоритма экрана на пиксель на основе света. Это означает, что алгоритм Contact Shadow выполняет прохождение световых вычислений, выполняя маркер буфера глубины сцены, чтобы определить, должен ли запрашиваемый пиксель быть закрыт от источника Point Light, который активировал Contact Shadows.

Сцены с Contact Shadows

Другой вариант использования Contact Shadows – исключить необходимость вычисления теней отображения окклюзии параллакса в пиксельном шейдере материала, который поддерживает только один свет. На следующем рисунке представлено сравнение экранирующих экранов параллакса с включенными и отсутствующими Contact Shadows.сравнение с включенными и отсутствующими Contact Shadows ue4

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

Ниже приведен пример контактных теней, взаимодействующих с материалом отображения окклюзии параллакса.

Contact Shadows в Unreal Engine 4Обратитесь к длине Contact shadow = 0,1 на обоих освещениях.

Включение Contact Shadows

По умолчанию контактные тени отключены в режиме Point Lights, в результате чего длина Contact Shadow у Point Lights инициализируется на 0. Чтобы включить Contact Shadow, выполните следующие действия:

  1. Сначала перетащите Point Light в вашу сцену.перетащить Point Light на сцену ue4

2. Теперь разверните раздел Light на панели Details для вновь созданного компонента Point Light Component, щелкнув стрелку расширения.компонент Point Light Component ue4

3. Чтобы включить contact shadows, установите Contact Shadow Length на значение больше 0.параметр Contact Shadow Length ue4

Установив длину Contact Shadows на значение больше 0, вы направляете рендерер для отслеживания лучей от положения пикселя к источнику света через буфер глубины сцены. Как правило, вам нужно установить длину Contact Shadows на максимальное значение 1, где 1 означает, что луч пересекает весь экран. Принимая во внимание, что установка длины Contact Shadows на значение 0,5 означает, что луч пересекает только половину экрана. Обратите внимание, что количество выборок, взятых в буфере глубины сцены, остается постоянным, а это означает, что при увеличении длины Contact Shadows вы увидите больше шума (артефактов). В основном длина Contact Shadows 0,75 генерирует больше шума, чем длина 0,1.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя: