From BlenderWiki
Contrôleurs d'IPO
Une "clef de forme contrôlée" (en anglais: "Driven Shape Key") est une "clef de forme relative" ("relative Shape Key", la technique d'animation/déformation de mesh – par ex., pour les expressions d'un visage) dont la valeur (Key value) est contrôlée par les mouvements d'un autre objet.
Si quelqu'un veut animer des "clefs de forme relatives" dans Blender, cela ne peut, malheureusement, pas être fait via les Actions (voyez Action Editor, en anglais).
Il doit à la place utiliser une "construction auxiliaire", les "contrôleurs d'IPO". Avec un contrôleur d'IPO, vous contrôlez la valeur d'une courbe IPO en déplaçant un autre objet. Par ex., la couleur d'un objet peut dépendre de la rotation d'un autre objet. De même, la valeur d'influence (Key Value) d'une forme relative peut être dépendante de la rotation ou du déplacement d'un autre objet. Cela est tout particulièrement utile, car on peut par ex. rendre la forme d'un muscle dépendante de la position (rotation) de l'os (bone) lié.
Les "clefs de forme contrôlées" sont une fonctionnalité typique de Blender: construite à partir de plusieurs éléments, et qui ne dévoile sa puissance que dans la combinaison correcte. Dans ce cas, il s'agit de déformer le mesh avec des clefs de forme relatives, et de composer ses mouvements avec le NLA et les Armatures. Nous ne sommes pas obligés d'utiliser les Armatures (et/ou les Bones – "os") comme "contrôleurs" des Shape Keys, mais les possibilités d'animation avec Poses sont meilleures. Tout cela est certes déjà expliqué dans les autres sections consacrées à l'animation, mais il n'est pas vraiment évident de combiner tous les éléments ensemble.
En utilisant les clefs de forme contrôlées, vous travaillez à des niveaux d'abstraction plus élevés:
- Le plus simple, travailler au niveau des clefs de forme, comme "Sourcil Gauche Froncé", "Œil Droit Ouvert", "Sourire Méprisant Gauche", …
- Le niveau suivant est de contrôler une ou plusieurs Shape Keys avec le même os d'armature, comme "Paupière" + "Sourcil", ou "Gonfler le muscle si le bras est plié", …
- Le niveau suivant est de combiner les mouvements de plusieurs Bones ensemble en une action, comme "Heureux", "Triste", "Clin d'œil", "Froncement de sourcils", …
- Enfin, le dernier niveau serait de combiner ces actions dans l'éditeur NLA.
Vous n'êtes pas obligé d'utiliser tout ça, mais cela peut vous simplifier la vie et vous rendre plus efficace.
Exemple
Nous commencerons avec un exemple simple, qui démontre tous les éléments essentiels.
Le mesh de base est montré à l'Image 1, en vue de dessus (7 NumPad). Nous allons maintenant insérer cinq formes.
Sélectionnez le mesh en mode Object.
Créez d'abord la forme de référence ("Basis"), en tapant I → Mesh (ou en cliquant sur le bouton Add Shape Key dans l'onglet Shapes, boutons Editing – F9 – de la fenêtre Buttons).
Note
Assurez-vous d'avoir terminé la création/édition de votre mesh avant de créer la première Shape de référence. Si vous éditez un mesh après lui avoir ajouté des clefs de forme, les conséquences en sont imprévisibles – et rarement souhaitables!
|
Nous créons les quatre formes suivantes directement depuis l'origine, elles dérivent donc toutes directement de la forme de référence: répétez I → Mesh quatre fois.
Vous pouvez passer d'une Shape à l'autre en les sélectionnant dans l'onglet Shapes des boutons Editing (F9). Nous allons maintenant modifier ces formes.
Les Shapes:
-
Basis– Position "au repos", expression neutre. -
Close– Bouche fermée. -
Smile– Sourire, coins de la bouche relevés. -
LeftUp– "Sourire en coin" gauche, seul le coin gauche est relevé. -
RightUp– "Sourire en coin" droit, seul le coin droit est relevé.
Pour contrôler les courbes IPOs nous utilisons les Bones d'une Armature. Un os pour ouvrir ou fermer la bouche, un autre pour relever ou abaisser les coins de la bouche. Puisque nous pouvons utiliser les trois directions de l'espace séparément comme entrées de contrôle, nous pouvons déplacer les deux coins de la bouche ensemble avec un mouvement vertical, et avec un mouvement horizontal vers la gauche ou la droite, déplacer respectivement le coin gauche ou le coin droit, etc.
À vous de voir combien de Bones vous voulez utiliser et comment vous voulez contrôler les formes, tout dépend du niveau de contrôle (et de sa facilité) souhaité.
Dans notre exemple, l'armature est insérée dans le plan XZ (vue de face, 1 NumPad). Vous pouvez l'insérer dans son propre calque et utiliser une fenêtre 3D séparée pour déplacer les Bones. Vous devriez aligner les os sur les axes (essieux ???) globaux, c'est plus facile que de contraindre leurs mouvements (NdT: traduction incertaine de la phrase "You should align the bones along the global axles, it is easier than to confine their movement").
Appelez l'os de gauche "Close" ("fermé") et celui de droite, "Smile" ("sourire"). Appelez l'Armature "Driver" (~= "contrôleur") (F9 → onglet Links and Materials, champ OB: – le nom "Driver" n'a rien à voir avec l'option d'Ipo Add Driver).
Sélectionnez le mesh en mode objet.
Divisez votre fenêtre 3D et passez la partie droite en éditeur Ipo curve. Sélectionnez le type d'IPO Shape (Image 3).
Connecter les clefs de forme et les contrôleurs
Pour connecter la Shape Key avec son objet contrôleur – son Driver – vous la sélectionnez (LMB
dans la liste à droite de la fenêtre IPO), et tapez N dans cette fenêtre, pour appeler le panneau Transform Properties. Cliquez sur Add Driver, puis rentrez le nom de l'objet armature dans le champ OB:, et sélectionnez Pose dans la liste déroulante qui apparaît alors. Rentrez le nom du Bone contrôleur dans le champ BO: (ici, "Close"). Nous utilisons Loc Z (c-à-d la composante Z de la position de l'os) pour contrôler la pose (Image 4). Si vous n'êtes pas sûr de quelle coordonnée choisir, sélectionnez l'os dans la fenêtre 3D et utilisez-y son panneau Transform Properties pour trouver la bonne.
Pour insérer une courbe IPO tapez I dans l'éditeur de courbe IPO et confirmez Default one-to-one mapping. Une courbe linéaire allant de (0.0, 0.0) à (1.0, 1.0) est insérée. Le petit symbole de la courbe IPO en face du nom de la forme (rectangle coloré) reçoit un point, indiquant qu'un Driver contrôle la courbe/forme. La courbe IPO est la représentation de la conversion entre la position de l'os et la valeur de la clef de forme (Key value): par ex., si vous déplacez l'os d'une BU (Blender Unit, Unité Blender) dans la direction Z, la valeur de la clef de forme passe de 0.0 à 1.0; si vous le déplacez dans la direction Z négative, la forme est inversée (les vertices se déplacent dans la direction opposée)… Si la courbe IPO est horizontale, la forme ne change pas avec les mouvements du contrôleur (l'os). Nous allons utiliser cela pour limiter la déformation appliquée par les mouvements du Bone: ceux-ci n'auront plus d'effet au-delà d'un certain point.
Limitez la conversion (le mapping) de (-1.0, -1.0) à (1.0, 1.0) en sélectionnant la courbe et en passant en mode édition (⇆ Tab). Cliquez RMB
sur le point de contrôle en (0.0, 0.0) et déplacez-le (G, puis LMB
pour le "lâcher") vers le bas et la gauche, jusqu'à la position (-1.0, -1.0). Vous pouvez aussi, une fois le point sélectionné, directement rentrer ses nouvelles coordonnées dans les champs Vertex X: et Vertex Y:, en bas du panneau Transform Properties. Tapez ⇆ Tab pour sortir du mode Edit. Réglez le mode d'extension à Constant (menu Curve → Extend mode → Constant). Faites T → Linear pour rendre la courbe "droite".
Répétez ces étapes pour la forme "Smile", mais nous devons inverser la courbe IPO, de (-1.0, 1.0) à (1.0, -1.0), pour que les mouvements de l'os correspondent aux mouvements de la bouche. Pour pouvoir relever les coins de la bouche individuellement, les deux clefs de forme "LeftUp" et "RightUp" sont connectées à la coordonnée X (Loc X) du Bone "Smile". Si celui-ci se déplace dans la direction X positive, le coin droit doit se relever, s'il se déplace dans la direction X négative, c'est le coin gauche (Image 6).
Si vous déplacez maintenant les os en mode Pose, les formes "suivent le mouvement". Si vous avez besoin de plus de formes, ou voulez plus de flexibilité, vous devez définir plus de contrôleurs.
Contrôles personnalisés
Les "contrôles personnalisés" – c-à-d les contrôleurs manuels "faits maison" – facilitent l'utilisation des Shape Keys contrôlées. Il n'y a pas (pour l'instant) d'objets de ce type dans Blender, nous utilisons donc des objets mesh pour visualiser l'utilisation et les limites des objets contrôleurs. Leurs mouvements sont limités en activant les options Lock dans leurs panneaux Transform Properties (N) et – si vous le souhaitez – avec des contraintes floor ("plancher"). De cette manière, les objets contrôleurs se comportent à peu près comme de vrais boutons de contrôle.
(Image 7a) montre des exemples de contrôles personnalisés (basés sur une idée de "PolygoneUK" sur le forum "Elysiun"). En limitant les mouvements dans le panneau Transform Properties nous ne permettons pas à l'os de se déplacer de côté.
Vous pouvez obtenir une autre visualisation en créant un "visage" stylisé, et en y insérant les contrôleurs à leurs places respectives (idée de: Zeyne 2.4 rig with facial controller).
Dans notre exemple, deux objets supplémentaires placés aux coins de la zone de mouvement de l'os "Smile" sont utilisés comme contraintes Floor. Ils limitent les mouvements des deux Bones, avec quatre contraintes pour le "Smile" (haut, bas, gauche, droite) et deux pour le "Close" (haut et bas) (Image 9).
Après avoir créé tous vos contrôles, vous pouvez les déplacer dans une autre scène, de manière à ne pas les modifier par erreur. Ajoutez une nouvelle scène vide (liste déroulante SCE:, option Add new → Empty). Appelez-la "Global". Sélectionnez (⇧ ShiftRMB
) tous les objets faisant partie des contrôles, mais pas l'armature elle-même (nous avons besoin de pouvoir la modifier!). Liez ces objets à la scène "Global" avec CtrlL → To scene… → Global.
Puis nous "délions" ("to Unlink") les objets: U → Object. Supprimez maintenant les objets de la scène courante (qui sont devenus des copies de ceux présents dans la scène "Global") et passez aux boutons Scene (F10). Cherchez le fort discret bouton à "double-flèches" dont l'info-bulle dit "Scene to link as a Set", dans l'onglet Output, cliquez dessus et sélectionnez l'option "Global". Les contrôles sont maintenant visibles (en gris), mais vous ne pouvez ni les sélectionner ni les éditer depuis cette scène.
NLA
Les mouvements individuels du "visage" peuvent maintenant être arrangés en actions, et celles-ci en groupes plus complexes dans l'éditeur NLA. Une action formera une expression particulière, comme la joie, la tristesse, la surprise, etc. Si toutes les actions nécessaires sont créées, on ne travaillera plus qu'avec elles.
Vous n'êtes évidemment pas obligé de travailler avec l'éditeur NLA, vous pouvez très bien créer une seule longue action, dans laquelle vous insérez toutes les IPOs.
Définir les Actions
Comme décrit dans Animations Non Linéaires (NLA), il faut créer les différentes actions du "visage".
Notre précédent "visage" d'exemple a été étendu par deux "yeux", et trois actions ont été crées: "Wink" ("clin d'œil"), "Joy" ("joie") et "Anger" ("colère") (Image 11). les expressions sont créées en positionnant les os (en mode Pose), en sélectionnant tous ceux qui participent à l'action/expression et en insérant une IPO. Déplacez-vous de dix images et enregistrez à nouveau exactement la même pose. Le timing sera fait dans la fenêtre NLA Editor.
Arrangez maintenant les expressions dans l'éditeur NLA et définissez les timings. Tout particulièrement utile, le mélange (blending) de différentes expressions (Blendin/Blendout). Si vous utilisez l'option Hold pour les "bandes NLA", vous devriez définir une action de base "Basis", pour pouvoir mélanger les expressions avec cette expression "neutre".
Liens (en anglais)
- Ipo Drivers, Releasenotes of v2.40
- Orange Blog: License to drive Clefs de forme contrôlées, fichier .blend fourni.
- Utiliser des Driven Shape Keys pour des déformations correctes des articulations.













