Типы глубины резкости

В Unreal Engine 4 присутствует три реализации глубины резкости: Боке, по Гауссу и Радиальная

 

По Гауссу (Gaussian DoF)

Глубина резкости по Гауссу (Gaussian DoF): используется обычное размытие по Гауссу. Этот метод быстр и хорошо подходит для использовании в играх, где производительность критична.

Боке (Bokeh DoF)

Боке — это нечеткость, размытость отдельных областей изображения или фильма, как правило тех, которые не находятся в фокусе. Глубина резкости Боке (Bokeh DoF) – метод, где рендеринг каждого пикселя происходит с использованием текстуры, определяющей форму, с помощью которой можно добиться эффекта, производимого линзами камеры. Нынешняя реализация требовательна к ресурсам компьютера, поэтому применяется в половинчатом разрешении.

Еще один способ сохранения производительности – это использование адаптивной глубины резкости (Adaptive DOF).

Боке больше всего подходит для создания кинематографических роликов ввиду своей яркой визуальной составляющей (и требовательности к ресурсам).

Радиальный (Circle DoF)

Радиальный DoF является новейшим дополнением глубины резкости, и позволяет создавать более реалистичную картинку. Вы можете увидеть боке округлой формы с более резким и качественным содержанием. Очень большое боке является слабостью этого алгоритма, так как из-за размера появляются шумы и не так мало, как при Боке DOF. Метод имеет хорошую производительность (гораздо лучше, чем Боке DOF) и хорошее качество, особенно в таких областях, как переходные зоны.

Значения по умолчанию из Радиального DoF специально уменьшены, чтобы вы могли настроить их по своему желанию для получения максимального эффекта. Используйте низкую апертуру для большого Боке, подбреритесь к объекту и измените поле зрения, сыграв с фокусным расстоянием.

Реализация

Эффект глубины резкости делится на три уровня – Ближний, Дальний, Фокусный регионы (Near, Far, Focal, соответственно) – каждый из которых обрабатывается отдельно, после чего они объединяются.

● Объекты в ближнем и дальнем регионах обычно полностью размыты.

● Объекты в фокусном регионе используют неразмытый слой сцены (non-blurred scene layer).

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

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

Все уровни могут быть визуализированы. Для этого нужно установить флажок у параметра «Depth of Field Layers show» («Показывать слои глубины резкости»). Ближний регион – зеленый, дальний – синий, фокусный – черный.

Улучшенная нами версия этой визуализации также включают в себя много интересного:

При использовании Радиального DOF вы также увидите перекрестие, прикрепленное к курсору мыши, показывающее вычисленный круг «неразберихи» (BokehSize) вместе с глубиной и размером пикселя в цифрах. Обратите внимание, что размер круга не может всегда совпадать с фактическим эффектом, так как реализация не очень хорошо подходит для больших форм боке. В будущем мы собираемся изменить это.

Свойство Описание
Method Определяет метод, использующийся для сцены: Боке, по Гауссу или Радиальное.
Depth Blur Radius Глубина радиуса размытия в пикселях на 1920.
Focal Distance Дистанция (в единицах Unreal Engine) от камеры, которая является центром региона, на который будет наведен фокус, и где будет отсутствовать размытие.
Focal Region Расстояние (в единицах Unreal Engine) за фокусной дистанцией, где также будет фокус.
Near Transition Range Расстояние в единицах Unreal Engine от фокусного региона ближе к камере, где будет переход от фокуса к размытию. При использовании глубины резкости по Гауссу.
Far Transition Range Расстояние в единицах Unreal Engine от фокусного региона в сторону от камеры, где будет переход от фокуса к размытию. При использовании глубины резкости по Гауссу.
Scale Общий коэффициент масштабирования для размытия Боке.
Max Bokeh Size Максимальный размер (в процентах от ширины изображения) для размытия в эффекте глубины резкости Боке (заметьте: затраты на просчет масштабируются в соответствии с формулой: «размер*размер»). Примерный вид функции, используемой для вычисления размеров Боке на любой дистанции, изображен ниже:
Near Blur Size Максимальный размер (в процентах от ширины изображения) ближнего размытия для глубины резкости по Гауссу (заметьте: затраты на просчет растут с размером).  
Far Blur Size Максимальный размер (в процентах от ширины изображения) дальнего размытия для глубины резкости по Гауссу (заметьте: затраты на просчет увеличиваются с размером).
Shape Текстура, определяющая форму Боке при выходе объектов из фокуса (не смешивается).
Occlusion Контролирует количество «размытой» геометрии, которая выйдет за пределы своего обычного силуэта и непрозрачности. Значение 0.18 обеспечивает хороший результат. Значение 0.4 может потребоваться для решения проблем с «утечкой» или пропаданием цветов. Крайне малые значения (менее 0.18) сводят на нет эффект размытия, хотя отлично работают, когда объекты находятся близко к камере.
Color Threshold Граница, за которой адаптивная глубина резкости переключается на использование полного разрешения, основываясь на цвете. Малые значения обеспечивают обработку большей части сцены в полном разрешении.
Size Threshold Граница, за которой адаптивная глубина резкости переключается на использование полного разрешения, основываясь на размере. Большие значения обеспечивают обработку большей части сцены в полном разрешении.
Sky Distance Искусственное расстояние, на котором небо находится в фокусе (к примеру, 200000). Значения <=0 отключают функцию. Применяется только для глубины резкости по Гауссу. Может сильно повлиять на производительность.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: