From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

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

Image 1: Mesh de base pour l'exemple des Shape Keys.

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 IMesh (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 IMesh 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.

Image 2: Quatre des cinq formes: Basis (1), Closed (2), Smile (3), LeftUp (4).

Les Shapes:

  1. Basis – Position "au repos", expression neutre.
  2. Close – Bouche fermée.
  3. Smile – Sourire, coins de la bouche relevés.
  4. LeftUp – "Sourire en coin" gauche, seul le coin gauche est relevé.
  5. 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).

Image 3: Mise en place de l'armature. À droite la fenêtre IPO en mode Shape. Nous voyons les Bones par "en-dessous". 1: "Close", 2: "Smile".

Connecter les clefs de forme et les contrôleurs

Image 4: Un os comme contrôleur de clef IPO dans l'éditeur de courbe IPO.

Pour connecter la Shape Key avec son objet contrôleur – son Driver – vous la sélectionnez (LMB Template-LMB.png 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.

Image 5: Courbe IPO pour la forme "Close".

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 Template-RMB.png sur le point de contrôle en (0.0, 0.0) et déplacez-le (G, puis LMB Template-LMB.png 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 CurveExtend modeConstant). Faites TLinear 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).

Image 6: Les trois courbes IPO pour les formes "Smile" (1), "LeftUp" (2) et "RightUp" (3).

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: Quatre meshes montrant les limites des contrôleurs.
Image 8: Panneau Transform Properties de l'os "Close" (No. 1 dans Image 7a). Le Bone ne doit se déplacer que verticalement.
Image 7b: Une manière plus intuitive de visualiser les mouvements des contrôleurs.


(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).

Image 9: Si vous utilisez des contraintes Floor, vous pouvez limitez les mouvements du contrôleur à un espace précis.

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 newEmpty). Appelez-la "Global". Sélectionnez (⇧ ShiftRMB Template-RMB.png) 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 CtrlLTo scene…Global.

Puis nous "délions" ("to Unlink") les objets: UObject. 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.

Image 10: Les contrôles ont été déplacés dans une scène globale.


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".

Image 11: Trois actions dans la fenêtre Action Editor.

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.

Image 12: Les actions 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".

Image 13: Enjoy Blending!


Liens (en anglais)