AutoPivot¶
AutoPivot place le pivot de chaque peg là où se trouve réellement l'illustration, et laisse chaque frame là où l'artiste l'a dessinée.
Il s'exécute en dernière phase de l'Assemble, et il est actif par défaut — la case AutoPivot dans la section Settings du Browser, ou dans les Preferences.
Le problème qu'il résout¶
Importez de l'illustration dans Harmony à la main et le pivot de chaque peg atterrit à l'origine — le milieu de la caméra — peu importe où se trouve le dessin. Faites tourner un bras et il pivote autour du centre de la scène au lieu de l'épaule.
Corriger cela à la main, c'est un glisser par peg, sur chaque peg, dans chaque scène.
Phase A — le tournoi¶
À la frame 1, OSA construit la hiérarchie de pegs à partir des nœuds qu'il vient de créer, en traversant les groups et les composites pour trouver le vrai sous-arbre de chaque peg.
À chaque peg, le sous-arbre enfant dont la boîte englobante a la plus grande aire l'emporte, et son centroïde devient le pivot du peg.
La plus grande aire n'est pas arbitraire : dans un rig, ce pour quoi un peg existe est presque toujours la plus grosse chose en dessous. Le plus gros enfant du peg de tête, c'est la tête ; celui du peg de bras, c'est le bras. Choisir le plus grand sous-arbre amène le pivot sur l'illustration que ce peg existe pour déplacer.
Seuls les nœuds créés par OSA sont pris en compte. Les nœuds déjà présents dans la scène sont laissés tranquilles — AutoPivot n'édite jamais le rig de quelqu'un d'autre.
Phase B — compensation par frame¶
Voici la partie qui compte pour l'animation.
Quand l'illustration est extraite, chaque frame est centrée à la position de référence (frame 1). C'est ce qui rend le pivot de la phase A correct pour toute la séquence — mais cela signifie aussi que les frames 2 et suivantes se placeraient à la position de la frame 1, pas à la leur.
La phase B calcule donc, frame par frame, le delta de position du peg qui remet l'illustration de chaque frame exactement là où elle était dans le PSD d'origine :
- elle utilise la calibration pixel → OGL enregistrée pendant l'extraction, donc le calcul se fait dans les unités propres de la scène ;
- les pegs parents bougent d'abord, de haut en bas, et chaque enfant soustrait le delta parent hérité — il n'applique que le résidu, si bien qu'un rig imbriqué ne compte pas deux fois le mouvement de ses parents ;
- seuls position.x / position.y sont animés. Jamais la rotation, jamais le skew : AutoPivot existe pour préserver le placement, pas pour inventer du mouvement ;
- chaque keyframe est en interpolation par paliers (
constSeg), donc il n'y a aucune dérive entre expositions — un drawing maintenu ne glisse pas.
Exclure un peg¶
Cochez Exclude AutoPivot sur le bloc Peg de l'Inspector, et le pivot de ce peg est laissé exactement tel quel.
C'est mis automatiquement sur chaque peg venant d'un fichier .anm ou .pvt, parce que ces pivots appartiennent au bake et les écraser casserait l'animation que vous venez d'importer. Voir Transform Sync.
Utilisez-le à la main quand le pivot d'un peg relève d'une direction artistique délibérée — une enseigne battante qui pivote sur sa potence plutôt que sur son centre de masse.
En mode Original Bitmap¶
Le recadrage est la normalisation. Un drawing en Original Bitmap n'a pas d'art layers, et la passe qui recadre l'exposition est la même que celle qui la normalise pour AutoPivot — une opération, pas deux.
C'est pourquoi ce mode coûte moins cher sur les grandes plaques : il n'y a pas d'étape de normalisation séparée sur une image de 30 000 pixels.
Quand il ne fait rien¶
| Situation | Pourquoi |
|---|---|
| Aucun nœud drawing avec expositions | il n'y a pas de boîte englobante à mesurer |
| Tous les pegs sont exclus | rien à calculer |
| Le peg n'a pas été créé par OSA | AutoPivot ne touche qu'à ses propres nœuds |
Chacun de ces cas est une ligne de log, pas un non-événement silencieux — si les pivots n'ont pas bougé, osa.log dit lequel des trois c'était.
