Cette page provient de Documentation française de Blender 3D
http://blender.doc.fr.free.fr/lecture_ouverte



<= Page précédante <= Sommaire => Page suivante =>

13.11. Comment paramètrer un cycle de marche en utilisant la NLA


par Claudio 'Malefico' Andaur

Valable pour Blender v2.31

Dans ce didacticiel nous allons paramètrer un cycle de marche et l'utiliser avec l'option Path dans l'éditeur d'Animation Non Linéaire (NLA). Avant de commencer, il faut préciser qu'une connaissance minimale des outils d'animation (paramètrer une armature) est nécessaire afin de pouvoir suivre le didacticiel, ainsi que beaucoup de patience! Il est hautement recommandé de lire préalablement et de comprendre tout ce qui concerne le module d'Animation Non Linéaire (NLA) dans ce livre.

Nous allons utiliser un paramètrage de personnage (charachter setup) comme celui présenté dans le didacticiel sur "la main et le pied", c'est-à-dire que le l'os du pied est séparé de la jambe et un "os nul" est utilisé pour stocker la contrainte "IK solver". Pour de plus amples détails, revoyez cette section!

Disposant d'un personnage armaturé, la première chose que nous devons faire est de définir des actions: "WALKCYCLE", "WAVE_HAND" et "STAND_STILL". Dans WALKCYCLE et STAND_STILL, il y aura des images-clés (Keyframes) pour à peu près tout les os de contrôle alors que dans "WAVE_HAND", il n'y en aura que pour le bras et la main. Ceci va permettre à notre personnage de faire un signe de la main tout en marchant.

L'idée principale derrière ceci est de travailler sur chaque mouvement de manière isolée et ensuite de combiner le tout dans la fenêtre de l'éditeur d'Animaton Non Linéaire (NLA).

13.11.1. La route vers le succès


Il y a deux grandes façon d'animer un cycle de marche: la première consiste à faire avancer le personnage au travers des différentes poses du cycle de marche et la seconde consiste à lui faire éxécuter du sur-place.

Même si la seconde option est la plus difficile à mettre au point, elle demeure la meilleure pour l'animation sur ordinateur et est celle qui est choisie pour ce didacticiel.

Toute la marche sera une "Action" pour notre armature, donc créons une nouvelle action et passons dans le mode Pose pour créer la Pose1 (la pose nommée "pose de contact" Figure 13-71)

Figure 13-71. Quelques poses communes dans un cycle de marche.

http://blender.doc.fr.free.fr/BlenderManual2.4_fr/PartA/character_animation/gfx/walk-poses.png

Note Il y a des détails à avoir à l'esprit quand vous préparez une armature pour un cycle de marche.
Si vous respectez la convention de nommage qui a été présentée dans la Section 13.3, vous pourrez copier et
renverser les positions clés. Il est aussi important, avant de parenter le modèle à l'armature, de s'assurer que
les axes locaux des os sont bien alignés par rapport aux axes globaux en séléctionnant les os et en appuyant
sur CTRL-SHIF-A.

Pour animer notre piéton, nous allons nous limiter à l'animation de quelques os. Dans le cas des jambes nous allons animer les pieds uniquement puisque les IK solvers vont déplacer le reste des os des jambes mieux que nous. Avant de déplacer les os et pour vous assurer que les pieds se déplacent sur une distance fixe, activez le bouton de l'option Grab Grid (qui prend en compte les mesures de la grille dans la fenêtre Blender) dans la fenêtre des paramètres utilisateur User Preference Windows View and Controls. Réduisez la taille de la grille si nécessaire.

Une bonne méthode consiste à cacher, avec le bouton à bascule adéquat, tous les os pour lesquels nous n'allons pas créer d'images-clés (KeyFrames). De cette façon, nous verrons plus clairement le modèle durant l'animation et pourrons nous concentrer sur le travail à accomplir.

Normalement, un cycle de marche contient quatre positions qui sont connues sous le nom de contact, recoil, passing et high-point. Observez la Figure 13-71.

La position la plus importante est la position "Contact". La plupart des animateurs sont d'accord pour dire que chaque cycle de marche doit commencer par la mise en place correcte de cette position. C'est dans cette position que le personnage couvre la distance la plus grande avec un pas. Dans la position "Recoil", le personnage est dans sa position la plus basse avec tout son poids sur une jambe. Dans la position "High Point", le personnage est dans la position la plus haute, pratiquement sur le point de basculer vers l'avant. La position "Passing" est plus une position intermédiaire entre "recoil" et "high-point".

La routine de travail est la suivante:

1. Positionner le modèle dans la position "contact" à la frame 1.

2. Insérez des KeyFrames pour les os qui vont servir à contrôler votre armature (ceux que vous allez utiliser pour les déplacements, c'est-à-dire principalement les IK solvers).

3. Sans les désélectionner, appuyez sur le bouton "Copy Pose". Maintenant la position et la rotation de ces os ont été stockées en mémoire.

4. Avancez de quelques frames et appuyez sur "Past Flip Pose". La position inversée va être copiée à cette frame, donc si dans la frame précédente la jambe gauche était devant, maintenant elle se retrouve derrière et vice-versa.

5. Séléctionnez encore les os de contrôle et insérez pour tous une nouvelle KeyFrame.

6. Avancez encore de quelques frames (il est recommandé d'utiliser le même nombre de frames que précédemment, avancez de 10 frames à chaque fois, c'est plus facile) et appuyez sur "Past Pose", ceci va recopier la position initiale et va clôre le cycle de marche. Nous avons donc réalisé un cycle de marche du style "Michael Jackson" puisque notre personnage n'a jamais levé ses pieds du sol.

7. Pour réparer cela, allez dans une position intermédiaire entre des les deux premières positions et déplacez les pieds pour obtenir quelque chose ressemblant à la position recoil de la Figure 13-71, quand le bassin atteint la position la plus basse.

8. Insérez une KeyFrames pour les os et copiez la position.

9. A présent allez à une frame entre les deux dernières positions (contact inversé et contact) et insérez la position inversée. Placez les KeyFrames nécessaires et c'est fini.

Astuce Si vous vous apercevez que le maillage est déformé de façon étrange, ne paniquez pas!
Séléctionnez l'armature et basculez dans le mode Edit, sléctionnez tous les os et appuyez sur CTRL-N.
Ceci va recalculer la direction des os et leur rotation qui induit les effets de torsion.

Vous devriez suivre la même routine pour toutes positions que vous désirez inclure dans votre cycle de marche. Normalement j'utilise les positions contact, recoil et high point et je laisse Blender faire la position passing.

Figure 13-72. Utilisez les boutons copier, coller et copier-inversé pour être heureux!



Maintenant si vous appuyez sur ALT-A vous verrez notre personnage bouger presque naturellement.

Il est très utile de compter le nombre d'Unités Blender (UB) couvertes par chaque pas, ce qui peut être fait en comptant les carrés de la grille entre chaque pied dans la position 1. Ce nombre équivaut au paramètre STRIDE (enjambée) que nous allons utiliser plus tard dans la fenêtre d'animation non-linéaire (NLA).

Maintenant, nous allons enfin nous concentrer sur la marche du personnage au travers de la scène.

Tout d'abord, désélectionnez le cycle de marche de notre armature afin que lorsque l'on appuie sur ALT-A, l'armature ne se déplace pas. Pour cela, appuyez sur le petit bouton X à côté du nom de l'action dans la fenêtre Action.

Ensuite, nous allons créer sur le sol, un objet PATH (chemin), pour notre héros, tout en essayant de ne pas le faire trop courbé pour l'instant (plus il sera droit, mieux cela sera). Ceci fait, parentons l'armature du personnage avec le path (une parenté normale et non une parenté Follow Path!). Si tout va bien, vous allez voir votre personnage se déplacer tout raide le long du chemin quand vous appuierez sur ALT-A.

Maintenant, allez dans la fenêtre NLA et ajoutez l'action cycle de marche (WALKCYCLE) en tant que séquence NLA. Avec la séquence sélectionnée, appuyez sur NKEY et ensuite appuyez sur le bouton Use Path.

Note Il est pratique de ne pas avoir d'action séléctionnée au moment d'en ajouter une dans
la fenêtre NLA. Pourquoi Parce qu' au lieu d'insérer une séquence NLA nous placerons les
KeyFrames individuelles de l'action dans le canal armature et ces KeyFrames supplanteront
toute séquence d'animation précédemment ajoutée. Toutefois, si vous insérez une action de la
la sorte, vous pourrez toujours convertir les KeyFrames en séquence NLA en appuyant sur CKEY.

Figure 13-73. Une bonne petite marche

http://blender.doc.fr.free.fr/BlenderManual2.4_fr/PartA/character_animation/gfx/walk-usepath.png

A présent, si vous relancez encore l'animation des choses étranges peuvent se produire. Ceci est dû au fait que nous n'avons pas réglé le paramètre Stride.

Cette valeur correspond au nombre d'Unités Blender (UB) qui doivent être parcourues par un seul cycle de marche et il est très important que son estimation soit la plus précise possible. Une fois calculée, nous devons entrer cette valeur dans le bouton numérique Stride qui apparaît quand on séléctionne une séquence NLA et que l'on appuie sur NKEY.

Si le personnage est bien placé et si le cycle de marche a été correctement paramètré, notre personnage ne doit pas "glisser" le long du chemin.

Une façon d'éstimer précisément la valeur de la foulée consiste à compter le nombre de carrés de la grille qui se trouvent entre les orteils des 2 pieds dans la Position 1. Cette valeur, une fois multipliée par 2 et par l'échelle de la grille (normalement un carré de la grille = 1 Unité Blender, mais ceci peut varier, ici, dans l'exemple 2 carrés = 1 U.B.) va nous donner la valeur STRIDE recherchée.

Dans l'exemple il y a 7.5 carrés avec GRID = 1.0, avec l'échelle de la grille à 1.0 nous avons STRIDE = 7.5 x 1.0 x 2 =15

Figure 13-74. Mesurer le STRIDE. Affiner la grille si nécessaire !

http://blender.doc.fr.free.fr/BlenderManual2.4_fr/PartA/character_animation/gfx/walk-stride.png

Il y a de fortes chances pour que nous voulions que notre personnage marche rapidement, lentement ou même s'arrête quelques instants. Nous pouvons faire tout cela en éditant la courbe IPO Speed du chemin (Path).

Séléctionnez le chemin et ouvrez une fenêtre IPO. Là nous trouvons la courbe Speed normalisée entre 0 et 1 en ordonnée (axe Y) et allant de la frame 1 à la dernière sur l'axe X. Les cordonnées en Y représentent la position relative sur le chemin et l'inclinaison de la courbe représente la vitesse des objets parents de la courbe. Dans le mode Edit, nous allons ajouter deux points avec la même coordonnée Y. Cette partie horizontale représente une pause dans le mouvement et elle va de la frame 40 à la frame 60 sur l'image.

Le problème, ici, est que lorsque notre personnage s'arrête nous allons le voir dans une position "figée" avec un pied au sol et un autre en l'air.

Figure 13-75. Faire une pause dans la marche

http://blender.doc.fr.free.fr/BlenderManual2.4_fr/PartA/character_animation/gfx/walk-standstill.png

Pour régler ce petit problème nous allons utiliser la fenêtre NLA. Ce que nous devons faire, c'est insérer l'action "STAND_STILL" qui est la position dans laquelle le personnage se tient au repos. J'ai défini cette action sur une frame en effaçant tous les déplacements et rotations d'os (Voir Supprimer les transformations) et en positionnant quelques os pour obtenir une attitude relâchée.

Vu que la pause dure de la frame 78 à la frame 112 nous devons insérer l'action "still" exactement à ce moment pour qu'elle entre parfaitement dans la pause. Pour que l'animation se s'arrête ou ne commence brusquement, nous pouvons utiliser les options "BlendIn" et "BlendOut", où nous pouvons spécifier le nombre de frames nécessaires pour mélanger les actions et de cette façon obtenir une transition plus naturelle entre eux. De cette façon le personnage va changer sa position de manière fluide et tout paraîtra parfait. Si nous paramètrons les valeurs BlendInou BlendOut dans le menu obtenu avec NKEY, alors nous devons commencer l'action BlendIn quelques frames à l'avance et terminer le BlendOut quelques frames après parce que le personnage doit toujours être en mouvement au moment où il change de position.

Nous pouvons bien sûr combiner plusieurs cycles de marche sur le même chemin, par exemple transformer une marche en course très rapide.

Dans toutes ces situations, nous devrons garder à l'esprit que les différents effets seront ajoutés d'une séquence NLA aux séquences précédentes. La meilleure option consiste donc à insérer le cycle de marche et l'arrêt avant les autres.


13.11.2. Bouger les mains, tout en marchant


Pour ajouter des actions dans la fenêtre NLA, nous devons pointer le curseur sur le canal armature et appuyer sur SHIFT-A. Un menu avec toutes les options disponibles va apparaître. Si le curseur ne se trouve pas sur le canal armature un message d'erreur va apparaître: "ERROR: Not an armature"

Placez donc le curseur sur la séquence armature et appuyez sur SHIFT-A et ajoutez l'action "WAVE_HAND".

Vu que cette action particulière consiste juste en un mouvement de la main pour dire "hello" durant le cycle de marche, nous n'allons pas utiliser l'option "Use Path" mais plutôt déplacer l'action jusqu'à ce quelle recouvre les KeyFrames concernant les les bras dans le cycle de marche. Placez le curseur sur le séquence (strip) et appuyez sur NKEY ou placez-le et mettez-le à l'échelle comme bon vous semble.

Figure 13-76. Hey guys !

http://blender.doc.fr.free.fr/BlenderManual2.4_fr/PartA/character_animation/gfx/walk-wavehand.png

Puisque cette action est la dernière a être calculée (rappelez-vous que Blender évalue les actions du Haut vers Bas dans la fenêtre NLA), elle va supplanter toutes KeyFrames définies pour les os présents dans les actions précédentes.

Bien, il n'y a plus grand chose à dire à propos de la NLA et des armatures. Il est temps pour vous d'expérimenter et de montrer les résultats de votre travail au monde entier. Une dernière recommandation toutefois: il est possible d'éditer les KeyFrames dans la fenêtre NLA. On peut dupliquer des frames (SHIFT-D), déplacer des KeyFrames (GKEY) et aussi effacer des KeyFrames (XKEY). Si vous effacez des KeyFrames soyez prudent, car elles disparaîtront définitivement de l'action en cours de séléction. Soyez donc prudent et convertissez toujours en strip NLA avant d'effacer quoi que ce soit.

Au revoir et bonne chance Blenderheads!!

<= Page précédante <= Sommaire => Page suivante =>



Url de la page : 
http://blender.doc.fr.free.fr/lecture_ouverte/index.php?page=138