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

Transform3D

трансформация 3D-сцены

Transform3D принимает обязательный classic Fusion scene3d stream и добавляет отдельный слой Translation, Rotation, Pivot и Scale, не растрируя сцену и не меняя её data domain.

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

Transform3D

Обзор

Что делает Transform3D

Transform3D не создаёт geometry и не обрабатывает 2D image. У него один обязательный оранжевый SceneInput, который принимает classic Fusion scene3d от Shape3D, Text3D, ImagePlane3D, Merge3D, импортированной модели или другого совместимого 3D-инструмента. Выход Scene остаётся scene3d.

Главная производственная роль ноды — отделить spatial animation от ноды, которая создаёт объект. Вместо того чтобы одновременно менять geometry-параметры и transform в Shape3D/Text3D, можно оставить источник стабильным, а движение вынести в отдельный Transform3D. Это заметно упрощает риги, диагностику и переиспользование веток.

Transform3D применяет дополнительную матрицу поверх уже существующих upstream transforms. Поэтому два Transform3D подряд — не дубликат: первый может отвечать за локальный поворот объекта, второй — за движение всей получившейся ветки как parent-like уровень.

Порядок нод имеет значение. Shape3D → Transform3D_A → Transform3D_B и Shape3D → Transform3D_B → Transform3D_A могут дать разный результат, потому что Translation, Rotation, Pivot и Scale не обязаны коммутировать. Для сложных ригов называйте каждый transform по его ответственности.

Translation X/Y/Z перемещает всю входящую scene branch в 3D-пространстве. Это настоящий spatial offset, а не 2D Center и не изменение камеры. Если Transform3D стоит после Merge3D, Translation двигает уже весь объединённый subtree.

Rotation Order определяет порядок Euler rotations: XYZ, XZY, YXZ, YZX, ZXY или ZYX. При вращении только по одной оси разница может быть незаметна, но при комбинации больших X/Y/Z углов order становится частью результата и анимации.

Pivot X/Y/Z задаёт точку, вокруг которой Rotation и Scale воздействуют на incoming scene. Pivot не является отдельной Translation объекта: перенос pivot меняет центр преобразования, поэтому offset pivot плюс Rotation создаёт orbit-like движение вместо простого self-spin вокруг исходного центра.

Scale по умолчанию связан через Lock X/Y/Z. При включённом lock один Scale изменяет все три оси равномерно. При отключении появляются раздельные X/Y/Z Scale, позволяя non-uniform deformation. Это transform scale всей ветки, а не размер исходного primitive.

Use Target переводит ориентацию в target-based режим. Blackmagic описывает его так: после включения появляются X/Y/Z Target Position, а объект автоматически поворачивается к этой точке; Rotation становится относительной к target-направлению. Translation при этом по-прежнему задаёт положение самой scene branch.

Target Position — координата наведения, а не второй SceneInput и не отдельный объект Flow. В production rig её можно связать с координатами другого 3D-элемента, чтобы свет, карточка, текст или иная ориентируемая ветка постоянно смотрели на движущуюся цель.

Invert Transform виден в текущем captured Resolve 21 Inspector. В Blackmagic Fusion tool reference он описан как инверсия position/rotation/scaling transformation. Практически это удобно для компенсационных ригов: одинаковая матрица и её inverse могут взаимно отменять движение при корректной иерархии.

Invert Transform не следует понимать как простое умножение X/Y/Z на −1. Для матричного transform inverse учитывает композицию translation, rotation, pivot и scale; особенно при нескольких осях и нестандартном pivot ручная смена знаков не эквивалентна инверсии.

Import Transform импортирует именно transform data, а не geometry. Current Blackmagic manual перечисляет LightWave Scene (.lws), Max Scene (.ase), Maya ASCII (.ma) и dotXSI (.xsi). Для импорта полноценной geometry/scene используется соответствующий 3D import workflow, а не эта кнопка.

Pick-кнопки Translation, Rotation и Pivot дают интерактивный путь к тем же пространственным задачам через Viewer. Blackmagic также документирует onscreen transform modes и шорткаты Q для translation, W для rotation и E для scale.

Viewer gizmo и Inspector должны описывать одну transform-задачу. Если Scale Lock X/Y/Z включён, попытка тянуть отдельную scale axis не должна рассматриваться как независимый non-uniform scale: сначала снимите lock и убедитесь, что появились раздельные оси.

Transform3D удобен для UV/texturing workflow: сначала geometry может пройти UV Map 3D или другие geometry processors в нейтральных координатах, а финальное размещение в сцене выполняется Transform3D downstream. Так texture coordinates меньше рискуют визуально 'плыть' из-за смешивания задач.

Transform3D также полезен после Merge3D, когда несколько объектов уже собраны в группу. Один downstream Transform3D становится group-level parent-like motion layer, не требуя вручную синхронизировать одинаковые ключи на каждом дочернем объекте.

Не путайте Transform3D с Merge3D Transform. Merge3D тоже способен трансформировать merged scene, но Transform3D даёт отдельный явно именованный слой ответственности, который проще переставлять, инстансить, временно отключать или инвертировать в техническом риге.

Не путайте Transform3D с 2D Transform. После Transform3D data всё ещё scene3d: здесь нет RGBA pixels, canvas size, 2D edge behavior или Effect Mask. Обычный 2D Glow/Merge/MediaOut становятся валидными только после Renderer3D.

Output Transform3D можно подавать в Merge3D, Renderer3D, another Transform3D, UV/geometry processors и другие classic Fusion 3D nodes, совместимые с scene3d. Тип кабеля не меняется от того, насколько сложной стала матрица transform.

Для диагностики разбирайте проблему по уровням: сначала topology/data type, затем Translation, затем Rotation Order и углы, затем Pivot, затем Scale, затем Target/Invert. Одновременная правка всех групп легко маскирует ошибку иерархии под проблему координат.

Практический baseline — neutral transform: Translation 0/0/0, Rotation 0/0/0, Pivot 0/0/0, uniform Scale 1, Use Target Off, Invert Transform Off. От него меняйте одну группу за раз и только после проверки результата добавляйте следующий иерархический слой.

Current bundled screenshot подтверждает Controls UI Transform3D в Resolve 21: Translation, Rotation, Pivot, Scale, Use Target, Invert Transform и Import Transform. Conditional Target Position и unlocked X/Y/Z Scale документированы Blackmagic и должны проверяться на target build при подготовке финальных live-evidence скриншотов.

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

  • Отделять анимацию положения от geometry source.

  • Строить parent-like иерархии из нескольких Transform3D.

  • Перемещать/вращать/масштабировать всю Merge3D-группу как один блок.

  • Создавать orbit motion через смещённый Pivot.

  • Наводить 3D-ветку на Target Position.

  • Компенсировать transform через Invert Transform.

  • Размещать импортированную geometry после UV/material processing.

  • Сохранять чистый и читаемый 3D Flow с отдельными слоями движения.