Адаптация глаз (автоэкспозиция) в Unreal Engine 4

0
427
Адаптация глаз (автоэкспозиция) в Unreal Engine 4

Eye Adaptation (Адаптация глаз) или автоматическая экспозиция заставляет экспозицию сцены автоматически настраиваться, чтобы воссоздать эффект, наблюдаемый при изменении человеческого глаза при переходе от яркой среды в темную среду или наоборот.

Экспозиция камеры

Настройки редактора
В версии 4.19 Unreal Engine, управление экспозицией Level Editor было изменено для слайдера EV100 и настроек игры в меню режима просмотра. Когда флажок Game Settings отмечен, в окне просмотра уровня будет использоваться настройка параметров в игре для поведения экспозиции (см. Следующий раздел). В противном случае слайдер EV100 позволяет пользователю переопределить диапазон от -10 до 20, поддерживая очень темные и очень яркие сцены, используя реалистичную подсветку сцены.

Экспозиция камеры ue4
Для других видовых экранов, кроме окна просмотра уровня, флажок «Game Settings» заменяется флажком «Auto» и реализует автоматическое воздействие.

Настройка игры
Настройки игры в игре контролируются в настройках пост-процесса. В 4.19 некоторые параметры были переименованы, но в противном случае предыдущие настройки совместимы. На следующем рисунке показаны три поддерживаемых режима измерения, а также – какие опции включены в каждом режиме и их настройках по умолчанию.Настройки игры в настройках пост-процесса ue4

Гистограмма автоэкспозиции ведет себя как предыдущий режим гистограммы. Auto Exposure Basic – это предыдущий базовый режим, при этом на расширенной вкладке теперь отображается константа калибровки. Calibration Constant (Константа калибровки) определяет среднюю яркость изображения после экспозиции и используется для балансировки белого.

В противном случае в 4.19 добавлен новый режим измерения с именем Manual, где значение экспозиции камеры определяется настройками новой камеры: Shutter Speed (выдержкой затвора) (1/t) , ISO (S) и Aperture (апертура)(N)Формула, используемая для вычисления шкалы экспозиции камеры:

  • Экспозиция = 1 / (1.2 * 2^EV100)

С:

  • EV100 = log2 (N²/t * 100/S)

Экспозиция здесь определяет взаимосвязь между яркостью поверхности сцены (L в cd/m²) и яркостью пикселей (B), до того, как будут применены настройки tonemapper и компенсации экспозиции (см. Ниже):

  • B = Экспозиция * L

Это можно проверить, отключив Tonemapper через Show Flags и проверив яркость сцены с помощью инспектора пикселей. Обратите внимание, что редактор EV100 переопределяет прямое значение EV100 в этом уравнении.1 Экспозиция камеры ue4

Наконец, настройка камеры компенсации экспозиции (ExpComp) определяет дополнительную шкалу (2^ExpComp) поверх экспозиции, вычисленной из текущего режима измерения, за исключением случаев, когда переопределение редактора EV100 отменяется.

Предварительная экспозиция

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

Количество экспозиции, применяемое в шейдерах, называется предварительной экспозицией. Эта функция может быть включена через консольную переменную r.UsePreExposure. Предварительная экспозиция также может быть переопределена с помощью команды r.EyeAdaptation.PreExposureOverride.

Предварительная экспозиция в шейдерах ue4На приведенном выше рисунке показан пример перехода от яркой среды к темной среде.

СвойствоОписание
Shutter Speed (1/s)Скорость затвора камеры в секундах.
ISOЧувствительность датчика камеры.
Aperture (F-Stop)Определяет размер отверстия для объектива камеры. Использование больших чисел уменьшит эффект DOF.
Exposure CompensationЛогарифмическая регулировка экспозиции. Используется только в том случае, если задан указатель тонов. 0: нет регулировки, -1: 2x темнее, -2: 4 темнее, 1: 2x ярче, 2: 4x ярче.
Metering ModeМетод подсчета люминесценции.
Min BrightnessЭто значение ограничивает более низкую яркость, которую глаз адаптирует внутри. Значение должно быть больше 0 и должно быть меньше или равно EyeAdaptationMaxBrightness. Фактические значения зависят от диапазона HDR, который использует контент.
Max BrightnessЭто значение ограничивает верхнюю яркость, которую глаз адаптирует внутри. Значение должно быть больше 0 и должно быть больше или равно EyeAdaptationMinBrightness. Фактические значения зависят от диапазона HDR, который использует контент.
Speed UpСкорость, с которой адаптация происходит от темной среды до яркой среды.
Speed DownСкорость, с которой адаптация происходит от яркой среды до темной среды.
Low PercentАдаптация глаз адаптируется к значению, выделенному из гистограммы яркости цвета сцены. Значение определяет более низкий процент гистограммы, который используется для поиска средней яркости сцены. Мы хотим избежать зажима ярких частей изображения, поэтому лучше всего игнорировать большинство темных областей, например 80, избегайте 80% темноты. Значения должны быть в диапазоне [0, 100].

 Наилучшие результаты дают значения в диапазоне 70-80.
High PercentАдаптация глаз адаптируется к значению, выделенному из гистограммы яркости цвета сцены. Значение определяет верхний процент гистограммы, который используется для поиска средней яркости сцены. Мы хотим скопировать несколько процентов от верхнего диапазона, так как нормально иметь несколько ярких пикселей (обычно солнце). Значения должны быть в диапазоне [0, 100].

Наилучшие результаты дают значения в диапазоне 80-98.

 

Histogram Log MinВременно подвергается воздействию до тех пор, пока мы не найдем хорошие значения, -8: 1/256, -10: 1/1024
Histogram Log MaxВременно подвергается воздействию до тех пор, пока мы не найдем хорошие значения, 4: 16, 8: 256
Calibration ConstantКонстанта калибровки для 18% Альбедо.

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

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

Гистограмма

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

Адаптация глаз (автоэкспозиция) в Unreal Engine 4На приведенном выше рисунке показана визуализация гистограммы, которая может быть активирована с помощью команды ShowFlag.VisualizeHDR 1.

СвойствоОписание
Histogram Log MinОпределяет нижние границы диапазона яркости сгенерированной гистограммы.
Histogram Log MaxОпределяет верхние границы диапазона яркости сгенерированной гистограммы.

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

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