Bonjour à tous,
Dans un précédent article concernant les nouveautés des versions 2.74 & 2.75, j’ai évoqué une amélioration de l’outil Propagate.

J’ai eu depuis plusieurs demandes de clarification à propos de cet outil.

L’outil s’utilise principalement lors des phases de blocking. Il permet, dans certains conditions, de modifier en masse des images clés.

Prenons l’exemple d’un cycle de marche pour expliquer son fonctionnement. On remarque plusieurs phases dans l’animation du pied :

  • Le contact, où le pied est posé au sol, et il existe plusieurs images clés identiques consécutives.
  • Le passing, où le pied est en l’air, et avance jusqu’à sa position de contact suivant (le pas suivant)

Propagate Pose

Lors des phases de blocking, il est souvent nécessaire de réajuster les positions des différents os. Prenons ici l’exemple du pied : L’animateur décide que sa position au niveau du contact n’est pas idéale, il faut donc la modifier. Pour une meilleure visibilité des courbes, je règle, pour les besoins de cette démo, les courbes en mode Bézier, bien qu’étant en phase de blocking.

On se positionne donc sur la première image clé du contact (au moment du contact avec le sol), et on déplace le pied, dans la vue 3D, jusqu’à obtenir la position corrigée. Pour éviter tout glissement du pied entre cette image clé et les suivantes, il faut également ré-ajuster toutes les images clés du contact.

Au lieu de copier/coller l’image clé corrigée sur les suivantes (les 5 autres images clés où le pied est au contact du sol), nous allons utiliser l’outil propagate.

Avant de sauvegarder la nouvelle image clé (à l’aide de la touche I), on utilise Propage (à l’aide du raccourci Alt + P) dans la vue 3D, ou bien dans le menu Pose, toujours dans la vue 3D.

Comme on peut le voir dans le graph editor, les images clés correspondant au contact du sol ont été modifiées, et c’est maintenant la nouvelle position du pied qui est enregistré. Voici le détail de ce qui a été réalisé par l’outil :

  • L’outil calcule quelles sont les images clés suivantes qui ont exactement la même position que l’image courante enregistrée (donc avant la modification que l’on vient de faire). Dans notre cas, l’image courante est la 1ère au contact du sol (trait vert vertical). Les 5 images clés suivantes sont identiques à l’image courante.
  • Sur l’image courante, l’outil enregistre la nouvelle position du pied.
  • Sur les images clés qui ont été sélectionnées à l’étape 1, l’outil enregistre également la nouvelle image clé, donc la nouvelle position du pied.
  • L’outil s’arrête dès que l’image clé suivante (l’image clé suivant la parte d’appui) n’est plus identique à la précédente.

NB : Il est important, pour que l’outil fonctionne, qu’il n’y ait pas d’enregistrement automatique des images clés.

Sinon, dès qu’on déplace le pied sur l’image clé du contact avec le sol, la nouvelle position est enregistrée, et l’image clé suivante est considérée comme différente, et l’outil ne s’applique donc pas.

NB2 : Pour tester si 2 images clés sont identiques, l’outil prend en compte l’ensemble des canaux de l’os (position, rotation, mise à l’échelle), et non pas uniquement ceux affichés dans le Graph Editor. Dans notre exemple, on voit que la position Y du pied est bien identique. Mais puisque l’outil s’est appliqué l’ensemble des images clés correspondant au contact avec le sol, c’est que la rotation, la mise à l’échelle, et la position X et Z du pied sont également identiques.

Last Keyframe

Voyons maintenant un autre cas où cet outil est utile. Toujours dans le cadre d’un cycle de marche, mais cette fois-ci au niveau de la hanche. On a ici un mouvement cyclique. On a donc la première image clé qui est identique à la dernière image clé de l’action.

Imaginons maintenant qu’il faille modifier la rotation de la hanche sur la première image clé.

La solution “à la main” :

  • On corrige la rotation, puis on insère une image clé pour corriger la première image clé. Avec le modificateur Cyclic sur la courbe, on remarque un décallage au niveau de la jointure de chaque cycle.

  • Il faut donc copier/coller la nouvelle image clé sur la dernière du cycle.

On peut réaliser ces opérations plus rapidement grâce à Propagate to Last Keyframe: On change la rotation de la hanche, on enregistre la nouvelle image clé, et on applique l’outil.

On voit que la dernière image clé est modifiée automatiquement sans avoir besoin de se déplacer jusqu’à celle-ci.

NB : cette fois-ci, il faut bien enregistrer l’image clé avant d’appliquer l’outil

To next Keyframe

Cette fois-ci, le comportement est un peu différent puisqu’il permet de modifier uniquement l’image clé suivante. L’outil réagit différemment si une image clé existe sur l’image, ou non.

  • Si une image clé existe, alors la nouvelle position est enregistrée, et c’est tout. Cela revient au même que de faire Insert Keyframe (raccourci I). Donc aucun intérêt :)
  • Si aucun image clé n’existe sur l’image courante, alors la pose courante est enregistrée sur la prochaine image clé existante.

On selected keyframe

Il s’agit, pour cette option, de copier automatiquement la position courante vers un certain nombre d’images préalablement sélectionnées.

Par exemple, avant modification :

Puis je déplace le pied, et j’active l’outil avec l’option On selected keyframe

Là encore, on remarque que l’image courante n’est pas modifiée, il faut en plus enregistrer l’image avec I.

On selected markers

Cela fonctionne comme pour On selected Keyframes, mais prend en compte les marqueurs sélectionnés, au lieu des images clés sélectionnées.

Conclusion

Voici pour ce tour d’horizon de l’outil Propagate. Comme vous avez pu le remarquer, il n’est pas forcement facile de le prendre en main. Je trouve que les différentes options sont assez différentes les uns des autres, et surtout, ne réagissent pas de la même manière sur l’enregistrement de l’image courante ( On ne doit pas enregistrer l’image courante avant Propagate Pose, qui s’en occupe, mais il faut le faire pour les autres options).