Tehnografi.com - Технологические новости, обзоры и советы

Создание рабочего процесса ACES для реалистичного 3D-освещения

Создание рабочего процесса ACES для реалистичного 3D-освещения 1

Узнайте, как улучшить 3D-рендеринг с помощью ACES для построения линейного рабочего процесса. (Также поясняющий: что такое ACES?)

ACES. Что это? Давайте разберемся с описанием начального уровня: ACES считается отраслевым стандартом для цвета. Он используется в кинопроизводство, CG Анимация, а также VFX. А теперь идем ва-банк.

ACES – это аббревиатура от Academy Color Encoding System. Считается, что это стандарт для обмена файлами изображений, и это способ улучшить освещение в 3D. Кроме того, и в более общем плане, это набор правил для кодирования данных и управления рабочим процессом цвета.

В этой статье мы поговорим о рабочем процессе ACES для 3D-рендеринга и, по случаю, рассмотрим конкретный цветовое пространство называется ACEScg.

Но давайте делать это шаг за шагом. Что такое цветовое пространство?

Что такое цветовое пространство?

Цветовая гаммаПример цветовых пространств от CIELAB. Изображение предоставлено EIZO.

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

А цветовая гамма содержит все цвета, которые может воспроизводить устройство, и когда монитор изготовлен и откалиброван, например, для использования sRGB, его цвета отображаются в координатах цветового пространства sRGB. Цветовой охват также может быть меньше текущего цветового пространства или охватывать его. В последнем случае мы говорим, что монитор 100% sRGB.

Кроме того, большинство изображений из Интернета (JPG, PNG и т. Д.) Имеют сохраненный цветовой профиль, который sRGB, и это сохраняет стандарт в обмене файлами.

Наиболее распространенными цветовыми пространствами являются sRBG, AdobeRGB, DCI-P3 и Rec.2020, и это лишь некоторые из них. sRGB наименьшее цветовое пространство в списке. Многие мониторы полагаются на него для представления изображений.

8 бит на канал достаточно для покрытия цветового пространства sRGB, но – если мы хотим расширить динамический диапазоннапример, с цветовым пространством DCI-P3 – нам нужно как минимум 10 бит на канал. Подумайте о HDRI. В настоящее время мониторы и телевидение должны иметь возможность справляться с ними.

Что такое линейный рабочий процесс?

Гамма-коррекцияОбщий пример гамма-коррекции для изображений sRGB. Изображение через линейный рабочий процесс PBR.

Прежде чем вводить ACES, нам все еще нужно знать, что линейный рабочий процесс есть и почему это чрезвычайно важно при рендеринге.

Когда мы открываем изображение sRGB на откалиброванный монитор с использованием sRGB, мы видим это правильно, потому что гамма-коррекция примененный к сохраненному изображению (0,45) сочетается с монитор гамма 2.2, чтобы дать линейный ответ, и это то, что мы хотим.

Если бы изображения не подвергались гамма-коррекции, монитор показывал бы более темное изображение, что нехорошо.

Причина появления гаммы монитора 2.2 – историческая; он исходит от старых ЭЛТ-мониторов, где не было линейного отклика между интенсивностью света и напряжением электронной пушки. Даже если ЖК-дисплеи и более новые мониторы сейчас не страдают от этой проблемы, гамма 2.2 была сохранена, чтобы сохранить совместимость со старыми ЭЛТ-мониторами.

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

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

Линейный рабочий процессЛинейный рабочий процесс: от ввода до финального рендеринга на экране. Изображение через линейный рабочий процесс.

изображения sRGB должны быть линеаризованный, а также цвета. Если что-то уже является линейным, например плавающие изображения (HDRI), мы оставляем их такими, какие они есть – рельеф, смещение, карты нормалей и т. Д. Не нуждаются в линеаризации.

Результат рендеринга линейный, но гамма монитора, как мы видели, составляет 2,2. Затем нам понадобится sRGB LUT чтобы исправить визуализированное изображение и сделать его линейным для зрителя.

Без правильного sRGB LUT или правильного способа линеаризации наших входных данных мы не смогли бы получить правильное представление визуализированных сцен.

Схема линейного рабочего процессаКонкретные шаги в линейном рабочем процессе – линеаризованные входные данные, вычисления и LUT sRGB для гамма-коррекции окончательного визуализированного изображения. Изображение через линейный рабочий процесс.

С другой стороны, следуя этому рабочему процессу, мы уверены, что расчеты точны и получаем физически правильный результат. Autodesk Maya, например, использует этот линейный рабочий процесс.

Это замечательно для правильного и стандартного рабочего процесса. Однако мы можем добиться еще большего с точки зрения качества визуализированных сцен. Сейчас начнется ACES!

Рабочий процесс ACES

Представив концепции цветового пространства и линейного рабочего процесса, мы готовы поговорить о том, как ACES может улучшить наши рендеры.

Посмотрим, что может предложить ACES:

  • Более широкое цветовое пространство: В 3D-рендеринге мы используем ACEScg, что намного больше обычного sRGB.
  • Линейный рабочий процесс как в sRGB, но с другими правилами для кодирования, вычисления и декодирования данных, чтобы иметь лучший цветовой вывод
  • Более естественный вид бликов, с обесцвечиванием цвета по мере увеличения интенсивности света. ACEScg позволяет избежать переэкспонированных или обгоревших участков при попадании на них сильного света.
  • Более насыщенное цветовое представление, поскольку при работе с более широким цветовым пространством при вычислениях используется больше оттенков и вариаций.
  • sRGB против ACEScgsRGB против ACEScg – посмотрите, как ACEScg использует больше цветов. Изображение взято с сайта acescolorspace.com.

    Давайте подробно рассмотрим рабочий процесс ACES:

  • Входные данные (текстуры, цвета, линейное изображение, рендеринг ACEScg) преобразуются в цветовое пространство ACEScg с помощью IDT (преобразование устройства ввода). Эта функция линеаризует входные данные (при необходимости) и отображает значения в более широкое цветовое пространство (ACEScg).
  • Все расчеты происходят в ACEScg, таким образом, у нас есть больший динамический диапазон для работы.
  • В ODT (преобразование устройства вывода) принимает результат рендеринга и перед применением преобразования для конкретного устройства использует Функция RRT для переназначения значений в определенное цветовое пространство.
  • Если мы хотим посмотреть результат на мониторе sRGB, мы должны сопоставить высокие динамические значения (ACEScg) с низкими динамическими значениями (sRGB). Эта операция называется отображение тонов и выполняется вышеупомянутым RRT функция.

    В качестве последнего шага, если у нас есть гамма монитора 2.2, ODT также применяет гамма-коррекцию, как описано выше.

    Рабочий процесс ACESЛинейный рабочий процесс для ACEScg. Изображение взято с сайта garagefarm.net.

    Кроме того, ODT зависит от цели рабочего процесса ACES. Мы также могли преобразовать результат для архивирования в цветовое пространство ACES 2065-1, а не в sRGB или Rec.709.

    Практический пример и соображения с ACES

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

    Пример сцены ACESПример сцены, отрендеренной с помощью ACEScg и сохраненной с помощью sRGB для Интернета.

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

    Работая с большим цветовым пространством во время рендеринга, ACEScg может сохранить определенные детали которые в противном случае были бы обрезаны из-за более низкого цветового пространства sRGB. Этот эффект более заметен в областях с сильным освещением.

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

    Подробности рабочего процесса ACESОбесцвечивание цвета и детализация сохраняются в рабочем процессе ACES.

    Но если расчет работает с большим количеством значений в ACEScg, как мы можем увидеть результат на мониторе, где гамма намного меньше?

    Вот где Преобразование эталонного рендеринга (RRT) пригодится. Он практически выполняет отображение тонов значений цвета ACEScg в цветовую гамму устройства (в данном случае sRGB). Эта функция приближает внешний вид цвета в устройстве с гораздо более низким динамическим диапазоном.

    Теперь давайте создадим такой же рендер в цветовое пространство sRGB и увидеть различия.

    Пример sRGBОтображается в формате sRGB.
    Пример ACEScgОтображается в ACEScg.

    На первый взгляд все очень похоже, но есть некоторые отличия.

    Качество направленный свет на полу – это первое, что вы замечаете. В sRGB, деревянная часть не сохраняет все детали, а цвета перенасыщенный. Точно так же диффузный цвет на ковре выгорает направленным светом. Это потому, что работа с более низким динамическим диапазоном вызывает клиппирование при высокой интенсивности света.

    Опять же, сфера, на которую попадает направленный свет, выглядит полностью белой в sRGB, тогда как то же самое в ACEScg, несмотря на сильное освещение, сохраняет более ненасыщенный и реалистичный вид.

    Отражение окна на полу тоже обрезано в sRGB. Вместо этого ACEScg работает намного лучше.

    ОсобенностиСветовые эффекты в ACEScg намного лучше, чем в sRGB.

    Наконец, общий вид в ACEScg также лучше с точки зрения цвета. Работая с более высоким динамическим диапазоном, мы имеем дело с большим количеством цветов. Таким образом, во время отображения тона на монитор sRGB RRT будет приближать внешний вид, сохраняя правильный контраст и делая результат более ярким и ярким.

    Как правило, цвета всплывают лучше.

    Яркие цветаВ ACEScg цвета всплывают лучше. Посмотрите на зеленый цвет или фиолетовые полосы на ковре.

    Настройка ACES в Autodesk Maya с использованием конфигурации ACES с открытым исходным кодом

    В этой последней части мы поговорим о том, как легко настроить рабочий процесс ACES в Autodesk Maya используя конфигурацию ACES с открытым исходным кодом. Note что ACEScg теперь является пространством рендеринга по умолчанию в Maya 2022, но если вы используете Maya 2019, как это руководство, вы можете следовать этой части.

    У нас есть доступ:Windows > Настройки / Предпочтения> Настройки

    Под Управление цветом, есть вкладка с именем Настройки управления цветом:

    Управление цветомУправление цветом в Autodesk Maya.

    По умолчанию управление цветом включено, а параметр «Параметры преобразования цвета» имеет следующую конфигурацию:

  • Пространство рендеринга (IDT): Сценно-линейная Rec. 709 / sRGB
  • Просмотр преобразования (ODT): гамма sRGB
  • Это настройка, соответствующая линейному рабочему процессу, который мы объяснили выше.

    Чтобы загрузить ACES, вам сначала необходимо:

  • Клонируйте всю библиотеку на свой диск из следующего репозитория Github: Библиотека ACES
  • После клонирования рассмотрите папку с именем тузы_1.2
  • Найдите файл с именем config.ocio в папке тузы_1.2
  • Скопируйте весь путь config.ocio файл с вашего диска на Путь конфигурации OCIO что ты находишь в Настройки управления цветом
  • Включите опцию под названием Использовать конфигурацию OCIO и вы сделали!
  • Включение OCIOВключение рабочего процесса ACES.

    Теперь у нас разные IDT и ODT. Они соответственно ACES – ACEScg а также sRGB (ACES). Последний включает отображение тонов и 2.2 гамма-коррекция для устройств sRGB.

    И последнее, но не менее важное: Правила цветового пространства ввода Вкладка позволяет определить набор правил для входных данных (изображения, HDRI и т. д.). Правило по умолчанию на предыдущем снимке экрана гласит, что для любого входного изображения Maya автоматически назначает цветовое пространство sRGB под названием Утилита – sRGB – Текстура. Мы можем установить другие правила для других форматов изображений.

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

    В частности, назначьте эти цветовые пространства для следующих текстур:

  • Текстуры, такие как диффузный, базовый цвет, спецификация и т. Д. -> Утилита – sRGB -Texture цветовой профиль (правило по умолчанию)
  • Линейные текстуры, такие как HDR -> Утилита – линейная – sRGB цветовой профиль
  • Рельеф, нормаль, шероховатость, металлик, карты смещения и т. Д. -> Утилита – Сырье цветовой профиль
  • Теперь вы готовы экспериментировать со своим собственным рабочим процессом ACES! Удачи!

    Еще несколько статей по дизайну для вас: