Управління Кольором – Color Management¶
Управління кольором є важливим для створення рендерів та активів, що є фізично точними та чудово виглядають на кількох пристроях показу. Воно використовується для гарантування, що всі частини конвеєр інтерпретують кольори коректно, і для здійснення мистецьких змін, як експозиція та кольорокорекція.
Управління кольором у Blender’і базується на бібліотеці OpenColorIO. Використовуючи однакову конфігурацію OpenColorIO у кількох застосунках, однакові простори та трансформ кольорів будуть доступні для узгоджених результатів.
Робпотік – Workflow¶
Лінеарний Простір Кольорів Сцени – Scene Linear Color Space¶
Для коректних результатів необхідні різні простори кольорів – color spaces для рендерингу, показу та збереження зображень. Рендеринг та компонування найкраще здійснюється у лінеарному, прямолінійному колірному просторі сцени – scene linear, який найбільш близько відповідає природі та робить обчислення більш фізично точними.
Якщо кольори є лінеарними, то це означає, якщо ми у реальності ми подвоюємо кількість фотонів, то значення кольорів також подвояться. Іншими словами, якщо ми маємо два фото/рендери, кожен з яких освітлюється своїм освітлювачем, та додамо ці зображення разом, то результат бути таким же самим, ніби рендер/фото освітлено обидвома освітлювачами. Звідси випливає, що такий радіометрично лінеарний простір є найкращим для фотореалістичних рендерингу та компонування.
Однак, ці значення безпосередньо не відповідають людському сприйняттю або способу роботи пристроїв показу. а файли зображень часто зберігаються у різних просторах кольорів. Тому ми повинні подбати про правильне конвертування у та із цього лінеарного простору кольорів.
Трансформи Показу – Display Transforms¶
Трансформування лінеарних кольорів сцени у показ передбачає як технічний, так і художній вибір.
Коректний показ рендерів вимагає конверсії у простір кольорів пристрою показу. Монітор комп’ютера працює інакше, ніж цифровий кіно проектор або телебачення високої чіткості HDTV, а тому потребує іншої конверсії.
Також має бути зроблений художній вибір. Частково це пов’язане з тим, що пристрої показу не можуть показувати повний спектр кольорів та мають лише обмежену яскравість, тому ми можемо стискати кольори, щоб вони вписувалися у гаму пристрою. Крім того, це може також бути корисним для надання рендерам певного вигляду, наприклад, ніби вони були надрукованій на реальній кіноплівці. Стандартна трансформа Filmic робить це.
Простори Кольорів Зображення – Image Color Spaces¶
При завантаженні та збереженні форматів медіа є важливим мати на увазі управління кольором. Формати файлів, такі як PNG або JPEG будуть типово зберігати кольори у просторі кольорів, готовому для показу, а не у лінеарному просторі. Коли вони використовуються як текстури у рендерах, то вони повинні бути конвертовані спершу у лінеарний простір, а коли зберігаються рендери для показу на веб, то вони також потребують бути конвертовані у простір показу.
Для проміжних файлів у виробництві рекомендується використовувати файли OpenEXR. Вони завжди зберігаються у лінеарних просторах кольорів сцени без втрати будь-яких даних. Це робить їх придатними для збереження рендерів, що можуть пізніше бути скомпоновані, кольорокоректовані та конвертовані у різні формати виводу.
Зображення можуть також містити дані, що насправді не є кольором. Наприклад, розкладки нормалей або зміщення лише містять вектори та зсуви. Такі зображення повинні позначатися як «Не-Колірні Дані» – Non-Color Data, щоб жодна конверсія простору кольорів не відбувалася з ними.
Устави – Settings¶
Орієнтир – Reference
- Панель – Panel
«Редактор Властивостей > Рендер > Управління Кольором» –
Показ – 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 поставляється зі стандартною конфігурацією OpenColorIO, що містить ряд корисних пристроїв показу та трансформ огляду. Використовуваним орієнтувальним лінеарним простором кольорів – color space є лінеарний колірний простір з хроматичностями Rec. 709 та точкою білого D65.
Проте, OpenColorIO було також розроблено, щоб забезпечити послідовну взаємодію користувача з кількома застосунками – multiple applications, і для цього, може бути використано спільний файл конфігурації. Blender буде використовувати стандартну змінну середовища OCIO для зчитування конфігурації OpenColorIO, а не стандартну для Blender’а. Більше інформації про те, як укласти таких робпотік, можна знайти тут – 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 – якщо не вказано.
Стандартна конфігурація Blender включає підтримку для збереження та завантаження зображень у просторах кольорів Академічної Системи Кодування Кольору – ACES (code and documentation). Проте, гамма ACES є більшою, ніж гамма Rec. 709, але для найкращих результатів, повинен використовуватися спеціальний файл конфігурації ACES. OpenColorIO надає файл конфігурації – ACES configuration, хоча може знадобитися кілька додаткових підправлень для використання у виробництві.