Cette page provient de Documentation française de Blender 3D
http://blender.doc.fr.free.fr/lecture_ouverte
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.
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
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 !
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
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 !
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!!