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

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

sTransform

sTransform / Иерархическая трансформация Shape

Shape-модификатор Fusion с одним обязательным orange Input1: принимает vector Shape data, добавляет X/Y Offset, независимый X/Y Size, Rotation и Pivot и отдаёт Shape Output без ранней растеризации. Особенно полезен для иерархии — self-animation остаётся в source Shape, а sTransform двигает всю ветку как parent-like уровень.

ShapeСредний

sTransform

Обзор

Что делает sTransform

sTransform относится к Shape nodes и работает только с Shape data. По Resolve 21 на tile есть один required orange Input1: сюда приходит output другой Shape-ноды. MediaIn, обычный RGBA image или blue mask не являются корректной заменой этого входа.

Выход sTransform остаётся Shape data. После него можно продолжать vector pipeline через sGrid, sDuplicate, sBoolean, sMerge, sChangeStyle и другие Shape tools; обычное изображение появляется только после sRender.

Поэтому sTransform принципиально отличается от обычного Transform. Обычный Transform работает с raster/image stream; sTransform меняет procedural Shape geometry до rasterization и сохраняет downstream Shape editability.

Главная production-задача sTransform — добавить ещё один transform layer поверх transform controls, которые уже есть у многих Shape generators. Это позволяет разделять локальную animation исходного объекта и parent-like movement всей ветки.

Blackmagic приводит пример с sStar: встроенный Angle можно использовать для self-spin звезды, затем отправить output в sTransform и использовать Rotation уже для движения всей звезды вокруг другой оси. Такое разделение даёт понятную иерархию вместо одной перегруженной анимации.

X Offset и Y Offset перемещают входящую Shape geometry в нормализованной системе Fusion. Manual прямо поясняет: X Offset 0.0 соответствует центру, а 0.5 переносит центр Shape к правому краю кадра.

Offset не является Pivot. Offset меняет положение geometry; Pivot меняет ось, относительно которой применяются Rotation и Size. Если эти две роли смешать, orbit-like движение легко принять за случайный сдвиг.

X Size и Y Size задают независимый масштаб по горизонтальной и вертикальной осям. Значение 1.0 сохраняет размер по соответствующей оси; разные значения намеренно растягивают или сжимают входящую Shape geometry.

В sTransform нет общего Lock X/Y на captured Controls panel. Поэтому сохранение пропорций — ответственность автора: если нужна uniform scale animation, X Size и Y Size должны меняться согласованно.

Rotation вращает входящую Shape geometry на 2D plane относительно Pivot. Для предсказуемой анимации сначала задайте axis/pivot, затем стройте Rotation keys — иначе последующая правка Pivot меняет траекторию уже созданного движения.

X Pivot и Y Pivot задают axis of rotation для incoming Shape. Resolve 21 указывает, что pivot виден во Viewer как red X и может позиционироваться непосредственно onscreen.

Pivot не обязан совпадать с центром видимой geometry. Именно намеренное разнесение geometry и Pivot позволяет получать orbit, swinging badge, radial HUD и другие иерархические движения без отдельного raster Transform.

Transform Axis — важный checkbox, смысл которого старые описания часто искажают. Manual определяет его как apply the transform to the shape's axis. Это не Show Controls, не visibility gizmo и не переключатель lock/unlock.

Практический смысл Transform Axis проявляется в иерархии: кроме geometry, transform затрагивает axis information Shape, поэтому downstream Shape transforms могут наследовать другую опорную систему. Проверяйте этот checkbox на цепочке из нескольких Shape-transform операций, а не только на одном still frame.

Captured Resolve Inspector показывает ровно восемь authored Controls: X Offset, Y Offset, X Size, Y Size, Rotation, X Pivot, Y Pivot и Transform Axis. На сохранённом screenshot Offset/Rotation/Pivot = 0.0, X/Y Size = 1.0, Transform Axis = On.

Эти captured values — UI-evidence конкретного сохранённого состояния, а не обещание universal factory defaults для каждой сборки Resolve. В статье их полезно использовать как baseline для A/B, но не как версионный API-contract.

Для простой motion graphics ветки логично строить generator → sTransform → sRender. Generator отвечает за primitive geometry и локальные controls, sTransform — за object-level placement, sRender — за rasterization.

Если форма уже размножена через sGrid, placement sTransform после sGrid трансформирует всю compound Shape-сетку как одну группу. Если поставить sTransform до sGrid, сначала изменится source, а потом именно изменённый source будет replicated. Это разные иерархии.

Тот же принцип работает с sDuplicate: transform до duplication относится к source copy; transform после duplication относится к уже собранной ветке. Выбор позиции ноды важнее самих чисел Offset/Size/Rotation.

После sMerge один sTransform удобен для общей анимации compound Shape. Это чище, чем синхронно ключевать несколько независимых generators, если вся композиция должна ехать, масштабироваться или вращаться как единый object.

sTransform не меняет Style сам по себе. Color, Alpha, Allow Combining и другие appearance controls приходят из upstream Shape tree; sTransform меняет geometric transform, а не создаёт новый fill/shading layer.

sTransform также не создаёт raster alpha. До sRender edge всё ещё описывается vector Shape data. Поэтому antialiasing, final pixel coverage и качество тонких контуров оценивайте на downstream sRender при target resolution.

Не используйте sTransform как способ исправить неправильные dimensions source primitive, если задача именно в конструктивной геометрии. Например, Width/Height sRectangle лучше описывают сам прямоугольник, а X/Y Size sTransform — внешний object-level transform поверх него.

При анимации orbit сначала сделайте static diagnosis: source Shape, Offset, Pivot и один Rotation state. Затем добавьте второй frame/rotation key. Так проще отличить неверный pivot от interpolation issue.

При nonuniform X/Y Size внимательно следите за stroke и corner behavior. Shape остаётся vector, но геометрия действительно растягивается; идеальный круг может стать ellipse, квадрат — rectangle, а звезда — anisotropic burst.

Если downstream нужен Glow, Blur или другой image effect, сначала завершите Shape operations, затем поставьте sRender и только после него raster effect. Ранний sRender лишает последующие s-ноды native Shape input.

Для reusable templates разделяйте ответственность нод именами: SOURCE GEOMETRY, LOCAL SPIN, GROUP TRANSFORM, RENDER. Это снижает риск, что future edit сломает hierarchy из-за ключей в неправильном месте.

Viewer 100% нужен после sRender для final edge QC, а playback — для Rotation/Offset hierarchy. Still frame хорошо проверяет axis и proportions, но не показывает timing, arc motion и взаимодействие нескольких transform layers.

Production QC для sTransform лучше вести по одному фактору: topology/type → Offset → Size → Pivot → Rotation → Transform Axis → downstream hierarchy → sRender edge. Такой порядок сохраняет причинность и быстро выявляет, где именно появилась ошибка.

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

  • Object-level движение Shape-графики до sRender

  • Разделение self-spin source Shape и orbit/group rotation

  • Перемещение compound Shape после sGrid/sDuplicate/sMerge

  • Nonuniform X/Y scale в Shape domain

  • Настройка отдельного Pivot для orbit/swing animation

  • Иерархические HUD, badges, icons и lower-thirds

  • Подготовка source orientation/placement перед repetition

  • Сохранение vector pipeline до финального rasterization