Отбрасывание Тени в Unreal Engine 4

0
9
Отбрасывание Тени в Unreal Engine 4

Тени заставляют объекты чувствовать себя заземленными в мире и дают зрителю ощущение глубины и пространства. Статические тени свободны по мере рендеринга, но динамические тени могут быть одним из самых больших истоков производительности. В этом документе описываются основы четырех типов отбрасывания теней, которые вы можете использовать в Unreal Engine 4.

Статическое Освещение

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

Бронзовый персонаж слева стоит в свете статического освещения, оно ничем не влияет на него (ни освещение, ни тени), а справа – свет стационарного освещения.

Каскадные теневые карты Направленного света – тени всей сцены

Направленное стационарное освещение являются особенным, потому что оно поддерживает тени всей сцены через каскадные карты теней Cascaded Shadow Maps одновременно со статическим затенением. Это очень полезно в уровнях с большим количеством воспроизводимой листвы; вы захотите иметь движущиеся тени вокруг игрока, но вы не захотите платить за то, чтобы иметь много каскадов, чтобы охватить большой диапазон обзора. Динамические тени исчезают в статических тенях на расстоянии, так что переход часто неразличим. Чтобы установить это, просто измените Dynamic Shadow Distance StationaryLight на DirectionalLightStationary, чтобы был диапазон, в котором вам нужно исчезновение.

Тени стационарного освещения

Динамические объекты (такие как StaticMeshComponents и SkeletalMeshComponents с подвижностью, установленными на Movable) должны интегрироваться в статическое затенение мира из теневых карт дальнего поля. Это достигается с помощью теней на каждый объект (Per Object). Каждый подвижный объект создает две динамических тени из стационарного света: тень для обработки статического мира, проливающийся на объект, и тень для обработки объекта, проникающего в мир. При такой настройке единственная стоимость затенения для стационарного света исходит от динамических объектов, на которые это влияет. Это означает, что стоимость может варьироваться от очень малого до большого количества, в зависимости от того, сколько динамических объектов есть. При наличии достаточно динамических объектов более эффективно использовать Movable light вместо этого.

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

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

Динамические тени

Подвижный (Movable) свет накладывает полностью динамические тени (и свет) на все. Ничего из его световых данных не будет запечено на световых картах, и он будет бесплатным для всех динамических теней. Статик меши, скелетные меши, эффекты и т.д… будут отображать и получать динамические тени из движущегося света.

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

Просмотр теней

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

Эти тени отображаются в редакторе с текстом «Preview», чтобы отличить их от ранее существовавших теней, как показано ниже.Просмотр теней UE4

Если вы проверите игру в редакторе до восстановления освещения, Preview Shadows исчезнет, ​​поскольку предварительный просмотр существует только в редакторе, а не во время воспроизведения в редакторе.1 Просмотр теней UE4

Чтобы создать тени из Preview Shadows, вам нужно будет выбрать Build Lighting из опции Build на панели инструментов главного редактора.2 Просмотр теней UE4

Вы можете отключить предварительный просмотр теней, сняв флажок Preview Shadows Indicator в меню Show/Visualize вьюпорта.

Если вы хотите настроить Материал Функции Освещения, используемый для проецирования этого текста, его можно найти по адресу: Engine/ EditorMaterials/PreviewShadowIndicator

Все вместе

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