Выход на дисплей с высоким динамическим диапазоном в Unreal Engine 4

0
10
Карты Изогнутой Нормали в Unreal Engine 4

В Unreal Engine 4 теперь можно выходить на дисплеи с высоким динамическим диапазоном (HDR), используя такие преимущества, как более высокая контрастность и более широкий цветовой охват! Цель здесь состоит в том, чтобы придать отображаемым изображениям характеристики, которые больше похожи на естественное освещение в реальном мире. Это является частью перехода к стандарту Академии системы цветового кодирования (Academy Color Encoding System – ACES), который представляет собой систему передачи, обеспечивающий сохранение согласованного цвета в разных форматах и ​​дисплеях, а также способ будущего использования исходного материала без необходимости его корректировки для другого носителя.

Low Dynamic Range ue4

Low Dynamic Range (LDR)

High Dynamic Range ue4

High Dynamic Range (HDR)

Этот пример смоделирован и предназначен исключительно для демонстрационных целей. Невозможно передать различия HDR на экране LDR.

В текущей реализации полная обработка визуализированной сцены обрабатывается посредством так называемого преобразования просмотра ACES – ACES Viewing Transform. Этот процесс работает с использованием изображений, относящихся к сцене и отображению.

  • Изображения, относящиеся к сцене, сохраняют исходные линейные значения освещенности исходных материалов без ограничения диапазона экспозиции.
  • Изображения, относящиеся к дисплею, – это конечные изображения, преобразованные в цветовое пространство используемого дисплея.

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

Преобразование просмотра ACES работает в следующем порядке в системе передачи просмотра:

  • Look Modification Transform – Модификация преобразования взгляда (LMT) – эта часть процесса берет изображение с цветовой кодировкой ACES, к которому применен творческий «взгляд» (цветовая градация и коррекция), а затем выводит изображения, визуализированные с помощью ACES, в сочетании с эталонным рендерингом преобразования (Reference Rendering Transform – RRT) и преобразованием устройства вывода (Output Device Transform – ODT).
  • Reference Rendering Transform – Преобразование эталонного рендеринга (RRT) – Затем эта часть берет значения цвета, относящиеся к сцене, и преобразует их в значения, относящиеся к отображению. В этом процессе он позволяет отображаемым изображениям не полагаться на определенный дисплей и вместо этого может обеспечить большую гамму и динамический диапазон, который подходит для конкретного дисплея, на который он выводится, включая те, которые еще не созданы.
  • Output Device Transform – Преобразование устройства вывода (ODT). Наконец, для вывода данных HDR RRT требуется сопоставить его с различными устройствами и цветовыми пространствами, которые они могут отображать. Из-за этого каждая цель требует сопоставления с собственным ODT (например, Rec709, Rec2020, DCI-P3 и т.д.).
Для получения дополнительной информации о преобразовании просмотра ACES вы можете загрузить документацию в формате PDF со страницы ACES GitHub или перейти по ссылкам в разделе справочных материалов на этой странице.

Enabling HDR Output

Вы можете включить вывод HDR во время выполнения, переключая консольные переменные или используя узел GameUserSettings в Blueprints.узел GameUserSettings в Blueprints ue4

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

Переменная консолиОписание
r.HDR.EnableHDROutputПри значении 1 это воссоздает цепочку обмена и включает вывод HDR.
r.HDR.Display.OutputDeviceЭто формат устройства вывода дисплея

0sRGB (LDR) (по умолчанию)
1Rec709 (LDR)
2Explicit gamma mapping (LDR)
3ACES 1000-nit ST-2084 (Dolby PQ) (HDR)
4ACES 2000-nit ST-2084 (Dolby PQ) (HDR)
5ACES 1000-nit ScRGB (HDR)
6ACES 2000-nit ScRGB (HDR)
r.HDR.Display.ColorGamutЭто цветовая гамма выходного дисплея.

0Rec709 / sRGB, D65 (по умолчанию)
1DCI-P3, D65
2Rec2020 / BT2020, D65
3ACES, D60
4ACEScg, D60

После настройки вызова Blueprint или С++ для GameUserSettings вы можете запустить любой готовый проект, использовать аргумент командной строки -game mode, использовать режим автономной игры или Play-in-Editor (PIE) в новом окне, используя эксклюзивный полноэкранный режим. (нажмите Alt + Enter или используйте команду в полноэкранном режиме из окна консоли).

Использование окна без полей или оконного режима в настоящее время не будет работать для вывода HDR.

Поддержка Low Dynamic Range (LDR) в HDR

Эта особенность является экспериментальной и может измениться в будущем выпуске.

Когда выход HDR включен, ваш пользовательский интерфейс (UI) может выглядеть неправильно. По этой причине мы добавили экспериментальную поддержку композиции пользовательского интерфейса LDR. Он пытается максимально приблизить внешний вид LDR, хотя рекомендуется немного усилить пользовательский интерфейс, чтобы не выглядеть размытым рядом с вибрацией основной сцены.

Для этого вы можете использовать следующие переменные консоли:

Переменная консолиОписание
r.HDR.UI.CompositeModeЕсли установлено значение 1, это включает конструкцию пользовательского интерфейса HDR, которая пытается сохранить визуальные эффекты и смешивание LDR.
r.HDR.UI.LevelЭто регулирует яркость составного интерфейса. Рекомендуется использовать значение 1,5 или 2.

Решения настройки HDR и оборудования

Имея в наличии множество различных типов дисплеев и телевизоров, а также соображения относительно консолей и ПК, вы можете обнаружить, что вам нужно использовать определенную часть оборудования или изменить настройку, чтобы выход HDR работал должным образом. Ниже приведены некоторые моменты, которые следует учитывать при выполнении процесса установки:

  • Убедитесь, что ваша система подключена к дисплею HDR с помощью высокоскоростного кабеля HDMI0, чтобы вы могли воспользоваться преимуществами скорости передачи данных. (HDMI 1.4 может работать, но могут возникнуть проблемы с отображением контента.) Не все порты HDMI могут принимать HDMI 2.0 и HDR. Обратитесь к руководству вашего дисплея, если вы не уверены в этом.
  • Убедитесь, что на телевизионном порте включен HDR. Иногда это может быть указано в настройках вашего телевизора или дисплея как «HDMI Deep Color» или «Enhanced Format» (Расширенный формат). Обратитесь к руководству вашего дисплея, если вы не уверены в этом.
  • На некоторых консолях, таких как PS4, может потребоваться отключить системную настройку для включения HDCP для вывода HDR для правильной работы.
  • Для некоторых дисплеев может потребоваться настроить параметры дисплея, чтобы получить правильный вывод.
  • Для графических процессоров NVIDIA используйте панель управления NVIDIA и отрегулируйте разрешение дисплея. Формат вывода цвета для использования RGB, а глубина вывода цвета для использования 10-бит или 12-бит. В зависимости от вашего оборудования у вас могут быть доступны только определенные опции. Обратитесь к руководству вашего дисплея, если вы не уверены в этом.NV Control Panel ue4

Примечания и ограничения

  • По умолчанию кривая кинопленки отключена во время вывода HDR из-за плохой совместимости с элементами управления LDR.
  • В настоящее время реализованы только пути для выходных сигналов 1000 нит и 2000 нит.
  • Ограничения D3D11 ограничивают вывод HDR только эксклюзивной полноэкранной поддержкой. Благодаря поддержке D3D12 в Windows 10 ее, вероятно, можно расширить, чтобы включить отдельные окна просмотра для вывода HDR. Реализация на Mac в настоящее время уже поддерживает это.

Справочный материал

  • “ACES”. Oscars.org | Academy of Motion Picture Arts and Sciences. N.p., 06 февраля 2017г. Веб. 05 июня 2017г.
  • «Aces Documentation». Oscars.org | Academy of Motion Picture Arts and Sciences. Np., 26 сентября 2016г. Веб. 05 июня 2017г.