Cette page provient de Documentation française de Blender 3D
http://blender.doc.fr.free.fr/lecture_ouverte
13.9. Mettre une armature à une main et un pied
par Lyubomir Kovachev
Capture sous Blender v2.31
13.9.1. La main
La préparation d'une main pour l'animation est une phase
importante. Les gestes, les mouvements des poignets et des doigts sont
très importants, ils expriment les états émotifs
du personnage et permettent de communiquer avec d'autres personnes ou
objets. C'est pourquoi il est trés important de soigner la mise
en oeuvre des mouvements de la main, elle doit être capable de
faire facilement tous les mouvements du poignet et des doigts. Voici
comment obtenir ce résultat:
Figure 13-26. Le bras (style dessin animé)
Nous allons utiliser un modèle simplifié de bras, du
genre utilisé dans les dessins animés (
Figure 13-26).
La mise en place suivante emploie un solutionneur d'IK(
IK solver)
pour le mouvement du bras entier et de quatre autres
IK solver,
un pour chaque doigt. La rotation du poignet est réalisée
par un os simple en cinématique inverse (Forward Kinematic).
OK. Jetez un coup d'oeil au maillage du bras et c'est parti pour
contruire l'armature.
Figure 13-27. Dégrossir l'armature
Placez le curseur 3D dans l'épaule, passez en vue de face et
ajoutez une armature. Faites une chaîne de trois
éléments (os) - un premier dans le bras, un second dans
l'avant-bras et un troisième dans la paume de la main, finissant
au début du doigt du milieu. Ceci s'appelle une chaîne
d'os (
Figure 13-27).
Figure 13-28. Positionnement de l'armature en vue de coté,
après le travail en vue de face.
Figure 13-29. Positionnement de l'armature en vue de coté,
après correction des positions.
Maintenant passez en vue de côté et déplacez les os
de sorte qu'ils s'adaptent correctement à l'intérieur du
bras et de la paume (
Figures 13-28 et 13-29).
Figure 13-30. IK solver du poignet .
Zoomez sur la main et placez le curseur à la racine de l'os,
placée dans la paume. Ajoutez un nouvel os, se dirigeant vers
l'exterieur de celle-ci, et de même longueur que l'os de paume.
Ce sera l'IK solver (solutionneur d'IK) pour le bras (
Figure 13-30).
Figure 13-31. Placer les armatures des doigts.
Placez le curseur 3D au début du doigt du milieu et à
partir de celui-ci commencez une nouvelle chaîne, se composant de
quatre os (
Figure 13-31). Trois d'entre eux seront les os
réels dans le doigt, et le quatrième os sera un ''os
nul'' - c'est un petit os, se dirigeant vers la paume, qui nous aidera
à faire tourner la chaîne entière plus tard.
De nouveau, passez en vue de côté et adaptez les os aux
doigts. Ce travail pouvant s'avérer difficile, vue de face ou de
côté, vous pouvez vous déplacer dans l'espace 3D
pour vous faciliter les modifications (
Figure 13-32).
Figure 13-32. Mise en place de l'armature d'un doigt.
Figure 13-33. Ajout de l'IK solver du doigt.
Ajoutez maintenant le solutionneur d'IK pour la chaîne de ce
doigt. Placez le curseur 3D à la racine de "l'os nul" et ajoutez
un os de la même longueur que les trois autres os du doigt (
Figure
13-33).
Figure 13-34. Mise en place des armatures des autres doigts.
Répétez la même chose pour la création des
chaînes d'IK des trois autres doigts. Seule différence: le
pouce, il n'a que deux os réels, au lieu de trois. Vous copier
et coller la chaîne puis la remodeler, ceci pour chaque doigt... (
Figure
13-34).
Figure 13-35. Attribution des noms.
Voici à la partie ennuyeuse: nommer les os. Vous ne pouvez
échapper à cette étape, parce que vous aurez
besoin plus tard de ces noms pour le "Skinning" (liaison armature
<=> maillage). Utilisez les noms de la
Figure 13-35.
Note:
Les noms des os des doigts 1 et 2 ne sont pas
représentés ici. Ils sont identiques à ceux du
doigt 3, seul le numéro est différent.
Figure 13-36. Parenter le pouce.
Maintenant parentons les os.
Choisissez l'os "ThumbA.R" à la racine du pouce (
Figure 13-36)
et dans le menu d'édition cliquez sur
child of et
choisissez
Hand.R dans le menus déroulant. Vous avez
parenté la chaîne d'os du pouce à celle de la main.
Figure 13-37. Parentez les autres doigts.
En répétant le même processus pour chacune des
autres chaînes (
Figure 13-37):
Pourquoi tout cela Pourquoi parenter tous ces os à
"Hand.R" Simplement: lorsque vous tournez la main (c.-à-d.
"Hand.R" ) tous les doigts doivent suivre le même mouvement
général de rotation. Autrement les doigts resteront
immobiles et seule la paume se déplacera et vous obtiendrez un
résultat étrange.
Aucun os
IK tool n'est enfant des os de la chaîne
qu'il commande. Tous sont des enfants de "Hand.R" ;.
Figure 13-38. Parametrage de l' IK solver pour le poignet.
Choix de l'os.
Il est temps d'ajouter les contraintes. Entrez en Mode Pose (
Figure
13-38) et rendez-vous dans le panneau Paramètre d'objet (
F7).
Choisissez "Hand.R"; et ajoutez une contrainte de
IK solver
dans le panneau des contraintes. Dans le champ d'
OB, le nom
d'objet: "Armature". L'os se déplace au centre de l'armature,
nous allons régler ce problème. Dans le nouveau champ BO,
qui est apparu dans la fenêtre de contrainte, entrons le nom de
l'os "IK_arm.R". Ce sera l'IK solver contrôlant les mouvements du
bras (
Figure 13-39).
Figure 13-39. Paramètrage de l' IK solver pour le
poignet. Réglage des contraintes.
Répétons la même procédure:
- sélectionnez "ThumbNull.R"
et ajoutez l' IK solver "IK_thumb.R",
- sélectionnez "Fing1null.R"
et ajoutez l' IK solver "IK_fing1.R",
- séectionnez "Fing2null.R"
et ajoutez l' IK solver "IK_fing2.R",
- sélectionnez "Fing3null.R"
et ajoutez l' IK solver "IK_fing3.R".
Vous avez fini avec la partie os. En mode Pose,
séléctionnez différents IK solvers et
déplacez-les pour tester les chaînes IK. A présent,
vous pouvez bouger les doigts, le pouce, tout le bras et en effectuant
une rotation de "Hand.R" vous pouvez faire tourner toute la main.
Occupons nous à présent du l'assignation ou "skinning"
(liaison armature <=> maillage). C'est la partie où l'on
dit au mesh comment il doit se déformer. Vous allez ajouter des
groupes de vertex au mesh. Chaque groupe devra porter le même nom
que l'os qui va le déformer. Si vous n'assignez pas de "vertex
groups" le processus de déformation aura besoin de beaucoup plus
de CPU, le travail va être terriblement ralenti et vous risquez
d'avoir des résultats étranges. Il est hautement
recommandé (quasiment obligatoire) d'utiliser des mesh en
subdivision de surface pour vos personnages avec peu de vertices. Si
vous utilisez des meshs avec beaucoup de vertices, l'assignation sera
plus difficile. Ne sacrifiez pas les détails mais
modélisez avec économie et utilisez le moins de vertices
possible tout utilisant toujours les Subsurf.
Parentez le mesh à l'Armature en appuyant sur
ALT-P,
dans le menu qui apparaît séléctionnez Armature et
dans le menu suivant, Name Groups. Votre mesh va s'enrichir de Vertex
Group vides.
Séléctionnez le mesh du bras, passez en Mode Edit et
passez dans la fenêtre contextuelle Editing (
F9). Dans le
menu Mesh Tools 1 de la fenêtre Edit Buttons remarquez le petit
groupe de boutons avec le mot Group au dessus. Grâce à la
fonction de nommage automatique vous disposez de tous les groupes
nécessaires (
Figure 13-40).
Figure 13-40. Noms des Vertex groups.
En fait le nommage automatique a aussi créé des groupes
de vertices pour les os "IK" et "null" à moins que vous les ayez
paramètrés pour qu'ils ne soient pas assignable
(Unskinnable). Ces groupes sont inutiles et vous pouvez les effacer
sans problème.
A présent occupons-nous de la chose la plus compliquée:
Séléctionnez le groupe de vertices "
ArmHi.R" dans les boutons d'édition
en cliquant sur le petit bouton avec un signe moins. Maintenant allez
dans la fenêtre 3D. Séléctionnez tous les vertices
que vous voulez voir déformés par l'os "
ArmHi.R" (
Figure 13-41).
Figure 13-41. Le groupe de vertices ArmHi.R.
Maintenant appuyez sur le bouton Assign dans le fenêtre des
boutons d'édition (
Figure 13-42). Vous venez juste
d'ajouter les vertices séléctionnés au groupe "
ArmHi.R". Ces vertices seront
déformés par l'os "
ArmHi.R".
Figure 13-42. Assignation de vertices à un groupe.
Répétez les même étapes pour les autres
groupes de vertices: séléctionnez les vertices et
assignez-les au groupe correspondant. Ceci est un processus fatidieux.
Faites attention. Si vous avez assigné quelques vertices
à un mauvais groupe par erreur ne vous inquiétez pas.
Contentez-vous de séléctionner les vertices
non-nécessaires et appuyez sur le bouton Remove. Vous pouvez
ajouter un vertex à plusieurs groupes. Par exemple, les vertices
qui constituent les articulations (des doigts, du poignet, du coude,
etc.) peuvent être assignés au deux groupes de vertices
qui se trouvent à proximité. Vous pouvez aussi assigner
différentes intensités à la déformation des
groupes de vertices. L'intensité par défaut est 1.000,
mais vous pouvez ajouter des vertices avec 0.500 d'intensité ou
moins encore. Plus l'intensité est basse et moins la
déformation est importante pour ce vertex. Vous pouvez conjuguer
les intensités par exemple avec un vertex qui se déforme
à 75% avec un os et à 25% avec un autre ou encore a 50%
par un os et à 50% par un autre. Testez les déformations
jusqu'à obtenir l'effet désiré. En
général, si votre bras modèle a déjà
les articulations à-demi pliées (comme le modèle
dans ce didacticiel) vous aurez de bons résultats sans utilisez
d'intensités différentes de 1.000. Une bonne règle
durant la modélisation: toujours modèliser les bras,
doigts et jambes à moitié pliés, jamais
alignés. C'est la garantie pour une bonne déformation.
Quand vous aurez fini d'ajouter les vertices aux Vertex Groups, si vous
n'avez pas fait d'erreurs, vous aurez un bras et une main bien
paramètrés. Séléctionnez l'armature, entrez
en mode Pose, séléctionnez différents IK solvers
et testez le bras et les doigts (Image 13-43).
Figure 13-43. Quelques poses.
13.9.2. Le Pied
Le paramètrage des pieds et des jambes est sans doute la chose
la plus importante dans un "armaturage". Un mauvais paramètrage
peut créer le célèbre effet "moonwalk" (marche sur
la lune), qui est très ennuyeux lorsqu'il n'est pas
désiré et généralement détruit votre
animation. Un bon paramètrage complexe doit permettre de
déplacer le corps en gardant les pieds fermement au sol ou faire
d'autres choses compliquées comme se tenir sur la pointe des
pieds, bouger les orteils, etc. Nous allons à présent
discuter de plusieurs paramètrages des pieds, qui peuvent
être utilisés dans différents buts.
Figure 13-44. Un (mauvais) "armaturage" de jambe.
Tout d'abord voyons à quoi ressemble un mauvais "armaturage" (
Figure
13-44).
Commencez par construire une chaîne de trois os- le premier pour
la cuisse, le second pour la jambe et le troisième pour le pied.
Maintenant déplacez le curseur 3D au niveau du talon et ajoutez
un autre os - celui-ci sera l'IK solver. Maintenant ajoutez à
cet os une contrainte "IK solver" liée à l'os du pied (
Figure
13-45).
Figure 13-45. Assigner la contrainte IK.
Figure 13-46. L'armature en mode Pose.
Testez l'armature: en mode Pose séléctionnez l'IK solver
et déplacez-le - il se déplace correctement. Maintenant
séléctionnez le premier os de la chaîne (la cuisse)
et déplacez-le. Le pied se déplace, et il ne faudrait
pas! (
Figure 13-46).
Normalement dans une animation vous allez beaucoup déplacer le
corps. L'os de la cuisse est parenté au corps et il sera
affecté par les mouvements. Donc chaque fois que vous ferez
bouger ou tourner le corps de votre personnage, les pieds glisseront ou
passeront en-dessous ou au-dessus du sol. Cela donnera, surtout dans le
cas d'un cycle de marche, un résultat affreux.
Figure 13-47. Ajouter un orteil et d'autres IKA.
Vous pouvez pensez que l'adjonction d'un second "IK solver"
résoudra le problème (
Figure 13-47). Ajoutons-le.
Créez une nouvelle armature. Ajoutez une chaîne de quatre
os: cuisse, jambe, pied et orteils. Ajoutez deux "IK solvers" - un pour
le pied et un autre pour les orteils. Parentez l'os "IK solver" de
l'orteil à l'os "IK solver" du pied.
Note:
L'IK solver de l'orteil est parenté à
l'IK solver du pied. Ce dernier ne doit pas être l'enfant d'un
autre os de l'armature. Assure-vous en, et pour effacer une relation de
parenté avec un os, souvenez-vous que vous pouvez
séléctionner "l'entrée vide" dans le menu Child
of. Vérifiez bien cela dans les exemples ci-après.
Figure 13-48. Déplacer la jambe.
Testez ce paramètrage - sélectionnez l'os de la cuisse et
déplacez-le (
Figure 13-48). Le glissement n'est pas aussi
prononcé que lors du paramètrage précédent
mais il est toujours présent est c'est suffisant pour ruiner
l'animation.
Figure 13-49. Armaturer avec un os null.
Créez une nouvelle armature. Faites cette fois une chaîne
de trois os - cuisse, jambe et un "os null". L' "os null" est un petit
os auquel nous ajouterons l'IK solver. Ensuite, positionnez le curseur
3D au niveau du talon et ajoutez l'os du pied. Ajoutez ensuite l'os du
pied en tant que contrainte "IK solver" de "l'os null" (
Figure 13-49).
(Vous pouvez aussi ajouter un autre os en tant qu'IK solver et ajouter
la contrainte "copy location" à l'os du pied, avec l'IK solver
comme os cible).
Figure 13-50. Armaturage avec un os null.
Faites le test - Maintenant tout fonctionne. Lorsque vous
déplacez la partie supérieure de la jambe, le pied ne
bouge pas (
Figure 13-50). C'est correct, mais pas suffisant.
Déplacez un peu plus le haut de la jambe. La chaîne d'os
de la jambe monte, mais le pied reste au sol. C'est un des
défaut de ce paramètrage mais vous n'êtes pas
supposé lever le corps aussi haut sans déplacer
conjointement l'IK solver durant l'animation...
Figure 13-51. Ajout de l'orteil.
Construisez encore une chaîne de trois os - cuisse, jambe et "os
null". Positionnez le curseur 3D sur le talon et ajoutez une
chaîne de deux os - les os pied et orteil. Maintenant ajoutez un
IK solver à l'os pied (
Figure 13-51).
Testez le tout. Ceci est un bon paramètrage, stable avec un pied
isolé et des orteils mobiles. Toutefois vous ne pouvez toujours
pas faire tenir l'armature sur la pointe des pied.
Figure 13-52. L'armature complète de la jambe.
Figure 13-53. Zoom sur la l'armature du pied.
Construisez une chaîne de trois os - cuisse, jambe et "os null"
(appelez-le
LegNull) (
Figure 13-52).
Partant du talon, faites une deuxième chaîne
constituée de deux os - os pied (Foot) et un minuscule os null
(appelez-le
FootNull). Positionnez le
curseur 3D à la fin de l'os pied et ajoutez l'os orteil (Toes).
A partir du même point créez un petit os "IK solver"
(IK_toes). Maintenant positionnez le curseur 3D sur le talon et ajoutez
un autre "IK solver" (IK_heel). Finalement, commençant
près du talon ajoutez un grand IK solver (IK_foot) (
Figure
13-53).
Maintenant paramètrons les contraintes. Procédez comme
suivant:
- Ajoutez une contrainte "copy location" à l'os "Toes"avec
pour cible l'os "IK_toes".
- Ajoutez une contraite "IK solver" à l'os "FootNull" avec pour cible "IK_toes".
- Ajoutez une contrainte "copy location" à l'os "Foot" avec
pour cible "LegNull".
- Ajoutez une contrainte "IK solver" à l'os "LegNull" avec pour cible "IK_heel"
Voilà c'est tout! A présent testez l'armature.
Séléctionnez "IK_foot" et déplacez-le. Ensuite
séléctionnez "IK_toes" et déplacez-le. La rotation
du pied change mais il semble que les orteils en sont
déconnéctés. Mais si vous animez avec
précaution vous parviendrez toujours à empêcher les
orteils de se séparer du pied. Maintenant ramenez l'armature
dans sa position initiale. Séléctionnez "IK_heel" et "
LegHi" et déplacez-les vers le haut.
A présent le personnage est sur la pointe des pieds. Le peid
peut apparaître déconnecté des orteils encore une
fois mais vous pouvez réparer cela en prenant l' "IK_heel" et en
le déplaçant un peu en avant ou en arrière. Ce
paramètrage n'est peut-être pas le plus facile à
animer, mais il donne plus de possibilités que les
paramètrages précédents.
Généralement lorsque l'on n'a pas besoin que son
personnage se tienne sur la pointe des pieds, il vaut mieux de
conserver des paramètrages plus simples. Il est impossible
d'obtenir le paramètrage parfait. Vous pouvez toujours
perfectionner les vôtres, mais il y aura toujours des
imperfections.
Figure 13-54. Test du paramètrage.
Url de la page :
http://blender.doc.fr.free.fr/lecture_ouverte/index.php?page=136