Aller au contenu

uTransform Node

Par Kriss Norde

Le uTransform applique une transformation 3D (Translation, Rotation, Scale) à une scène USD. Permet de positionner / orienter / mettre à l'échelle un asset sans modifier le fichier source. Animable (TRS animables) pour effets de mouvement. Équivalent du Transform 3D classique mais pour USD.

Aperçu

Le uTransform insère une transformation au niveau de la scène USD : tout le contenu en aval du uTransform est translaté / tourné / mis à l'échelle selon les paramètres. Permet de composer des assets en gardant les fichiers USD sources intacts.

Cas typique : un asset character.usd à l' origine (0,0,0), un set.usd avec sa propre origine. uTransform sur character pour le placer correctement dans le set, animation TRS pour le faire bouger.

Où trouver ce node

  • Effects Library : Tools > USD > uTransform
  • Ajout rapide : clic droit dans le Node Editor → Add Tool > USD > uTransform

uTransform vs Transform 3D

Transform 3D
Transformation appliquée à des nodes 3D Fusion natifs (Cube, ImagePlane, etc.). Workflow Fusion classique.
uTransform
Transformation appliquée à des scènes USD. Workflow USD moderne. Sortie reste USD pour usage par autres nodes USD.

Règle : ne pas mélanger les deux mondes. uTransform pour pipeline USD, Transform 3D pour pipeline Fusion 3D.

Inputs

  • SceneInput (vert) - scène USD à transformer.
  • Output (vert) - scène USD transformée.

Configuration

Positionner asset dans set :
uLoader (set.usd) ─┐
                   │
uLoader (character.usd) → uTransform (Position = (5, 0, 3),
                                     Rotation = (0, 90, 0))
                                       │
                          uMerge ──────┘
                            ↓
                          uRenderer

Animation simple :
uLoader (asset.usd) → uTransform (Position animée 0→100 sur X)
                    → uRenderer

Hiérarchie de transforms :
uLoader → uTransform (parent) → uTransform (child) → uRenderer
   = transformations cumulées (parent + child)

Pivot custom :
uTransform (Pivot = (0, 1, 0)) = rotation autour de pivot 1m up

Onglet Controls

Translation X / Y / Z (défauts : 0,0,0)
Position de la scène en unités scène (mètres typiquement). Animable.
Rotation X / Y / Z (défauts : 0,0,0)
Rotation Euler en degrés autour des 3 axes. Ordre de rotation selon convention USD.
Scale X / Y / Z (défauts : 1,1,1)
Mise à l'échelle. Lock X/Y/Z pour scaling uniforme, ou indépendant pour stretching.
Pivot X / Y / Z (défauts : 0,0,0)
Point pivot pour rotation et scale. Par défaut origine de la scène. Modifier pour rotation autour d'un autre point.
Rotation Order (défaut : XYZ)
Ordre d'application des rotations Euler. Convention USD standard, mais ajuster si import depuis autre soft avec convention différente.

Cas d'usage

  • Positionnement asset dans scène - placer character / props / véhicules dans un set sans modifier les USD sources.
  • Animation simple - animer Translation pour déplacer un asset, Rotation pour rotation, Scale pour grossissement.
  • Réutilisation asset - même asset USD utilisé à plusieurs endroits = plusieurs uTransform avec positions différentes.
  • Conversion d'unités - asset modélisé en cm dans Maya, scène en m dans Fusion = uTransform avec Scale 0.01 pour conversion.
  • Pivot animation - animation autour d'un point spécifique (porte qui s'ouvre, roue qui tourne) = Pivot adapté + Rotation animée.
  • Hiérarchies de transformation - plusieurs uTransform en cascade pour hiérarchies parent/child.

Astuces

  • Unités scène consistantes - matcher l'unité du fichier USD (mètres / cm / pouces). Sinon échelles bizarres.
  • Pivot bien choisi - pour rotations autour d'un point spécifique (ex. roue), Pivot doit être au centre de la roue.
  • Rotation Order si import autre soft - Maya YXZ, Houdini XYZ, etc. Si rotations bizarres après import, tester différents Rotation Order.
  • Animer plutôt que clés multiples - pour mouvement complexe, considérer l'animation native USD (intégrée dans le fichier) plutôt que de tout animer en uTransform.
  • Cascade pour hiérarchie - plusieurs uTransform en cascade = hiérarchie de transformations cumulées (comme parent/child). Lecture facile.
  • Performance neutre - uTransform est très léger en compute. Mettre autant que nécessaire sans souci de perf.
  • Pour des animations sophistiquées (squash/stretch, non-uniform scaling animé), considérer modifier le USD directement avec Houdini / Maya pour animation native.