Управління Кольором – Color Management

Управління кольором є важливим для створення рендерів та активів, що є фізично точними та чудово виглядають на кількох пристроях показу. Воно використовується для гарантування, що всі частини конвеєр інтерпретують кольори коректно, і для здійснення мистецьких змін, як експозиція та кольорокорекція.

../_images/render_color-management_different-exposures.jpg

Різні огляди та експозиції одного і того ж рендера.

Blender’s color management is based on the OpenColorIO library. By using the same OpenColorIO configuration in multiple applications, the same color spaces and transforms will be available for consistent results.

Робпотік – Workflow

Лінеарний Простір Кольорів Сцени – Scene Linear Color Space

For correct results, different Color Spaces are needed for rendering, display and storage of images. Rendering and compositing is best done in scene linear color space, which corresponds more closely to nature, and makes computations more physically accurate.

../_images/render_color-management_linear-workflow.svg

Приклад лінеарного ходу роботи.

Якщо кольори є лінеарними, то це означає, якщо ми у реальності ми подвоюємо кількість фотонів, то значення кольорів також подвояться. Іншими словами, якщо ми маємо два фото/рендери, кожен з яких освітлюється своїм освітлювачем, та додамо ці зображення разом, то результат бути таким же самим, ніби рендер/фото освітлено обидвома освітлювачами. Звідси випливає, що такий радіометрично лінеарний простір є найкращим для фотореалістичних рендерингу та компонування.

Однак, ці значення безпосередньо не відповідають людському сприйняттю або способу роботи пристроїв показу. а файли зображень часто зберігаються у різних просторах кольорів. Тому ми повинні подбати про правильне конвертування у та із цього лінеарного простору кольорів.

Трансформи Показу – Display Transforms

Трансформування лінеарних кольорів сцени у показ передбачає як технічний, так і художній вибір.

Коректний показ рендерів вимагає конверсії у простір кольорів пристрою показу. Монітор комп’ютера працює інакше, ніж цифровий кіно проектор або телебачення високої чіткості HDTV, а тому потребує іншої конверсії.

Також має бути зроблений художній вибір. Частково це пов’язане з тим, що пристрої показу не можуть показувати повний спектр кольорів та мають лише обмежену яскравість, тому ми можемо стискати кольори, щоб вони вписувалися у гаму пристрою. Крім того, це може також бути корисним для надання рендерам певного вигляду, наприклад, ніби вони були надрукованій на реальній кіноплівці. Стандартна трансформа Filmic робить це.

../_images/render_color-management_linear-display-space.svg

Конверсія з лінеарного у простір пристрою показу.

Простори Кольорів Зображення – Image Color Spaces

При завантаженні та збереженні форматів медіа є важливим мати на увазі управління кольором. Формати файлів, такі як PNG або JPEG будуть типово зберігати кольори у просторі кольорів, готовому для показу, а не у лінеарному просторі. Коли вони використовуються як текстури у рендерах, то вони повинні бути конвертовані спершу у лінеарний простір, а коли зберігаються рендери для показу на веб, то вони також потребують бути конвертовані у простір показу.

Для проміжних файлів у виробництві рекомендується використовувати файли OpenEXR. Вони завжди зберігаються у лінеарних просторах кольорів сцени без втрати будь-яких даних. Це робить їх придатними для збереження рендерів, що можуть пізніше бути скомпоновані, кольорокоректовані та конвертовані у різні формати виводу.

Зображення можуть також містити дані, що насправді не є кольором. Наприклад, розкладки нормалей або зміщення лише містять вектори та зсуви. Такі зображення повинні позначатися як «Не-Колірні Дані» – Non-Color Data, щоб жодна конверсія простору кольорів не відбувалася з ними.

Устави – Settings

Орієнтир – Reference

Панель – Panel

Properties ‣ Render ‣ Color Management

../_images/render_color-management_panel.png

Устави рендера для управління кольором.

Показ – Display

Пристрій Показу – Display Device

Пристрій, на якому переглядається зображення.

Більшість комп’ютерних моніторів сконфігуровані для простору кольорів sRGB, і тому при роботі на комп’ютері зазвичай ця стандартна опція повинна залишатися без змін. Типово вона може бути змінена при перегляді зображення на іншому пристрої показу, під’єднаному до комп’ютера, або при записі у файли зображень, призначені для показу на іншому пристрої.

Rec709 зазвичай використовується для HDTV, тоді як XYZ та DCI-P3 є поширеними для цифрових проекторів.

Управління кольором може бути вимкнене, установленням цієї опції на «Нема» – None.

Рендер – Render

Огляд – View

Це різні способи перегляду зображення на одному і тому ж пристрої показу.

Стандарт – Standard

Не здійснює жодного додаткового конвертування, окрім перетворення для цього пристрою показу. Часто використовується для не-фотореалістичних результатів або редагування відео, де специфічний вигляд вже запечено в увідному відео.

Filmic

Для фотореалістичних результатів та кращого оброблення кольорів високо динамічного діапазону. Контраст може бути наладнано шляхом змінювання опції Look для трансформи огляду Filmic.

Плівкове Логарифмічно – Filmic Log

Конвертує у простір кольорів Filmic log. Це може бути корисним для експорту у застосунки кольорокорекції або для перевірки зображення шляхом вирівнювання дуже темних та світлих областей.

Сире – Raw

Призначене для перевірки зображення, а не для фінального експорту. Сире дає зображення без будь-якого конвертування простору кольорів.

Хибний Колір – False Color

Показує розкладку теплоти інтенсивностей зображення для візуалізування динамічного діапазону.

Експозиція – Exposure

Використовується для керування яскравістю зображення (у стопах), застосовуваного перед перетворенням простору кольорів. Вона розраховується так: \(output\_value = render\_value × 2^{(exposure)}\)

Гамма – Gamma

Додаткова корекція гамми (величини яскравості нейтрального сірого кольору), застосовувана перед конвертуванням простору кольорів. Зауважте, що стандартні трансформи показу вже здійснюють відповідну конверсію, так що це головно діє як додатковий ефект для мистецьких підправлень.

Вигляд – Look

Вибирається художній ефект з набору виміряних даних відповідних плівці, які грубо імітують вигляд зображення з певних типів плівки. Застосовується перед конверсією простору кольорів.

Вжити Криві – Use Curves

Дає змогу застосувати криві RGB для наладнання кольорів зображення перед конверсією простору кольорів. Читайте детальніше про це тут – Віджет Кривої – Curve Widget.

Секвенсер – Sequencer

Простір Кольорів – Color Space

Простір кольорів, в якому оперує Секвенсер. Стандартно, Секвенсер оперує у просторі sRGB, але він може також бути установлений для роботи у Лінеарному просторі, як і вузли Компонування, або в іншому просторі кольорів. Різні простори кольорів будуть давати різні результати для корекції кольору, перетікань та інших операцій.

Файли Зображень – Image Files

При роботі з файлами зображень зазвичай правильним є стандартний простір кольорів. Якщо це не так, то простір кольорів файлу зображення може бути сконфігуровано в уставах зображення. Поширеною ситуацією, коли необхідні зміни вручну, – це робота із чи запікання розкладок нормалей або розкладок зміщень, наприклад. Такі розкладки фактично не зберігають кольори, тільки дані, кодовані як кольори. Ці зображення повинні позначатися як Non-Color Data.

Блоки даних зображення завжди зберігають дійсночислові буфери у пам’яті у лінеарному просторі кольорів сцени, тоді як байтовий буфер у пам’яті та файли на диску зберігаються у просторі кольорів, визначеному такою уставою:

Простір Кольорів – Color Space

The color space of the image file on a drive. This depends on the file format, for example, PNG or JPEG images are often stored in sRGB, while OpenEXR images are stored in a linear color space. Some images such as normal, bump or stencil maps do not strictly contain „colors“, and on such values, no color space conversion should ever be applied. For such images, the color space should be set to Non-Color.

Стандартно, тільки рендери показуються та зберігаються із застосованими трансформаціями огляду. Ними є Результат Рендера – Render Result та блоки даних зображення Оглядача – Viewer, а ці файли зберігаються прямо на диск оператором рендерингу анімації Render Animation. Проте, при завантаженні рендера, збереженого у проміжний файл OpenEXR, Blender не визначає автоматично, що це є рендер (це може бути, наприклад, текстура зображення або розкладка зміщення). Ми повинні вказувати, що це є рендер і те, що ми хочемо, щоб застосовувалися трансформації, за допомогою таких двох устав:

Огляд як Рендер – View as Render

Показує блок даних зображення (не тільки рендерів) із застосованими трансформами огляду, експозицією, гаммою, кривими RGB. Корисно для перегляду рендерених кадрів у лінеарних файлах OpenEXR так само, як при рендерингу їх безпосередньо.

Зберегти Як Рендер – Save As Render

Опція в операторі збереження зображення для застосування трансформи огляду, експозиції, гамми, кривих RGB. Це корисно для збереження лінеарних OpenEXR у, наприклад, файли PNG чи JPEG у просторі показу.

Конфігурація OpenColorIO – OpenColorIO Configuration

Blender comes with a standard OpenColorIO configuration that contains a number of useful display devices and view transforms. The reference linear Color Space used is the linear color space with Rec. 709 chromaticities and D65 white point.

However, OpenColorIO was also designed to give a consistent user experience across multiple applications, and for this, a single shared configuration file can be used. Blender will use the standard OCIO environment variable to read an OpenColorIO configuration other than the default Blender one. More information about how to set up such a workflow can be found on the OpenColorIO website.

Blender поточно використовує наступні правила простору кольорів:

scene_linear

Простір кольорів, використовуваний для рендерингу, компонування та збереження усіх зображень з дійсночисловою точністю у пам’яті.

data

Просторі кольорів для не-колірних даних.

XYZ

Стандартний лінеарний простір кольорів XYZ. Використовується для ефектів, таких як емісія чорного тіла для конвертування з фізичних одиниць простір кольорів scene_linear.

color_picking

Визначає розподіл кольорів у підбірниках кольорів. Очікується, що воно буде приблизно сприйнятливо лінеарним, матиме таку ж саму гамму, як і простір кольорів scene_linear, розкладатиме значення 0..1 у значення 0..1 у лінеарному просторі кольорів сцени для передбачуваного редагування альбедо матеріалів.

default_sequencer

Стандартний простір кольорів для Секвенсера, scene_linear – якщо не вказано.

default_byte

Стандартний простір кольорів для зображень та файлів з байтовою точністю, texture_paint – якщо не вказано.

default_float

Стандартний простір кольорів для зображень та файлів з дійсночисловою точністю, scene_linear – якщо не вказано.

The standard Blender configuration includes support for saving and loading images in ACES (code and documentation) color spaces. However, the ACES gamut is larger than the Rec. 709 gamut, so for best results, an ACES specific configuration file should be used. OpenColorIO provides an ACES configuration file, though it may need a few more tweaks to be usable in production.