FUSION · СПРАВОЧНИК НОД
DisparityToZ
Disparity To Z
DisparityToZ — Studio-only stereo converter: он читает скрытый Disparity AUX-канал из stereo image stream, использует stereo-camera geometry или Artistic mapping и добавляет рассчитанный Z channel, не превращая сам eye image в отдельную depth-карту.
DisparityToZ
Обзор
Что делает DisparityToZ
DisparityToZ решает конкретную задачу stereo pipeline: переводит уже рассчитанное смещение между левым и правым глазом в Z-depth representation. На входе должна существовать Disparity AUX information — обычно её создаёт upstream Disparity или приносит совместимый EXR/стерео-источник.
Главное отличие от старого упрощённого описания страницы: DisparityToZ — не обычный один Input → один Output filter. В separate/unstacked topology у него есть Left Input, условный Right Input и два eye outputs; при External camera появляется отдельный magenta Stereo Camera input.
Left Input — основной stereo path. В unstacked topology это левый eye image с Disparity AUX; в packed Horiz/Vert/Layers mode весь stereo pair идёт одним stream через Left Input. Right Input нужен только для отдельного правого глаза в unstacked topology.
Left Output остаётся left-eye image или packed image representation, но теперь несёт рассчитанный Z AUX channel. Right Output аналогично остаётся right-eye image и доступен в separate/unstacked topology. Нода добавляет Z, а не заменяет RGB/alpha depth-preview изображением.
Disparity и Z — разные представления. Disparity измеряет сдвиг correspondence между views в image space; Z описывает расстояние в camera space. Чтобы получить осмысленный Z из disparity, нужна модель stereo geometry — реальная Camera3D или художественно заданное mapping.
Нода относится к Studio-only stereo toolset. Страница фиксирует Resolve/Fusion 21.x semantics и текущие captured Controls/Camera screenshots; live-прогон конкретного build остаётся отдельной проверкой среды.
В External Camera Mode DisparityToZ использует stereo Camera3D. Это может быть одна Camera3D с ненулевым eye separation либо camera setup, где правая камера подключена в Right Stereo Camera. Такой режим нужен, когда Z должен соответствовать реальной/трекнутой сцене, а не быть только удобной маской глубины.
Camera selector имеет смысл, когда в поданном 3D scene stream присутствует несколько камер: выбирается та camera model, чья stereo geometry должна участвовать в пересчёте. Если подключена одна Camera3D, обычно достаточно Default/единственного доступного camera state.
Artistic Mode предназначен для случаев, когда физически точной stereo camera нет или она не нужна. Тогда DisparityToZ строит управляемое соответствие disparity→depth по foreground/background anchor points вместо строгой реконструкции реальной сцены.
В Artistic Mode документированы Foreground Disparity и Background Disparity. Они задают disparity values для ближайшей и самой дальней опорных областей. Значения следует выбирать так, чтобы они охватывали фактический диапазон disparity, иначе data за пределами диапазона будет clipped и даст плоские зоны Z.
Foreground Depth и Background Depth задают, в какие глубины будут отображены выбранные disparity anchors. Это художественный mapping: он может быть полезен для fog/DoF/mattes, но не должен выдаваться за физически измеренную дистанцию до объектов.
Falloff управляет формой disparity→depth curve. Hyperbolic ближе к физической зависимости inverse-depth и сильнее различает foreground; Linear распределяет изменение более равномерно и служит именно художественному сценарию.
Output Z To RGB копирует рассчитанный Z из AUX channel в RGB как {z,z,z,1}. Это diagnostic/processing switch: сам Z AUX существует и без него. При включении color channels повышаются до float32, чтобы значения Z не терялись в обычном ограниченном диапазоне.
Z в Fusion camera space обычно отрицателен и становится более отрицательным по мере удаления от камеры. Поэтому обычный Viewer 0–1 может показать почти чёрный/неинформативный результат. Для raw Z preview используйте Viewer Show Full Color Range или явную нормализацию для display.
Refine Z использует RGB structure, чтобы приблизить границы depth к визуальным границам изображения. Это может заметно улучшить DoF/fog edges, но одновременно способно протащить texture/detail из color channel внутрь Z, где его физически быть не должно.
Enable включает refinement. Когда refinement активен, manual/documented controls HiQ Only, Strength и Radius управляют его качеством и пространственным характером; на текущем captured screenshot зависимые controls скрыты, потому что Enable выключен.
HiQ Only ограничивает refinement режимом High Quality. Такой вариант полезен, если интерактивный setup должен оставаться легче, а refinement нужен только на финальном quality render. Проверяйте, что High Quality действительно включён там, где ожидаете работу refine stage.
Strength одновременно сглаживает depth внутри однородных color regions и подтягивает Z edges к RGB edges. Слишком большое значение приводит к texture leakage — узор, шум кожи, мелкие детали и локальный contrast начинают ошибочно деформировать depth field.
Radius задаёт пространственный радиус smoothing/refinement. Малый radius работает локальнее и лучше сохраняет тонкую структуру; большой может сгладить грубые края, но одновременно съесть narrow depth transitions и halo around foreground objects.
Stack Mode определяет topology stereo stream. В текущем captured Resolve 21 UI доступны None, Horiz, Vert и Layers. None соответствует unstacked/separate-eye routing, а packed modes переносят оба глаза в одном primary stream.
При None подключаются Left и Right image cables отдельно, и доступны оба outputs. При Horiz/Vert/Layers packed stream обычно входит только в Left Input и продолжает downstream через основной Left Output; фиктивный второй cable не добавляет информации.
Swap Eyes меняет left/right interpretation. Это routing control, а не inversion checkbox для уже готового Z и не depth-strength control. Если near/far неожиданно читаются наоборот, сначала проверьте реальный eye order и upstream disparity directions.
Точность DisparityToZ ограничена точностью входной disparity. На очень далёких расстояниях disparity changes становятся крайне малы, поэтому небольшая ошибка disparity превращается в большую ошибку reconstructed Z. Не используйте полученный far-depth как точный дальномер без понимания этой нелинейности.
Refine Z не исправляет фундаментально неверную stereo geometry. Если Z структурно неверен, сначала проверяются Stack Mode, eye order, наличие корректного Disparity AUX, camera calibration/eye separation и сама upstream disparity, а уже затем refinement.
DisparityToZ не уничтожает исходные auxiliary data просто потому, что создаёт Z. Это важно для технических EXR/stereo workflows: downstream может использовать и RGBA, и новые Z values, а при необходимости сохранять другие совместимые AUX channels.
Для depth effects типа DepthBlur или fog удобнее оставить Z в AUX channel и дать downstream node читать его напрямую. Output Z To RGB включайте для inspection, обычных RGB filters или explicit depth-map export, понимая, что это меняет содержание RGB ветки.
Проверка должна включать минимум три масштаба: topology/eye order, depth ordering near↔far и edge quality после Refine Z. Отдельно проверьте playback: flickering disparity upstream превращается в flickering Z, и статичный красивый frame этого не показывает.
Надёжный production порядок: сначала чистая Disparity AUX и правильный Stack Mode, затем External/Artistic camera model, после этого raw Z inspection, только затем Refine Z, и в самом конце downstream DoF/fog/masking. Такой порядок сохраняет причинность и делает ошибки диагностируемыми.
DisparityToZ не создаёт disparity самостоятельно. Если upstream Disparity AUX отсутствует, пуст, рассинхронизирован с eye RGB или относится к другой stereo pair, camera mapping не может восстановить корректную глубину из ничего.
В separate topology Left/Right outputs нужно рассматривать как два image carriers одного stereo solve. У каждого может существовать собственный Z AUX, но semantic scale должен оставаться согласованным, иначе downstream stereo processing начнёт расходиться между глазами.
Packed Horiz/Vert/Layers topology экономит cables, но повышает риск неверно прочитать representation downstream. Каждый следующий stereo-aware node должен использовать совместимый Stack Mode; обычный 2D transform/crop между ними может разрушить correspondence.
External Camera Mode чувствителен не только к eye separation, но и к camera transform/projection convention. Неверная focal geometry может давать Z с правдоподобным ordering, но неправильным масштабом — визуально это опаснее полностью пустого channel.
Artistic anchors должны быть упорядочены осмысленно относительно фактической disparity distribution. Если foreground/background anchors совпадают, перепутаны или не охватывают data, depth field может схлопнуться, инвертироваться или клиповаться большими плоскими зонами.
Hyperbolic Falloff ближе к inverse-depth характеру stereo geometry, но даже он не превращает Artistic mode в метрическую реконструкцию. Numeric depth anchors остаются авторским mapping contract текущего comp.
Output Z To RGB меняет именно RGB representation. Если downstream должен сохранить исходный stereo color и одновременно использовать Z, этот switch лучше оставить Off и читать auxiliary channel напрямую.
После geometry-changing операций — resize с разным aspect, crop одного глаза, warp, stabilization, stereo alignment или retime — ранее рассчитанные disparity/Z нельзя автоматически считать валидными. Их нужно либо пересчитывать, либо явно доказать сохранение correspondence.
При сохранении Z в EXR/Saver проверяйте формат и precision channel-а. Display-normalized grayscale удобен для человека, но не должен незаметно заменить raw float camera-space Z в техническом deliverable.
Conditional UI и physical port visibility зависят от Stack Mode, Camera Mode и Refine state. Для automation visible labels недостаточно: target-build .setting/.comp должен подтвердить enum values, hidden controls и serialized camera references.
Когда применять
Преобразовать Disparity AUX в Z channel для DepthBlur, fog и других depth-aware эффектов.
Получить camera-relative Z из stereo footage с tracked/stereo Camera3D.
Создать художественный depth field из disparity, когда точной камеры нет.
Проверить raw Z через Output Z To RGB и Viewer Full Color Range.
Уточнить depth edges через Refine Z перед DoF/fog compositing.
Работать как с отдельными Left/Right eyes, так и с Horiz/Vert/Layers packed stereo streams.
Диагностировать reversed eye order через Swap Eyes.
Сохранить stereo images и auxiliary channels, добавив к ним Z без обязательной RGB замены.
DisparityToZ в контексте
Скриншоты из статьи. Откройте изображение, чтобы рассмотреть его крупнее.
Пример для DisparityToZ.
Оригинальное изображениеПример для DisparityToZ.
Оригинальное изображение