Rigging d'une main toon
Rigging
d'une main - à la manière de BBB.
Lorsque j'ai vu cette vidéo
pour la première fois, j'ai trouvé que la méthode
utilisée pour faire bouger les mains était à la
fois simple et pratique. J'ai donc attendu que les fichiers du projet
BBB soient disponibles pour essayer de comprendre le
fonctionnement...
Ce tutoriel expose ce que j'ai pu apprendre de
l'étude des armatures des personnages de BBB, avec cependant
une modification personnelle : l'utilisation pour la fermeture des
doigts, d'une contrainte "Transformation" à la place d'une
contrainte "Action", ceci ayant
l'avantage d'être plus rapide à mettre en oeuvre.
Enfin,
ce tutoriel n'est pas d'un niveau débutant, il s'adresse à
ceux qui ont déjà réalisé une armature,
bien que j'ai essayé de mettre tous les raccourcis clavier
utilisés.
Ouvrir le fichier .blend accompagnant ce tutoriel, il contient le mesh d'une main prête à être riggée.
Étape 1 : le premier bone.
Il est préférable que les centres de l'armature et du mesh qu'elle contrôle soient confondus, pour cela sélectionner la main, faire <Shift-S> - Cursor->Selection pour que le curseur3D se place sur le centre de la main, ainsi l'armature que l'on va insérer aura le même centre. Sélectionner également l'affichage du Wire (<F7> - panneau Draw) de la main cela permettra de positionner les différents bones de manière plus précise.
Faire <Space> pour ajouter le premier bone de l'armature.
Il est commode pour
travailler, de placer l'armature en X-Ray (<F9> -
panneau Armature) avec un affichage Wire (<F7> -
panneau Draw), on peut aussi faire apparaître le menu
Transform Properties en appuyant sur <N> pour pouvoir
facilement modifier certains paramètres comme les noms ou les
degrés de liberté des bones.
Faire
pivoter le bone comme sur l'image et renommer le « Paume ».
Étape 2 : L'index
L'étape suivante consiste à créer les trois bones correspondants aux phalanges de l'index.
Placer le Curseur3D à la base de l'index en vérifiant bien son positionnement à la fois dans la vue du haut <7> et dans la vue de face <1>.
Ajouter
un bone <Space>, déplacer son extrémité
afin qu'il recouvre tout le doigt (ici aussi, vérifier la
position de l'os sur les deux vues haut et face) et déclarer
cet os comme un Child of de l'os « Paume »
(<F7> - panneau Armature Bones).
Passer en vue de côté
<3>, afficher les axes des bones (<F9> - panneau
Armature) et s'assurer que l'axe z du
bone de l'index est bien orienté : le
plan yz de cet os définissant le plan dans lequel le doigt se
pliera. On peut modifier l'orientation d'un bone par
<CTRL-R>, dans notre cas, la main étant horizontale,
l'axe z pourra être vertical.
Il reste ensuite à scinder le bone en trois : <w> Subdivide Multi – Number of cuts : 2, pour obtenir les 3 os représentants les phalanges. Renommer ces bones en « Doigt1A », « Doigt1B » et « Doigt1C ».
Il est possible de déplacer légèrement les articulations des phalanges pour qu'elles suivent la courbure du doigt (faire toujours une vérification dans les 2 vues). Attention : ces modifications modifieront l'orientation des axes z, qu'il faudra re-régler avec <CTRL-R> en vue de côté <3>.
Étape 3 : Les 2 autres doigts.
Répéter ces opérations pour les 2 autres doigts, on définit ainsi 9 phalanges.
Étape 4 : Le pouce.
Même principe pour les trois phalanges du pouce : placer le Curseur3D à l'endroit de l'articulation du pouce, ce point est pratiquement dans l'alignement de l'index, puis ajouter un bone recouvrant tout le pouce. Déclarer ce bone comme Child Of « Paume ».
Par contre le plan dans lequel le pouce se plie n'est pas le même que pour les autres doigts, il faut donc ajuster l'axe z du pouce. Passer en vue de côté <3> et modifier le roll du bone <CTRL-R> pour que l'axe z soit comme sur l'image.
Il reste à découper
l'os en trois <w> Subdivide Multi,
et appeler les bones obtenus : « PouceA »,
« PouceB » et « PouceC ».
Déplacer les extrémités de
ces bones afin qu'ils suivent la courbure du pouce, penser
ensuite à modifier le paramètre
roll (<CTRL-R>) pour que les trois os aient des
axes z parallèles.
On obtient ainsi toutes les phalanges
de la main.
Étape 5 : Deux bones supplémentaires.
Placer le Curseur3D avec <CTRL-S>, à la base du bone « Doigt2A », puis ajouter un bone. Sélectionner ce bone et faites lui une rotation de 180° en tapant <R> 180.
Renommer ce dernier bone en « CourbureMain2 », déclarer le comme Child Of « Paume », puis « Doigt2A » comme Child Of « CourbureMain2 » en activant le paramètre connect. Déplacer l'extrémité de l'os comme sur l'image :
Recommencer avec un bone « CourbureMain1 » à la base du doigt3 comme sur l'image :
Étape 6 : On parente l'armature au mesh.
Revenir en Object Mode, sélectionner dans cet ordre, la main et l'armature. Faire <CTRL-P> - Make Parent To : Armature – Create From Bone Heat. Le mesh et l'armature sont parentés, passer en Pose Mode et vérifier que la main réagit bien aux déplacements des bones. Il est possible de cocher la case Quaternion (<F9> - panneau Armature) ce qui permet d'utiliser le nouvel algorithme créant moins de déformation sur le mesh.
Remettre l'armature en position initiale, en sélectionnant tous les bones et en tapant <ALT-R>, <ALT-G> puis <ALT-S>.
Il reste à réduire les degrés de liberté des bones, ces paramètres se trouvent dans le panneau Transform Properties :
Les
bones « CourbureMain1 », « CourbureMain2 »,
« PouceB », « PouceC »,
« DoigtxB » et « DoigtxC »
ne conservent qu'une rotation selon l'axe x, comme sur l'image
ci-contre :
Quant aux bones « PouceA » et « DoigtxA », ils ne gardent que les rotations autour des 3 axes.
Étape 7 : Mise en place des contraintes et des bones de contrôle.
Le
bone « CourbureMain1 » reçoit une
contrainte Copy Rotation du bone « CourbureMain2 »
avec les réglages suivants :
Avec
cette contrainte, en effectuant une rotation sur le bone
« CourbureMain1 », le bone « CourbureMain2 »
effectue 40% de cette rotation, le dos de la main se plie avec une
position plus naturelle, comme on le voit sur cette image :
Il reste maintenant à
définir les bones qui permettront de piloter chaque doigt de
la main.
Revenir en Edit Mode, placer le
curseur3D à l'origine du bone « Doigt1A »,
définir le Curseur3D comme pivot. Sélectionner
le bone « Doigt1A » et le dupliquer par
<SHIFT-D>. Agrandir le nouveau bone en tapant <S> 2, et
le renommer « CTRL_Doigt1 »
Faire la même chose avec tous les doigts de la main pour obtenir les quatre bones de contrôle.
Repasser en Pose Mode, et déverrouiller
dans la fenêtre Transform Properties, les trois cadenas
Scale des bones « CTRL_... ».
Ajouter
aux bones « PouceA » et « DoigtxA »
une contrainte Copy Rotation du bone de contrôle qui lui
correspond.
Pour
terminer, il reste à ajouter aux bones
« PouceB », « PouceC »,
« DoigtxB » et « DoigtxC »
une contrainte "Transformation", avec les paramètres suivants :
- Chaque phalange est pilotée par son propre bone « CTRL_... », il faut adapter la case "BO".
- Cette contrainte transforme ScaleY en RotX. Les valeurs min et max de ScaleY sont 0 et 2. Celles de RotX sont -150 et 150. On peut adapter ces valeurs suivant le cas.
- Ne pas oublier de sélectionner "Axis Mapping : Y-> X" dans la colone destination (la case à côté du -150).
Une fois cette contrainte mise en place, le bone « CTRL_... » pilote entièrement le doigt correspondant : la touche <S> pour plier le doigt, la touche <R> pour changer la direction du doigt.
Étape 8 : Étape finale.
L'armature est maintenant entièrement définie, mais tous les bones sont sur le même layer, ce qui n'est pas très pratique car l'affichage est très chargé. Seuls les bones « CTRL_... », « Paume » et « CourbureMain1 » sont utiles pour animer la main, sélectionner ces 6 bones, appuyer sur <M> et choisir le layer 2, ce sera le layer destiné à l'animation. Il est aussi possible de définir un affichage de type Stick (<F9> - panneau Armature).
Voilà, ce tutoriel est terminé, notre main est entièrement riggée. Essayer de fermer la main, de l'ouvrir, de fermer le poing,... tout se pilote facilement grâce à l'armature de contrôle...
tutoriel rédigé
pour le Blender Clan par Kiopaa, Juin 2008
(Mise à jour : Octobre 2008)
Auteur | Conversation | ||
nigelk
![]() ![]() Inscrit le: 10/3/2010 De: Envois: 16 |
Moi aussi j l avais vu ste vidéo mais j avais pas compris comment il faisait. |
||
Malik-Jackson
![]() ![]() Inscrit le: 12/10/2010 De: Envois: 24 |
Paril, mââââgnifique tuto! Merci! Avant, j'avais jamais compris comment armaturer! :D |
||
Redmask
![]() ![]() Inscrit le: 11/4/2011 De: Envois: 48 |
Je trouve pas child of dans la 2.5 |
||
legentille974
![]() ![]() Inscrit le: 20/8/2011 De: Envois: 7 |
moi non plus |
||
Bachadam
![]() ![]() Inscrit le: 6/5/2013 De: Envois: 5 |
C'est possible q d'autre puisse s'ensortir avec des versions anterieures de blender mais moi j'ai du mal a suivre ce tuto avec les versions recentes de blender. Aider-nous les debutants tout juste en remetant les tutorieles a jour. merci pour le tutoREMETRE A JOUR LE TUTO |
||
xann
![]() ![]() Inscrit le: 16/2/2013 De: Envois: 82 |
Merci bien pour ce tuto. J'ai suivi celui pour les jambes juste avant, eh ben je pense avoir découvert de très bonnes bases pour armaturer et animer des objets. Et j'ai envi de dire chapeau car que se soit en livre, en vidéos ou en tuto, je ne trouvais que des tutos qui présentaient le rigging avec des squelettes déjà tout fait sans expliquer comment les faire ni expliquer que les différentes formes qui apparaissaient étaient juste du à un objet dont l'apparence avait été associé à l'os. |
||