Полезное

Мы Вконтакте

Discord канал

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

Янв 22 2016

Использование эффектов постобработки (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 Определяет область действия волюма. Если у параметра имеется флажок, то волюм будет действовать во всем мире, в противном случае, только в своих пределах.

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

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

Описание каждого параметра доступно по ссылкам ниже.

Anti-Aliasing
Bloom
Color Grading
Depth of Field
Eye Adaptation
Lens Flare
Материалы постобработки
Blendables
Scene Fringe
Screen Space Reflections
Vignette
Добавил: jQuest Категория: Пост-обработка Читать дальше »

Ноя 19 2015

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

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

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

Gaussian DoF
Bokeh DoF
Circle DoF

По Гауссу (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» («Показывать слои глубины резкости»). Ближний регион – зеленый, дальний – синий, фокусный – черный.

Scene with DoF
DoF Layers Visualized

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

VizualizedDoF

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

Свойства

 

Свойство Описание
Method Определяет метод, использующийся для сцены: Боке, по Гауссу или Радиальное.
Depth Blur Radius Глубина радиуса размытия в пикселях на 1920.
Focal Distance Дистанция (в единицах Unreal Engine) от камеры, которая является центром региона, на который будет наведен фокус, и где будет отсутствовать размытие.

Focal Distance 400
Focal Distance 1000
Focal Distance 2500
Focal Region Расстояние (в единицах Unreal Engine) за фокусной дистанцией, где также будет фокус.

dof_focalregion
Near Transition Range Расстояние в единицах Unreal Engine от фокусного региона ближе к камере, где будет переход от фокуса к размытию. При использовании глубины резкости по Гауссу.

dof_gaussian_near
Far Transition Range Расстояние в единицах Unreal Engine от фокусного региона в сторону от камеры, где будет переход от фокуса к размытию. При использовании глубины резкости по Гауссу.

dof_gaussian_far
Scale Общий коэффициент масштабирования для размытия Боке.

Scale 0
Scale 0.375
Scale 1.0
Max Bokeh Size Максимальный размер (в процентах от ширины изображения) для размытия в эффекте глубины резкости Боке (заметьте: затраты на просчет масштабируются в соответствии с формулой: «размер*размер»). Примерный вид функции, используемой для вычисления размеров Боке на любой дистанции, изображен ниже:

dof_bokeh_coc

Size 2.5
Size 7.5
Size 15.0
Near Blur Size Максимальный размер (в процентах от ширины изображения) ближнего размытия для глубины резкости по Гауссу (заметьте: затраты на просчет растут с размером).

Size 0
Size 0.25
Size 2.5
Far Blur Size Максимальный размер (в процентах от ширины изображения) дальнего размытия для глубины резкости по Гауссу (заметьте: затраты на просчет увеличиваются с размером).

Size 0
Size 0.25
Size 2.5
Shape Текстура, определяющая форму Боке при выходе объектов из фокуса (не смешивается).
Occlusion Контролирует количество «размытой» геометрии, которая выйдет за пределы своего обычного силуэта и непрозрачности. Значение 0.18 обеспечивает хороший результат. Значение 0.4 может потребоваться для решения проблем с «утечкой» или пропаданием цветов. Крайне малые значения (менее 0.18) сводят на нет эффект размытия, хотя отлично работают, когда объекты находятся близко к камере.

Occlusion = 0.05
Occlusion = 0.18
Occlusion = 0.4
Color Threshold Граница, за которой адаптивная глубина резкости переключается на использование полного разрешения, основываясь на цвете. Малые значения обеспечивают обработку большей части сцены в полном разрешении.
Size Threshold Граница, за которой адаптивная глубина резкости переключается на использование полного разрешения, основываясь на размере. Большие значения обеспечивают обработку большей части сцены в полном разрешении.
Sky Distance Искусственное расстояние, на котором небо находится в фокусе (к примеру, 200000). Значения <=0 отключают функцию. Применяется только для глубины резкости по Гауссу. Может сильно повлиять на производительность.

Адаптивная глубина резкости (Adaptive DoF)

Глубина резкости Боке по умолчанию рендерится в ¼ разрешения (1/2 в каждом направлении) по причинам производительности. В большинстве случаев, субдискретизация едва заметна. Однако, она может вызывать артефакты и нежелательные результаты в некоторых ситуациях.

Downsampled
Adaptive Algorithm

Вы можете заметить, что размытие у персонажей на заднем фоне имеет дефекты при использовании одной лишь субдискретизации глубины резкости (downsampled DoF ). Помимо этого, заметны артефакты вокруг рогов персонажей переднего плана. Устранить эти проблемы можно с помощью адаптивной глубины резкости, в этом случае персонажи на заднем плане выглядят лучше.
Адаптивную глубину резкости можно визуализировать, если установить флажок «Adaptive Depth of Field show» («Отображать адаптивную глубину резкости»). Так можно увидеть, где использовалась субдискретизация (зеленый цвет), а где – полноэкранный эффект (красный цвет). Обычный цвет сцены обозначает те области, к которым не применено размытие.

dof_adaptive_visualize

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

Optimized
Expensive
Добавил: jQuest Категория: Пост-обработка Читать дальше »

Ноя 19 2015
SSR отражения

SSR (Screen Space Reflection) – эффект, включенный по умолчанию, который добавляет отражения на поверхность объектов. Эти отражения работают в реальном времени.

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

У SSR всего лишь несколько настроек:

Свойство Описание
Intensity Активировать/Деактивировать функцию SSR. Значение в процентах: 0 – минимальное качество, 100 – максимальное. Изначально установлено 50% (с целью достижения лучшей производительности).
Max Roughness Используется для определения, при каком значении шероховатости эффект будет уменьшаться (отлично работает 0,8, меньшие значения могут повысить производительность).
Добавил: Flakky Категория: Пост-обработка Читать дальше »

Ноя 19 2015

Адаптация глаз, или автоматическая экспозиция, призвана, исходя из названия, реализовать сам эффект адаптации глаз обычного человека при переходе из темного помещения в светлое и наоборот.

Адаптация глаз

Свойство Описание
Low Percent Технология адаптации основывается на значении, полученном из гистограммы яркости цвета сцены. Оно определяет нижний порог, используемый для вычисления среднего значения освещенности. Лучше всего не ограничивать светлые области изображения, именно для этого приходится игнорировать некоторые темные части. К примеру, значение 80 ограничит 80% темных участков. Значение параметра должны находится в промежутке [0; 100], наиболее приемлемый – от 70 до 80.
High Percent Технология адаптации глаз основывается на значении, полученном из гистограммы яркости цвета сцены. Оно определяет высший порог, используемый для вычисления среднего значения освещенности. Мы советуем списать несколько процентов, поскольку вполне нормально иметь несколько ярких пикселей (для солнца, к примеру). Значение параметра должно находится в промежутке [0; 100], наиболее приемлемый – от 80 до 98.
Min Brightness Минимальная яркость, к которой приспосабливается глаз. Значение должно быть больше 0 и <= EyeAdaptationMaxBrightness. Фактические значения основываются на диапазоне, используемым контентом.
Max Brightness Максимальная яркость, к которой приспосабливается глаз. Значение должно быть больше 0 и >= EyeAdaptationMinBrightness. Фактические значения основываются на диапазоне, используемым контентом.
Speed Up Скорость адаптации при переходе от темного окружения к светлому.
Speed Down Скорость адаптации при переходе из светлого окружения к темному.
Auto Exposure Bias Контролирует смещение экспозиции. Логарифмическое значение:
0 — изменений нет
-1 — половина яркости
-2 — четверть яркости
1 — удвоенная яркость
2 — учетверенная яркостьДробные значения, к примеру, 1,5, или значения, не приведенные в примере, также работают отлично. При активной адаптации глаз, они будут добавлены к автоматической экспозиции.

Адаптация глаз – гистограмма, основывающаяся на следующем принципе:

  • Скажем, EyeAdaptationLowPercent равно 80%, а EyeAdaptationHighPercent — 95%.
  • Теперь осмотрим гистограмму:
    • 80% пикселей дисплея темнее, чем значение яркости A;
    • 95% пикселей дисплея темнее, нежели значения яркости B;
    • Среднее между A и B и есть данная яркость сцены (C).
  • Глаз будет адаптироваться к этому значению. Но так как привыкание к темноте обычно происходит медленнее, мы можем настроить эти значения по-разному: EyeAdaptionSpeedUp и EyeAdaptionSpeedDown.
  • К тому же, глаза не адаптируются идеально, поэтому мы ограничиваем процесс следующими параметрами: EyeAdaptationMinBrightness и EyeAdaptationMaxBrightness.

Гистограмма

Свойства гистограммы используется автоматической функцией адаптации глаз: технология изучает её для имитации процесса.
Введя консольную команду ShowFlag.VisualizeHDR 1, можно увидеть гистограмму.

Гистограмма

Histogram Log Min Определяет нижнее значение яркости при генерации гистограммы.
Histogram Log Max Определяет высшее значение яркости при генерации гистограммы.
Добавил: Flakky Категория: Пост-обработка Читать дальше »

Окт 20 2015
Lens Flare

Lens Flare, или эффект линз — технология, симулирующая рассеивание света и бликов от ярких объектов вследствие несовершенств линз камеры.

Свойство Описание
Tint Оттенок цвета всего эффекта.
Threshold Значение, определяющее минимальную яркость пикселя, вызывающую эффект линз. Большие значения предотвращают размытие слишком темных объектов, что повышает производительность. Ведь затраты на просчет растут линейно вместе с количеством пикселей, перешедших порог значения.
Bokeh Size Увеличивает радиус формы. Возможное использование: улучшение качества эффекта и производительности (2x радиус -> 4x скорость заполнения).
Bokeh Shape Текстура, используемая для определения формы эффекта.
Lens Flare Tints
1/2/3/4/5/6/7/8
Оттенок цвета каждого отдельного эффекта
Добавил: Flakky Категория: Пост-обработка Читать дальше »

Окт 20 2015
Scene Fringe

Scene Fringe – эффект хроматической аберрации, симулирующий изменения цвета при использовании обычных линз. Наиболее заметен на краях изображения.

Свойства Описание
Fringe Intensity Определяет, как сильно будут проявляться изменения.

Сила эффекта 0
0.0
Сила эффекта 1
1.0
Сила эффекта 5
5.0
Fringe Saturation Определяет заметность изменений. Низкие значения ведут к более размытому результату, а высокие – более выраженному.
Добавил: Flakky Категория: Пост-обработка Читать дальше »

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница