Прямое освещение каскадными картами теней(затенение всей сцены) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Прямое освещение каскадными картами теней(затенение всей сцены)



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

Тени Стационарных источников света

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

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

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

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

Динамические тени самые ресурсоёмкие.

Превью теней

Когда редактируете стационарное или статическое освещение, тени могут стать «незапечёнными», Preview Shadowing показывает вам как будут выглядеть ваши тени после запекания.

Такие (имеется ввиду незапечённые) тени показываются в редакторе с наложенным поверх текстом «Preview «, для распознавания их среди других теней.

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

Для того, чтобы получить тени из превью теней, вам необходимо выбрать опцию Build Lighting из меню Build.

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

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

Всё вместе

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


 

Постобработка

Использование эффектов постобработки (Post Process Effects) в Unreal Engine позволяет художникам и дизайнерам изменять общий вид и атмосферу сцены. Примером подобных эффектов может служить блюм(Эффект свечения), ambient occlusion, и цветокоррекция.

В UE4 существует несколько способов настроить постобработку для вашего проекта. Настроить можно через камеру (через которую пользователь видит сцену вашего проекта. Например камера внутри класса персонажа), а так же через специальные зоны постобработки, именуемыми Post Process Volume. Процесс редактирования настроект ничем не отличается, однако у Post Process Volum имеется ряд настроект, которые определяют зону смешивания и активации настроек.

Post Process Volume

Post Process Volume – особый тип объема (Вольюм).
По существу, в Unreal Engine 4 каждый объем постобработки – всего лишь один из типов слоев, которые могут создаваться с помощью игрового кода (эффект попадания), пользовательского интерфейса (меню паузы), камеры (виньетка) или матини (matinee; эффект старины). Каждый отдельный слой имеет свой вес, что позволяет отлично управлять ими, смешивать их.
Смешивание выполняется с использованием линейной интерполяции и только для активных объемов. К тому же, эффекты в PostProcessVolume проявятся лишь тогда, когда камера окажется в его пределах (если неактивен параметр «Unbound» (Бесконечный). Подробнее о параметрах PostProcessVolume можно узнать в следующей таблице:

Значение Описание
Settings Настройки постобработки для объема. Флажки большинства параметров определяют, как будут смешиваться одни эффекты с другими.
Priority Определяет порядок, в котором происходит комбинирование нескольких объемов. Тот, который имеет больший приоритет, превалирует над остальными, даже если он перекрывают его.
Blend Radius Дистанция в единицах Unreal Engine, начиная с которой будет происходить смешивание эффектов пост обработки. Материалы пост обработки будут игнорировать этот параметр.
Blend Weight Влияние волюма. 0 – отсутствие эффектов, 1 – полное влияние.
Enabled Взаимодействует ли волюм с постобработкой или нет. Если да, то его настройки будут использоваться для смешивания.
Unbound Определяет область действия волюма. Если у параметра имеется флажок, то волюм будет действовать во всем мире, в противном случае, только в своих пределах.

Настройки постобработки

Anti-Aliasing

Anti-aliasing – Отвечает за сглаживание объектов. Разделяют между собою: FXAA, MSAA, Temporal AA.

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

FXAA (F ast appro X imate A nti- A liasing) — метод сглаживания от Nvidia представляющий собой однопроходный пиксельный шейдер, который обсчитывает результирующий кадр на этапе постобработки. Является более производительным решением, по сравнению с традиционным

MSAA (Multi-Sampling Anti-Aliasing), что, однако, сказывается на точности работы и качестве изображения.

Temporal AA (Временной АА) пытается уменьшить или устранить последствия временного алиасинга. Временное сглаживание обусловлено частотой дискретизации (т.е, кол-во кадров в секунду) сцены, но её скорость очень мала по сравнению со скоростью обработки объектов внутри сцены. Из-за этого предметы появляются не на своем месте или прыгают вместо плавного продвижения к движущемуся объекту. Чтобы избежать артефактов, частота FPS должна быть вдвое выше, чем самый быстрый движущийся объект. Поведение затвора камеры сильно влияет на сглаживание, т.к общий вид экспозиции через какое-то время ставит определенное ограничение по времени, что является важным фактором сглаживания. Временной анти-алиасинг может быть использован для камеры для достижения лучшего ограничения пропускной способности. Типичный пример - в фильме появляется колесо автомобиля, которое крутится в обратном направлении. Это так называемый эффект обратного кручения.

Настройки постобработки содержат всевозможные эффекты, которыми можно управлять. Все параметры объявляются в классе UScene. Волюм постобработки имеет структуру FPostProcessSettings и содержит в себе все соответствующие параметры.

Bloom

Bloom – это особое явление, наблюдаемое в реальном мире, которое можно использовать для придания эффекта свечения ярким участкам изображения. Свечения можно заметить, если смотреть на яркий и светлый объект, расположенный на гораздо более темном фоне. В этом случае наблюдаются и другие эффекты, такие как блики, но они не входят в понятие обычного Блума.

Наши дисплеи (ТВ, TFT и другие) обычно не поддерживают HDR (Высокий Динамический Диапазон, High Dynamic Range), поэтому мы не можем по-настоящему рендерить крайне яркие объекты. Вместо этого, мы симулируем сопутствующие эффекты, которые воспринимаются нашими глазами (подповерхностное рассеивание; subsurface scattering). Эффект, вероятно, физически не особо правильный, но он помогает передать необходимую яркость объекта и привнести реализма в LDR-изображение (Низкий Динамический Диапазон; Low Dynamic Range).

Эффект Bloom

Свечение можно реализовать с единичным размытием по Гауссу. Но для лучшего качества, комбинируются несколько подходов с различным радиусом. А для лучшей производительности – создается большее размытие при меньшем разрешении. В UE3 у нас имелось 3 размытия по Гауссу в разрешении ¼, 1/8, 1/16. Теперь же – 5 видов. От Blur1 до Blur5, от ½, до 1/32, соответственно. Более того, если потребуется, можно добавить Blur0 для исходного разрешения.

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



Поделиться:


Последнее изменение этой страницы: 2020-12-17; просмотров: 125; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.60.166 (0.011 с.)