Полезное
Мы Вконтакте
Discord канал
В Unreal Engine, термин Цветокоррекция (Color Grading) включает в себя Тональную компрессию (Tone Mapping; трансформация HDR в LDR) и Коррекцию цвета (Color Correction; трансформация из гаммы LDR в гамму монитора).
Цель тональной компрессии в том, чтобы перевести цвета широкого диапазона HDR (Высокий Динамический Диапазон) в более узкий LDR (Низкий Динамический Диапазон). Это позволяет монитору правильно отображать цвета. Процесс происходит после обычного рендеринга в процессе постобработки.
Глобальная тональная компрессия – это функция, имеющая три входа (RGB) и три выхода (RGB). Локальная, помимо этого, учитывает свойства окружающих пикселей, что, естественно, ведет к большему количеству вычислений (и падениям производительности). В идеале, тональная компрессия обязана сохранять цвет пикселя даже в том случае, если он крайне яркий.
Следующий график показывает, как каждый канал в диапазоне от 0 до 5 преобразовывается в диапазон от 0 до 1:
В данном случае используется функция:
Заметьте, что светлые цвета постепенно становятся светлее, но гораздо медленнее, нежели темные. Черный остается черным и это наиболее линейная часть кривой, которая несколько круче, чем должна быть. Это приводит к увеличению контраста, что вполне нормально и ожидаемо при использовании тональной компрессии. Для получения хорошего результата, исходное изображения должно иметь больше динамики в яркости (HDR).
Представленная функция уже имеет две константы. Дополнительные переменные могли бы увеличить гибкость настроек, но выведение хорошей, с точки зрения качества/гибкости/производительности, функции довольно сложно. По этой причине мы решили придерживаться простой формулы и изменять уже получившееся LDR-изображение.
Переведя цвета из HDR в ограниченный диапазон, мы получили выразительные темные цвета. Что касается светлых, то их мы можем изменять по желанию. Этот метод прост для понимания, гибок в настройке и обладает едва ли не постоянной производительностью.
Свойство | Описание |
Scene Color Tint | Цвет, являющийся фильтром, применяемым к HDR-сцене. |
Tonemapper Toe Factor | Корректирование оттенков темных цветов. Значения в промежутке [0.0, 1.0] |
Коррекция цвета реализована как таблица поиска (lookup tables; LUTs). Причем, вместо использования трех 1D-таблиц, у нас применяется всего лишь одна, но 3D-таблица, благодаря этому становятся возможным более сложные и комплексные трансформации цвета (такие как обесцвечивание).
Следующее изображение показывает, как таблица нейтрального цвета размером 16x16x16 развернута в текстуру размером 256×16 (схоже с браузером текстур):
Измененная текстура может выглядеть так:
Для того, чтобы использовать таблицу поиска (LUT), вам необходимо применить LUT-текстуру к волюму постобработки.
Свойство | Описание |
Color Grading Intensity | Свойство, регулирующее силу цветокоррекции. |
Color Grading LUT | LUT-текстура, используемая как таблица при цветокорреции. |
Инструкция:
Возможны различные изменения цвета. Вот несколько примеров: