HALF, FLOAT и UINT

Документация различает 16-битный floating-point HALF, 32-битный FLOAT и беззнаковый целочисленный UINT. Выбор зависит от смысла данных: цвет, глубина и идентификатор предъявляют разные требования. Больше разрядов не является автоматической гарантией лучшего production workflow, потому что растут объём и стоимость передачи.

Практическая рекомендация: согласуйте точность по каналам и проверьте принимающий compositor. Для beauty часто подходит HALF, но данные с особыми требованиями к диапазону или точности могут нуждаться в другом представлении. Не переводите все каналы в один тип только ради единообразного интерфейса экспорта.

Интерфейс / граф узловНесколько видов в CompositorCompositor, фон просмотра и Split Viewer из официального руководства. В одном рабочем окне показано, как несколько видов изображения проходят через граф обработки.Blender Documentation Team · CC BY-SA 4.0 · Blender Manual 3.5
Версия и обработка изображения

Blender Manual 3.5 — архив документации от 23.02.2023; точная версия интерфейса отдельных кадров не указана. Преобразование в WebP без потерь; исходные размеры сохранены; без кадрирования, дорисовки и удаления подписей. Все авторы и источники.

Каналы и части файла

EXR может хранить именованные каналы: цвет, alpha, глубину, motion vectors и другие AOV, если exporter их записывает. Multipart позволяет организовать несколько частей с отдельными свойствами. Наличие множества каналов не делает файл deep: это разные возможности формата.

Для команды важны соглашения об именах и содержимом. Канал с названием normal требует знания пространства координат, а motion vectors — направления, единиц и времени. Формат способен сохранить значения, но не договаривается за отделы о том, как их использовать.

Что означает deep data

В обычном изображении каждому пикселю соответствует фиксированный набор значений. Deep image хранит список samples, который может иметь разную длину у разных пикселей. Такие данные позволяют учитывать глубину и непрозрачность при более сложном compositing, например взаимодействии объёмов и перекрывающихся элементов.

Это специальный workflow, требующий совместимости renderer и compositor и обычно большего объёма данных. Deep не является обязательным улучшением для каждой предметной картинки. Если задача решается обычными слоями, дополнительная сложность может не приносить пользы.

Логика процессаОригинальная схема обмена EXR; конкретный набор каналов задаётся проектом и exporter.

Сжатие выбирают по типу данных

OpenEXR поддерживает несколько методов компрессии; среди них есть сохраняющие исходные значения и методы с потерями. Для цветового preview визуально небольшое изменение иногда допустимо, но для масок, ID и технических каналов даже незаметная правка может нарушить дальнейшую обработку.

Практический подход — сначала определить контракт данных, затем выбрать допустимую компрессию и проверить round-trip. Не ориентируйтесь только на размер файла. Скорость чтения выбранных каналов, совместимость программ и стоимость хранения всей последовательности также влияют на решение.

Почему EXR выглядит иначе в разных viewer

Файл может содержать scene-linear значения, которые требуют корректной интерпретации и display transform. Прямой показ чисел на обычном экране не равен финальной выдаче. Кроме того, нужно согласовать alpha convention: документация описывает premultiplied цвет как обычное соглашение, но фактический pipeline следует проверять.

Не применяйте tone mapping к рабочим каналам лишь для удобства просмотра. Сохраняйте линейный master и создавайте экранную версию отдельным этапом, если именно такой контракт принят. Data AOV не следует случайно пропускать через цветовые преобразования beauty.

Приёмка файла

Проверьте разрешение, data/display window, список каналов, типы, компрессию и выбранное цветовое представление. Откройте файл в целевом compositor и выполните одну реальную операцию: сборку beauty, извлечение маски или motion blur. Успешное открытие ещё не доказывает пригодность всех данных.