Управління Кольором – 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
- Простір кольорів зображення файлу на диску. Це залежить від формату файлу, наприклад, зображення PNG або JPEG часто зберігаються у sRGB, тоді як OpenEXR зберігаються у лінеарному колірному просторі. Деякі зображення, такі як розкладки нормалей, вигинів та трафарету суворо не містять «кольорів», і для таких значень ніколи не повинно бути застосоване жодна конверсія простору кольорів. Для таких зображень простір кольорів повинен бути установлений як None.
Стандартно, тільки рендери показуються та зберігаються із застосованими трансформаціями огляду. Ними є Результат Рендера – 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, хоча може знадобитися кілька додаткових підправлень для використання у виробництві.