Dans le cadre du projet d’animation du véhicule à voile sur la mer, voici la création de personnages en 3D, avec rig pour l’animation, vêtements en "cloth simulation" et fourrure...
Tout d’abord, il faut des images de référence des personnages à créer. L’illustration ci-dessus permet de visualiser deux personnages avec les proportions (deux tailles différentes) et la vision de ce à quoi ils devraient ressembler avec leurs habits. Idéalement, il faudrait des vues de face, de côté et de haut, surtout pour les personnages qui ont une morphologie très particulière. Ici, nous nous contenterons de créer des enfants de manière réaliste. La principale caractéristique, c’est que les proportions d’un enfant varient énormément en fonction de son âge. Plus il est jeune, plus la hauteur de sa tête est grande par rapport à celle de son corps.
Nous allons créer quatre enfants dont les âges sont compris entre huit et dix ans. Nous nous arrêterons plus sur les aspects techniques que morphologiques. Des représentations en volumes des enfants ont été créées dans une position de jambes légèrement écartées, avec les bras étendus, nous verrons plus tard pourquoi. L’ensemble doit être formé d’un seul objet, de la tête aux pieds. Il est possible de réutiliser le même personnage et de modifier ses proportions et de modifier chaque tête. Comme ils auront des habits en cloth simulation, il n’est pas nécessaire que leurs corps souvent réalisé d’une très haute définition (en nombre e polygones), mais la tête, par contre, doit être très détaillée. Pour ces personnages, l’intérieur de la bouche et la dentition ont été modélisés. Ceci permettra de filmer des gros plans des visages même quand ils auront la bouche ouverte.
Une fois que les quatre modèles sont réalisés, avec les proportions propres à chacun, il faut leur créer un squelette. On utilise une fonction à part entière d’un logiciel 3D qui permet de faire une structure d’os virtuels, de pièces mécaniques rigides qui se déplacent les uns en fonction des autres. Pour placer les jointures des os, on se base sur les positions naturelles des axes des parties qui bougeront sur le personnage, comme les genoux, les coudes, les hanches... On place également l’extrémité d’os sur les deux mâchoires. On peut également en placer sur l’avant de la tête pour esquisser des déformations du visage.
La figure de gauche de l’image ci-dessus illustre le positionnement des os du squelette sur l’objet géométrique (le corp). L’intérêt d’un tel système est de hyérarchiser les os, ce qui fait qu’ne déplaçant ou pivotant l’un d’eux, ceux qui en dépendant suivent les déplacement. C’est pratique lorsqu’on veut faire pivoter le bassin d’avoir les jambes qui suivent. Aussi, il peut être intéressant que les doigts suivent le mouvement de la main, qui suit celui du bras... Et que le pied reste au sol lorsqu’on déplace le bassin ou la jambe, ce qui est réalisé avec le système de cinématique "inverse". La complexité du squelette peut être défini en fonction des besoins en animation. N’oublions pas qu’il est possible de restreindre le degré de liberté de chaque os : on peut contraindre son angle de rotation en fonction des besoins physionomique. En pratique, on limitera les mouvements du cou sur un seul axe de rotation, et évitera qu’il ne puisse "se retourner" et ne pas permettre que le bras se plie dans le sens qui ne lui est pas naturel.
Ensuite, por faciliter l’animation du squelettte (car on n’anime que le squelette, le corps suivra ses mouvements) on peut ajouter des objets qui ne seront pas affichés comme sur l’image de droite (voir plus haut). Les triangles correspondent à des éléments fréquements utilisés en animation, comme les pieds, les poignets ou l’angle des jambes et des coudes. De larges cubles qui seront invisibles au final représentent également des objets plus complexes qu’on pourra animer ici : le haut du bassin, les hanches, la tête... on animera uniquement ces gros objets et le squelette (ainsi que le corp) suiveront sans le mouvement. Avec ces objets implicites, il est plus aisé de visualiser des poses pour le personnage, et d’affiner ensuite les détails (doigts, visage...). Il est toujours important de tester le squelette avec des poses courantes ou extrêmes pour le personnage pour déceler si les limites ne sont pas vites atteintes.
En parallèle, il est nécessaire d’ajuster la façon dont l’objet du corp "colle" au squelette. C’est la tâche appelée "skinning". Il faut que chaque zone de modèle soit influencée par un os en particulier, et qu’on définisse comment chque détail de l’objet se comporte aux endroits où plusieurs os sont proches (coudes, genous par exemple). Cet aspect nécessite parfois plusieurs affinages, en fonction de poses extrêmes du squelette (grand-écart ou bras croisés sur le torse par exemple). Avec le "skinning", on peut également définir plusieurs os accrochés à des parties du visage, déplaçant ses zones, agissant comme des muscles. Notons que le système de muscles peut être simulé par des scripts ou faire partie du logiciel 3D.
Une fois que l’objet géométrique (le corp) suit fidèlement le squelette en toutes circonstances, le personnage est prêt à être animé.
Désormais, nous allons nous occuper de son apparence visuelle. Il est possible de peindre des habits sur le modèle du corp, dans le cas ou ce seraient des habits moulants, ou que le personnage fut vu de loin. Dans le cas de ces personages, ils portent soit une robe soit des manteaux amples, qui réagissent au vent. Il faut donc les vêtir de d’habits qui flottent en fonction de leurs déplacements et des interactions extérieures. Nos utilisons donc une fonction prête à l’emploi dans les versions complètes des logiciels 3D, le système de simulation de vêtements dit "cloth simulation". Sur l’image plus haut, un personnage est figé bras écartés pour permettre de lui tailler un haut de vêtement avec des manches plus facilement. Des pièces du vêtement sont dessinées sur des planches plates pour qu’elles correspondent à des patrons d’habillage. Une pièce est destinée au devant, une au derrière, elles sont ensuite cousues ensembles (voir les petites hachures sur les bords des pièces plates. D’autres sont conçues pour le pantalon. Notons la cage entourant la tête qui sera destinée à la capuche. Sur les représentations du milieu et de droite (toujours de l’illustration du haut), le personnage est figé en position de course. L’habit est désormais une pièce de géométrie et suit les mouvements du corp (qui est, rappelons-le, lui aussi un objet de géométrie). Le corp est défini comme objet de collision pour l’habit. Ce dernier va donc désormais "flotter" autour de lui (plus ou moins loin, selon définit).
Pour que l’habit suive les mouvements du corp, il faut que la simulation début avec la position de repos (le personnage avec les jambes légèrement écartées et les bras étendus). Suivant l’évolution de l’animation, l’habit va suivre les mouvements du corp. Pour chaque animation du personnage, il faudra partir de cette position et laisser le vêtement "s’habituer" à la nouvelle position de l’objet du corp. Evidemment, il faut bien ajuster les paramètres de la simulation d’habit. La fonctionnalité est prévue pour un grand nombre de possibilités, il est important d’ajuster les paramètres d’étirement et de friction de l’habit en fonction de l’échelle pour que ce dernier se comporte comme un lourd mantean de cuir plutôt qu’un t-shirt léger. Ceci nécessite parfois beaucoup de réglages basés sur des affichages d’animation à la vitesse normale (voir plus bas).
Parfois, des points de l’habit restent accrochés aux autres, il faut ainsi régler les collisions entre les éléments du vêtement lui-même. Tout ceci est recalculé chaque fois que les réglages sont modifiés, ce qui peut prendre beaucoup de temps. L’animation ci-dessous représente un des nombreux essais sur les mouvements du vêtement :
Même si le vêtement n’est pas parfait, on peut masquer certaines imperfections en choisissant une apparence qui les cache. Pour le cas de nos quatre enfants, la plupart ont des vêtements en fourrure. Sous celle-ci, on ne verra pas que certaines parties du vêtement restent attachées entre-elles (sauf s’il se comporte trop comme du chewing-gum). La fourrure est ici obtenue avec une nouvelle fonctionnalité de la plupart des logiciels 3D complets : fur simulation. On pourrait la simuler avec des scripts et des particules (ce que la fonctionnalité utilise intrinsèquement pour cet effet). Le principe en est que des poils "guides", peu nombreux, réagissent aux lois de la physique (comme des particules, des soft- ou rigid-bodies), les autres poils se comportent suivant les guides, avec un peu d’aléatoire pour illustrer le nombre et la multitude. La deuxième image de la série plus haut illustre un rendu des poils de la fourrure. Une texture avec différentes couleurs a été attribuée aux zones de poils. Pour être complet, il est possible d’ajuster, outre la couleur, la flexibilité des poils guides de différents endroits de la surface (de l’objet sur lequel ils sont collés) ainsi que leur longueur. Ce système peut être utilisé pour des poils assez longs, mais pas trop. Pour des nattes de cheveux, il est actuellement plus simple d’utiliser la technique de cloth simulation.
Voilà les personnages prêts à être mis en situation dans un décor. La vidéo suivant récapitule en image toutes les étapes de leur construction (sauf le texturage et les poils) à travers une animation simple.