ВИДЕОМОНТАЖЁРDAVINCI RESOLVE · ВИДЕО · AI
ОбработкаFUSION

Locator3D

Locator3D переводит положение точки из classic Fusion 3D scene в 2D screen-space Position для expressions/modifiers. Нода требует SceneInput с камерой, может привязаться к центру отдельного Target и при необходимости показывает или рендерит служебный crosshair.

Нода в работе
Иллюстрация нодыLocator3D
РезультатСцена 3D

Locator3D

Обзор

Что делает Locator3D

Главная функция Locator3D — не просто создать удобный marker в 3D Viewer. Blackmagic описывает ноду как преобразователь точки из 3D space в 2D coordinates, которые другие controls могут использовать через expressions или modifiers. Поэтому типичный production-сценарий — привязать 2D callout, mask, label или graphic к движущейся точке 3D-сцены.

У Locator3D два внешних входа, и оба работают с classic Fusion scene3d. Оранжевый SceneInput обязателен. Зелёный Target optional. Это принципиально важнее старого описания страницы, где нода выглядела как generator без входов.

SceneInput должен содержать camera, через которую Locator выполняет projection. Blackmagic рекомендует ставить Locator3D после Merge3D, где camera уже объединена с нужной 3D-сценой. Если camera отсутствует в SceneInput, корректного camera-space → screen-space результата ждать нельзя.

Camera в Controls выбирает конкретную camera из входной scene, которая определяет screen space для вычисления Position. Если в scene несколько камер, выбранная здесь camera является частью математического контекста Locator, а не просто Viewer preference.

Width, Height и Pixel Aspect также участвуют в 3D→2D projection. Они должны соответствовать размеру изображения, которое создаёт связанный Renderer3D. Иначе 3D-точка может быть правильной в пространстве, но 2D Position будет систематически смещена или масштабирована относительно реального кадра.

В current captured Resolve UI Camera Settings показывает checkbox Auto Resolution. В reference manual тот же блок описан через Use Frame Format Settings. Это version/UI-label boundary: статья фиксирует текущий screenshot и документированную роль automatic/frame-format resolution, но точное соответствие названия и state нужно live-проверять на целевой Resolve build.

Вычисленная Position — не RGBA image и не обычный Flow-cable output. Её используют как numeric/point control source: например, right-click по Center маски → Connect To → Locator3D → Position. Именно так Locator связывает 3D motion и 2D interface/effect controls.

Optional Target input принимает scene3d. Когда Target подключён, Locator перемещается к transform center target scene/object. Документация отдельно указывает, что Translation XYZ Locator после этого работает как offset в local coordinate space target, а не как обычная абсолютная global position.

Target input и Transform / Use Target — разные механизмы. Зелёный Target input задаёт объект/сцену, чей transform center используется как позиционная база Locator. Common Transform / Use Target вычисляет ориентацию на target point. Не соединяйте эти понятия только из-за одинакового слова Target.

Sub ID позволяет обращаться к отдельному subelement поддерживаемой geometry — в документации приведены отдельный символ Text3D и отдельная копия Duplicate3D. Это полезно для screen-space labels конкретного character/copy, но indexing и поведение сложных imported assets лучше подтвердить live на target build.

Size и Color относятся прежде всего к onscreen crosshair Locator. Size не является world-space Scale и не меняет саму 3D→2D математику. Color помогает отличать несколько locators во Viewer, но не превращает crosshair в обычный material workflow.

Make Renderable переводит Locator из чисто служебного marker в объект, crosshair которого может попасть в render. Blackmagic отдельно предупреждает: software renderer не умеет рендерить эти lines и игнорирует Make Renderable; документированный baseline — OpenGL/Hardware renderer path.

Когда Make Renderable включён, появляется conditional Unseen by Camera. Он позволяет оставить crosshair видимым в 3D viewers, но исключить его из camera render. Это display/render rule, а не выключение вычисляемой Position.

Matte controls относятся к common 3D matte/holdout behavior. Is Matte — не обычный 2D alpha checkbox: matte object исключает geometry за ним по Z. Conditional Opaque Alpha и Infinite Z документированы для matte state, даже если при выключенном Is Matte они не видны на текущем screenshot.

Normals/Tangents Scale и Show controls — diagnostic common 3D overlays. Они не участвуют в screen-space projection и не пересчитывают surface vectors. Если задача — чинить normals/tangents, нужен ReplaceNormals3D, а не Locator3D.

Transform tab задаёт Translation, Rotation, Pivot и Scale самого locator object. Для базового 3D→2D tracking чаще всего достаточно Translation или Target input; Rotation/Pivot/Scale нужны лишь когда Locator также участвует в 3D rig/debug representation.

Output Locator3D остаётся classic Fusion scene3d, пригодным для Renderer3D/Merge3D и других 3D stages. Это отдельный канал от вычисленной Position. Прямое подключение Flow Output к MediaOut остаётся type mismatch: scene→image boundary находится в Renderer3D.

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

  • Привязать 2D callout/label к точке в 3D-сцене.

  • Держать маску, графику или титр поверх движущегося 3D-объекта через Locator3D.Position.

  • Получать screen-space coordinate из camera-tracked или CG scene.

  • Следовать за transform center target-object через зелёный Target input.

  • Добавлять local-space offset поверх target position без ручного пересчёта world coordinates.

  • Выбирать subelement через Sub ID, когда source поддерживает sub-elements.

  • Использовать crosshair как понятный 3D reference marker.

  • Временно рендерить Locator crosshair для QC через Hardware/OpenGL Renderer3D.

  • Проверять соответствие camera, frame size и pixel aspect для 3D→2D overlays.