Infoforall

BLENDER 08 - Utiliser une Armature pour déformer une silhouette

Cette activité est basée sur plusieurs tutos plus ambitieux qu'on peut trouver pour l'instant sur youtube. Par exemple :

Blender Character Creation: Rigging 1/2 par Sebastian Lague.

Si vous voulez aller plus loin, n'hésitez surtout pas à aller voir l'original.

Dans l'activité précédente, nous avons vu :

Néanmoins l'influence sur l'objet restait une influence globale. Nous allons voir comment parvenir cette fois à donner l'impression d'un réel squelette sous la structure de l'objet.

Voici ce qu'on peut obtenir en quelques minutes de travail :

Bien entendu, plus le travail sera minutieux, plus le résultat sera de qualité.

1 - Création des 3 structures

Nous allons construire notre armature de façon à animer le modèle 3D de la partie précédente.

01° Créer un "cube" ayant les caractéristiques suivantes :

Forme initiale

02° Passer en mode EDIT et utiliser l'outil SUBDIVIDE pour rajouter plusieurs vertex : cela permettra à votre forme d'être facilement déformable.

03° Passer en mode OBJECT et utiliser l'outil SMOOTH pour adoucir la forme de votre objet.

04° Rajouter une armature et étirer celle-ci sur toute la hauteur de votre forme :

Armature

05° Passer en mode EDIT et utiliser SUBDIVIDE pour obtenir 4 os dans votre armature. Cela vous permet d'obtenir des os correctement connectés entre eux, comme si vous avez utilisé EXTRUDE. On notera que j'ai activé NAMES (pour voir les noms des os) et XRAY (pour les voir constamment) sur cette armature.

Les 4 os

05° Passer le mode mode de visualisation ENVELOPPE des os :

Le mode enveloppe

06° En mode EDIT, cliquer sur l'un des os : vous allez pouvoir visualiser (en gris clair) la zone d'espace sur laquelle l'os pourra tenter d'agir.

Enveloppe et zone d'influence

On notera que l'option DEFORM est activé : cet os pourra déformer les vertex des objets sur lesquelles il a une influence.

07° Modifier les valeurs de certaines valeurs d'enveloppe pour comprendre leurs influence sur l'enveloppe/zone d'influence de l'os. Revenir ensuite à la configuration de base.

08° En mode OBJECT, sélectionner le rectangle et l'armature puis utiliser CTRL+C et CTRL+V pour obtenir au final 3 formes similaires.

Vous devriez obtenir ceci :

Les 3 formes

Si vous avez eu un problème ou que vous revenez ici après avoir oublié de sauvegarder votre réalisation, voici un fichier blend correspondant : Les Trois structures.

2 - Création des liaisons ARMATURE DEFORM WITH EMPTY GROUPS

Passons aux choses sérieuses.

09° En mode OBJECT, sélectionner l'un des piliers et son armature. En utilisant CTRL+P et ARMATURE DEFORM with empty groups, créer une liaison entre le solide et l'armature.

Armature deform with empty groups

En regardant dans OUTLINER, on peut voir que la structure a changé :

La nouvelle structure

Pour voir les vertex qui sont associés à un groupe de Vertex, il "suffit" d'être en mode EDIT et d'aller dans le menu PROPERTIES - DATA :

Le sous-menu DATA

10° Aller dans ce menu et utiliser SELECT pour vérifier que le groupe de vertex est vide (c'est normal, empty group veut un peu dire groupe vide !). Tenter ensuite de modifier le solide en agissant sur l'os en mode POSE. Vous devriez constater que ... rien ne bouge sur votre solide : c'est normal. Aucun vertex du solide n'est lié à votre armature.

11° Sélectionner quelques vertex (SHIFT+Clic droit pour en prendre plusieurs). Appuyer sur ASSIGN pour rajouter des vertex à l'un des groupes liés à un os en particulier. Tenter ensuite de manipuler l'os.

Remarque : Pensez à B ou C pour sélectionner plusieurs vertex à la fois en mode Box ou Circle.

Voici pour ce mode. En résumé :

Cette méthode est donc un peu longue ... Et elle est très basique : le vertex a une influence totale s'il est sélectionné (weight = 1) et aucune s'il n'est pas sélectionné (weight = 0).

Et comment visualiser les vertex choisis ou pas ? C'est simple : il suffit de se placer en mode OBJECT, de sélectionner votre objet puis de se mettre en mode WEIGHT PAINT :

Le menu Weight Paint de Bone

Ici, on voit bien que l'os BONE va totalement influencer les vertex en rouge et laisser tranquille ceux en bleu.

Si on passe sur un autre os, Bone.003, on voit qu'aucun vertex ne sera influencé par le déplacement de cet os. C'est normal, nous avons utilisé ARMATURE DEFORM WITH EMPTY GROUPS :

Le menu Weight Paint de Bone.003

Et on ne peut pas avoir des choses entre les deux extrêmes ?

Si, bien entendu.

3 - Le mode WEIGHT PAINT

Dans ce mode, nous allons pouvoir imposer à des zones de l'objet d'être beaucoup influencées, peu influencées ou pas influencées par un os particulier.

L'influence de 0 (0%) à 1 (100%) est codée visuellement par une couleur :

le code couleur

Pour changer l'influence d'un os sur vos Vertex, il suffit d'utiliser la brosse et de gérer la valeur de votre weight :

Le menu du Weight Paint

Pour rappel : on peut peindre et sélectionner les vertex situés derrière le solide en activant le bouton LIMIT SELECTION TO VISIBLE.

L'onglet Option vous permet également de modifier la valeur de la transparence (couche ALPHA).

Pour rappel, voici un fichier blend correspondant à 3 structures : Les Trois structures.

12° Appliquer une liaison ARMATURE DEFORM WITH EMPTY GROUPS sur l'un des piliers puis peindre les zones d'influence de l'os du bas puis l'os du haut de façon à obtenir une forte zone d'influence à proximité de l'os et une zone d'influence plus faible lorsqu'on commence à s'éloigner de l'os.

Un résultat possible en image :

4 - Création des liaisons ARMATURE DEFORM WITH ENVELOPE WEIGHT

Si on utilise le second mode, on laisse Blender gérer l'influence des os sur les vertex en fonction de l'enveloppe autour de l'os :

Enveloppe et zone d'influence

13° Sélectionner un pilier et son armature. Appliquer avec CTRL+P une liaison ARMATURE DEFORM WITH ENVELOPE WEIGHT sur l'un des piliers. Passer ensuite en mode WEIGHT PAINT pour visualiser ce qu'a fait Blender automatiquement :

Pour l'os du bas :

Influence os du bas

Pour l'os juste au dessus :

Influence os numéro 2

Comme vous pouvez le voir, Blender fait plutôt bien le travail.

Si vous bloquez, voici la manipulation en image :

Ici, c'est l'enveloppe qui fait tout le travail. Si l'enveloppe n'est pas assez grande pour atteindre les vertex, il faut se souvenir comment modifier cette largeur :

14° Modifier le rayon de l'enveloppe pour voir les conséquences sur le poids(weight) des vertex. Pour rappel, il faut sélectionner votre armature et partir dans le mode EDIT.

Modifier la largeur de l'enveloppe

5 - Création des liaisons ARMATURE DEFORM WITH AUTOMATIC WEIGHTS

Il nous reste à voir le mode automatique. Les algoritmes de Blender tournent à plein régime et tente de faire le lien entre votre armature et votre objet. Le résultat est souvent de bonne qualité. Mais lorsque l'armature et l'objet sont complexes, l'automatisation n'est pas toujours très réussi.

15° Utiliser le dernier mode de liaison et visualiser en WEIGHT PAINT le résultat.

Vous devriez constater que les zones de contrôles sont plus concentrées et un peu plus similaires à ce que devrait faire un vrai os.

Pour l'os du bas :

Influence os du bas

Pour l'os juste au dessus :

Influence os numéro 2

6 - Application au personnage

Pour finir, nous allons tenter d'animer le personnage que vous avez créé quelques activités plus tôt. Ou plutôt, nous allons commencer à l'animer. La réalisation totale de cette animation et obtenir ainsi un personnage autonome va faire l'objet d'une autre activité.

16° Aller chercher votre personnage ou récuperer le personnage test ICI.

Si vous n'avez toujours pas désactivé vos images de background ayant servi à créer votre personnage, il est temps de le faire (pour afficher le menu Properties, il faut utiliser la touche N :

Menu image du fond

17° Rajouter une armature comportant deux os comme indiqué sur l'image ci-dessous. Nommer les deux os corps1 et corps2. Créer un léger angle pour que le dos ai un angle naturel.

Les deus os du corps

18° Faire une extrusion de la tête de l'os du bas de façon à créer un nouvel os qu'on nommera hanche (hip en anglais).

La hanche

19° Extruder la queue de l'os du haut pour créer l'os du cou et l'os de la tête.

cou et tête

20° Créer un nouvel os à l'aide de l'outil DUPLICATE en mode EDIT.

Duplicate

21° Supprimer le parentage visible via le trait en pointillé en supprimant le lien grace au menu PROPERTIES - BONE - RELATIONS :

Suppression du lien

22° Déplacer la queue du nouvel os avec l'outil TRANSLATE puis faire un EXTRUDE pour créer l'avant-bras. Nommer exactement ces os bras.L et avantbras.L. La codification POINT L (L pour Left) va permettre à Blender de comprendre qu'il s'agit du bras gauche.

Le bras gauche

23° Sélectionner la tête du bras et créer un lien avec l'os corps2 :

Création de la liaison

Et on obtient :

Création de la liaison 2

Il nous reste à créer la jambe gauche de la même façon :

24° Créer l'os de la cuisse en utilisant un DUPLICATE sur le bassin et en le déplacant au bon endroit.

25° Créer le tibia en utilisant un EXTRUDE sur la cuisse.

26° Rendre le bassin PARENT de vos os de jambe.

27° Nommer vos os cuisse.L et tibia.L.

Armature

Bien. Il nous reste à créer automatiquement les membres de droite à l'aide des membres de gauche qui portent tous une extension .L dans leurs noms.

Pour cela, il faut d'abord vérifier que notre armature soit bien symétrique par rapport y (ou l'axe x) :

Symétrie

28° Sélectionner tous les os avec touche A et faire un ARMATURE - Symmetrize .

ARMATURE - Symmetrize

Et comme par magie, on crée les bons os et bien renommés en plus !

ARMATURE - Symmetrize résultat

Il reste encore un problème : si vous passez en mode POSE, vous devriez constater que les deux morceaux HAUT et BAS de votre armature sont indépendantes :

Les 2 morceaux

29° Revenir en mode EDIT, faire un DUPLICATE et orienter l'os de façon à ce que la tête rond pointe vers les deux autres têtes. Nommer cet os controle.

30° Créer un lien de parenté (soit depuis le menu de l'os ou avec un CTRL+P) vers controle pour les os corps1 et hanche. Voilà vous avez un beau squelette.

Squelette finalisé

Et voilà, c'est presque fini : plus qu'à créer le lien entre le solide et l'armature.

31° Revenir en mode OBJECT et créer le lien PARENT-ENFANT en sélectionnant d'abord la forme 3D puis l'armature. Utiliser CTRL+P pour créer la liaison en ENVELOPE WEIGHT.

Vous pourrez constater que le résultat n'est pas terrible terrible. Il vous reste à modifier l'influence sur les vertex avec le mode WEIGHT PAINT.

Le plus facile est encore d'augmenter la zone d'influence des os.

Et voilà en plaçant une caméra et en créant quelques keyframes vous devriez parvenir à animer de façon basique votre squelette.

Attention : le plus simple est d'utiliser les options VISUAL lorsque vous allez vouloir rajouter vos keyframes avec la touche I.