ВИДЕОМОНТАЖЁРDAVINCI RESOLVE · ВИДЕО · AI

FUSION · СПРАВОЧНИК НОД

dHoldout

dHoldout / Deep Holdout

Studio-only Deep-нода с двумя входами: Foreground Deep Image окклюдирует samples Background Deep Image по их реальной глубине, а Output остаётся Deep для дальнейшего depth-aware compositing.

Deep-композитингПродвинутый

dHoldout

Обзор

Что делает dHoldout

dHoldout [dHld] — инструмент Deep Image Compositing в DaVinci Resolve Studio. Обычное RGBA-изображение хранит один итоговый цвет на пиксель; Deep Image может хранить несколько samples с разной глубиной в одном пикселе. Поэтому dHoldout решает задачу перекрытия по Z, а не просто по плоской маске.

У ноды два обязательных по смыслу входа. Оранжевый Background принимает Deep-изображение, из которого нужно убрать скрытую часть. Белый Foreground принимает Deep-изображение объекта-окклюдера — того, кто находится перед Background и закрывает его.

Название Foreground не означает, что нода автоматически добавляет передний объект в готовый beauty-кадр. Она использует Foreground для вычисления holdout в Background. Чтобы отдельно собрать видимый foreground и background, продолжайте работу средствами Deep-композитинга, например dMerge.

Выход dHoldout остаётся Deep Image. Нода не выдаёт готовую 2D-картинку и не является генератором matte для обычного Merge. Для просмотра и последующей 2D-сборки поставьте DeepToImage после завершения операций с глубиной.

Базовая проверка — два согласованных Deep-источника с простым непрозрачным пересечением. При Compute Occluded Samples = Off и Holdout Z Offset около 0 Foreground должен скрывать только Background samples, находящиеся за ним по глубине.

Compute Occluded Samples нужен для отдельного случая — полупрозрачного Foreground. По руководству Resolve этот флажок позволяет удалить скрытые samples и пересчитать видимые background pixels так, словно они рассматриваются через частично прозрачный объект. Это не кнопка «улучшить качество» для любого шота.

Проверяйте Compute Occluded Samples на стекле, дыме или тонком объёме с читаемой текстурой позади: сделайте A/B Off/On на одном кадре и затем в движении. На полностью непрозрачном Foreground визуальная разница может быть неочевидна и не доказывает работоспособность опции.

Holdout Z Offset смещает depth boundary окклюдера. Руководство задаёт направление: уменьшение значения двигает holdout вперёд, увеличение — назад. Начинайте с нуля, затем сравнивайте небольшое отрицательное и положительное смещения, не меняя одновременно другие параметры.

Z Offset — поправка границы, а не конвертер единиц глубины. Если нужен огромный offset, сцена окклюдируется в обратном порядке или края разъезжаются, прежде всего проверьте камеру, масштаб Z, направление depth и синхронизацию исходных слоёв.

Кнопка Sample предназначена для интерактивного выбора значения в Viewer: её перетаскивают в окно просмотра. Точный внутренний алгоритм связи выбранного значения с прочими настройками здесь не утверждается: в доступном описании руководства такой формулы нет.

Holdout Center имеет координаты X и Y и позволяет перемещать центр настройки. На сохранённом скриншоте обе координаты равны 0.5; это удобная нейтральная отправная точка, а не обязательное значение для всех сцен. Center не рисует Polygon и не заменяет второй Deep-вход.

Для надёжного результата Background и Foreground должны совпадать по кадру, camera transform, разрешению, framing и conventions глубины. Перепутанные камеры или один кадр задержки могут проявляться как ложная вырезка, двойные границы или нестабильные пересечения.

Deep-композитинг следует выполнять в линейном цветовом пространстве. Если источники пришли из разных рендереров или прошли разную цветовую обработку, отдельно проверьте интерпретацию RGB/alpha и Z, прежде чем делать вывод об ошибке самого dHoldout.

Некоторые Deep-ноды Resolve допускают автоматическое преобразование плоского изображения во входной Deep-поток. Но обычный RGB/alpha не превращается от этого в полноценный согласованный набор depth samples: тип данных и физический смысл глубины нужно проверять отдельно.

Для контроля создайте диагностическую ветку dHoldout → DeepToImage → Viewer и сравните её с исходным Background. Так можно проверить результат в 2D, не разрушая основной Deep-граф; сам вывод dHoldout продолжит оставаться многослойным по глубине.

Если результат выглядит как обычная чёрно-белая маска с грубыми краями, сначала убедитесь, что на обоих входах действительно Deep data. Плоский Polygon, маска Effect Mask и геометрический Deep Foreground не являются взаимозаменяемыми источниками окклюзии.

Для движущихся объектов смотрите серию кадров: popping на границе чаще связан с несогласованными sample depths, движением камеры или рендерами разных моментов времени. Случайные ключи Z Offset обычно скрывают симптом, но не решают причину.

На стекле, дыме и волосах оценивайте flattened preview сразу по RGB и альфе на реальном фоне. Один идеально выглядящий кадр не гарантирует стабильных прозрачных пересечений на всём фрагменте.

Если задача не зависит от нескольких глубин в одном пикселе, обычная 2D-маска может быть проще и дешевле. dHoldout полезен именно тогда, когда положение samples по глубине важнее плоского силуэта.

В типовой схеме Deep Background и Deep Occluder входят в dHoldout; результат поступает в последующие Deep-ноды (например, dMerge), а DeepToImage ставится на конечной границе перехода к 2D. Порядок должен соответствовать задаче конкретного шота.

Сохранённый в проекте PNG показывает реальные Controls: Compute Occluded Samples, Holdout Z Offset, Sample и Holdout Center X/Y. Скриншот подтверждает названия элементов Inspector, но не подтверждает поведение конкретной версии Resolve при рендере.

Для автоматической сборки .comp/.setting имена портов и идентификаторы параметров требуется сверять экспортом из целевой установленной версии Resolve. Эта страница описывает подтверждённый пользовательский смысл элементов, но не объявляет live-сертификацию графа завершённой.

Когда применять

  • Скрыть CG/background Deep samples за foreground geometry без ручной 2D roto.

  • Сделать корректный holdout для стекла, дыма и других semi-transparent Deep элементов.

  • Удалить samples, физически находящиеся за depth-aware foreground.

  • Подготовить Deep-ветку перед dMerge и другими Deep operations.

  • Подстроить близкие depth intersections небольшим Holdout Z Offset.

  • Сохранить Deep structure до финального DeepToImage flatten.