Explorons des animations plus complexes que la rotation de cubes. En fait, nous allons examiner l’un des exemples les plus potentiellement complexes d’associations Animation
et Animation Controller
, à savoir le cas de Humanoid
.
Vous avez peut-être remarqué qu’il existe une nouvelle génération de personnages humains en 3D qui apparaissent dans les jeux vidéo et les récits immersifs. Ces personnages ont des types de corps plus réalistes, une peau plus riche et plus dynamique qui réagit mieux à la lumière et aux ombres, et ils ont même des expressions faciales quelque peu décentes. Ce dernier aspect - les expressions faciales - nécessite encore plus d’avancées techniques et de meilleurs outils, mais nous nous rapprochons de plus en plus des expériences pseudo-cinématographiques au sein de moteurs de jeux interactifs programmables en temps réel.
L’une des raisons de l’augmentation soudaine des personnages de qualité est une amélioration des outils utilisés pour construire des humains virtuels. Il est très long de créer des personnes sommet par sommet dans des outils de modélisation 3D (cf. Blender, ci-dessous), puis d’attacher leur modèle 3D skin
à un rig
de bones
afin qu’ils puissent être animés dans Unity ou Irréel. Non seulement nous avons utilisé beaucoup de jargon dans la phrase précédente, mais nous avons également décrit plusieurs processus laborieux. Ainsi, pour accélérer ce flux de travail, de nombreux outils générateurs d’humanoïdes ont été développés.
Character Creator & iClone
L’outil le plus populaire, et aussi le plus cher, est Character Creator qui, comme son nom l’indique, vous permet de créer un personnage entièrement truqué simplement en déplaçant autour des curseurs (plus grand, plus court, plus âgé, plus jeune, couleur des yeux, longueur de bras, etc., jusqu’à la nausée). La même société dispose également d’un outil d’animation (qui fait également d’autres choses) appelé iClone, et cela coûte trop cher, même avec des réductions pour les étudiants. Donc soyez prudents.
MetaHuman
Un autre outil impressionnant, mais qui ne peut être utilisé (légalement) qu’avec Unreal Engine est Meta Human. Epic a consacré beaucoup de temps, d’argent et de communication à cet outil. C’est l’une des nombreuses raisons pour lesquelles les gens sont très enthousiasmés par le moteur de jeu Unreal.
Ziva + Meta = Unity
Unity a également fait de nombreuses acquisitions récemment, notamment l’achat de Weta Digital l’année dernière, ainsi que Ziva Dynamics. À première vue, il peut sembler qu’il ne s’agit que d’un mouvement réactif aux avancées d’Epic, mais bon nombre de ces achats indiquent que Unity a également une vue d’ensemble du paysage global de la manière dont les personnages, les matériaux et les environnements doivent interagir avec leurs outils. Weta et Ziva vont bien au-delà des humanoïdes fantaisistes et nous entraînent dans le monde de la simulation :
Pour faire court, Unreal et Unity sont dans une bataille massive en ce moment, et cela se traduit par de nombreux outils de développement axés sur des humanoïdes sophistiqués avec des animations plus expressives que celles que nous avions au cours des 30 années précédentes de visages et de corps humains dans les jeux vidéo. La vidéo suivante, par exemple, est une bande-annonce de la Game Developers Conference 2022 où Unity a présenté ses dernières et plus grandes avancées sur ces fronts. Le visage que vous regardez est un personnage en temps réel entièrement numérique fonctionnant dans Unity :
Make Human
Make Human n’est pas du tout joli comme les outils de personnage ci-dessus. Il a même des notions plus que douteuses sur la race, le sexe et les types de corps. Cela dit, c’est open-source, donc peut-être que la communauté peut le rendre moins grincheux ¯\_(ツ)_/¯
? Quoi qu’il en soit, cela fonctionne avec le même principe de déplacement des curseurs que Character Creator afin d’ajuster la forme du corps et la hauteur de vos personnages. Ces personnages sont entièrement truqués et peuvent être importés en petite pompe directement dans Unity et animés par tous les moyens que vous souhaitez.
Blender
La solution la plus difficile, mais aussi la plus puissante, est d’apprendre à fabriquer un humain à partir de zéro en utilisant des logiciels de modélisation 3D plus traditionnels tels que Maya, C4D ou Blender. Il existe de nombreux tutoriels pour modéliser des personnages, les “truquer” en marionnettes contrôlables, puis les importer dans Unity. Nous n’allons pas passer par ces solutions pour ce tutoriel.
Par exemple, voici un tutoriel gratuit en 9 parties sur la création d’un personnage humanoïde dans Blender, en le truquant avec un outil Blender appelé Rigify puis en l’important dans Unity :
L’un des avantages de l’apprentissage de l’ensemble du flux de travail de modélisation > rigging > animation > moteur de jeu est que vous pouvez concevoir des personnages non standard sans tomber dans les clichés de la plupart des outils d’emporte-pièce-faites-moi un humain. Une fois que vous avez appris les bases du système Rigify de Blender, vous pouvez même l’appliquer à diverses créatures quadripèdes ou volantes, qui sont d’ailleurs inclus par défaut dans l’installation de base de Rigify.
Open Source Afro Hair Library
Pendant que vous concevez votre propre personnage 3D, puis-je vous intéresser à repenser vos hypothèses de base sur ce qui fait un personnage jouable standard ? Que diriez-vous de consulter le OSAHL de pretty darke & Cie. :
“La bibliothèque Open Source Afro Hair Library est une ressource queer, féministe et pro-noire pour les modèles 3D de textures et de styles de cheveux noirs.”
Mixamo
Pour ce didacticiel, nous allons utiliser un ancien outil de rigging et d’animation humanoïde nommé Mixamo. C’est un outil très facile à utiliser et nous permet d’avoir rapidement un personnage humanoïde se déplaçant à l’intérieur de notre jeu ou de notre expérience de réalité virtuelle.
Malheureusement, cet outil a subi la trajectoire inverse de Ziva Dynamics et MetaHuman. Mixamo est encore un autre de ces incroyables outils qui ont été achetés par Adobe, qui a par la suite abandonné dans les limbes du développement où il reste juste là, dépérissant éternellement. Pour l’instant, il est encore (quelque peu) utilisable, mais uniquement via le navigateur Chrome. Comme il n’a pas évolué depuis des années, ce n’est probablement qu’une question de temps avant qu’Adobe débranche la prise. Adobe ne semble tout simplement pas obtenir (ou se soucier de) la 3D, malgré le fait qu’il continue d’acheter des outils 3D importants, tels que Substance. Bref, Adobe. Soupir. Double soupir.
Malgré tout cela, et comme nous attendons toujours une solution humanoïde complète de Unity (post-acquisition de Ziva/Weta), nous devrons utiliser Mixamo pour l’instant.
Mixamo est en fait deux choses : un outil d’auto-rigging et une bibliothèque de mouvements animés (idle, marche, saut, danse, etc.). L’idée originale de Mixamo était d’utiliser l’IA pour automatiquement faire des “rig” de personnages 3D, supprimant ainsi l’une des étapes les plus fastidieuses de la transformation d’une forme humanoïde en un personnage pour les jeu ou récits interactives. La plupart des gens utilisent la bibliothèque, comme nous le ferons dans ce tutoriel. Mais l’outil de “rigging” automatique est la partie magique et mérite d’être mentionné. Cette fonction de rig automatique vous permet de :
- Créez une forme 3D dans l’outil de votre choix. Cette forme 3D (ou
mesh
) doit vaguement ressembler à un humanoïde avec des bras, des jambes, un torse, une tête, et être positionnée en “T-Pose” avec les bras écartés de chaque côté, loin du torse - Téléchargez ce personnage sur Mixamo
- Après environ une minute, il aura généré une marionnette “rigged” en 3D entièrement animée que vous pouvez télécharger
- Vous pouvez importer et contrôler ce personnage dans Unity ou Unreal
Aujourd’hui, la plupart des gens utilisent Mixamo comme une bibliothèque de personnages et d’animations téléchargeable gratuitement, sans se rendre compte qu’il peut également être utilisé pour “auto-rigging” vos propres personnages faits à la main. Il existe même un outil de plug-in Mixamo Blender qui vous permet d’auto-riger vos modèles Blender en utilisant le système Mixamo directement depuis le logiciel, mais cela sort du cadre de notre tutoriel (cf. Mixamo Addon for Blender).
Navigateur Chrome
Nous utiliserons Mixamo entièrement via leur site Web. Pour l’instant, le seul navigateur qui semble fonctionner avec est Google Chrome. Oui oui, nous le savons : Chrome est une bête qui aspirera votre batterie à sec. Néanmoins, vous devrez probablement utiliser Chrome.
Login
Si vous avez déjà un compte Adobe, commencez par Login
Sign Up
Character
Il existe deux sections principales sur le site Web de Mixamo : Characters
choisir
téléchargez
Animations
Voici Louise
Pour l’instant, Louise n’est pas animée. Comme vous pouvez le voir au bas de cette fenêtre, il y a actuellement 0/0
frames
pour que Louise fasse son truc. Elle est coincée dans la T-Pose
, qui est une position par défaut d’animation 3D qui montre clairement (surtout à l’ordinateur) quelles parties du corps sont attachées à quoi. En éloignant les bras du torse, on risque moins dans l’ordinateur de confondre les parties du maillage 3D appartenant aux bras et les parties appartenant au corps.
Animation
Maintenant que vous avez choisi votre personnage, appuyez sur l’onglet Animations
idle
sélectionné votre animation
frames
♫ The Knee bone is connected to the thigh bone ♫
Si vous voulez mieux comprendre le fonctionnement de ces animations humanoïdes 3D, sélectionnez l’icône skeleton view
rig
qui déforme le maillage 3D, à peu près de la même manière les os (et les muscles) contrôlent la forme de notre corps. Cette image rudimentaire vous aidera également à comprendre comment les animations fonctionneront plus tard dans le système d’animation Unity « Mecanim »: ce système de rig
avec des « os » est ce qui permet à un personnage animé de passer de manière transparente d’une pose ou d’un mouvement à un autre, ainsi que de s’adapter (dans certaines limites) à différentes longueurs et hauteurs de corps. Vous devriez maintenant voir vos os animés sans peau, ce qui signifie techniquement sans « maillages 3D », « textures » ou « matériaux ».
Ces « os » sont les positions réelles d’un véritable humain se déplaçant dans l’espace physique, enregistrées par un système de capture de mouvement au fil du temps, image par image, et maintenant lues dans Mixamo. Cet enregistrement à partir d’un système de capture de mouvement n’est rien d’autre qu’un enregistrement des positions et des rotations x
/y
/z
de ces os au fil du temps. Ces animations n’ont même pas besoin d’enregistrer d’attributs physiques autres que ces positions et rotations x
/y
/z
. L’animation 3D finale nécessitera d’injecter ces os invisibles dans le « maillage » 3D d’un personnage et de permettre à ces os de déplacer les sommets du modèle comme s’il s’agissait d’une peau souple sur un corps humain.
Télécharger
Une fois que nous avons appliqué un animation
character
download
FBX for Unity
avec habillage
, 30 images par seconde
, pas de réduction d'images clés
), puis télécharger
Ce fichier au format FBX
téléchargé aura généralement un nom assez illisible. Dans mon cas, elle a été nommée Ch07_nonPBR@Idle.fbx
Louise-Idle.fbx
Importer
Il existe plusieurs façons d’importer un fichier dans Unity. Le plus simple est probablement de simplement faire glisser le fichier .fbx
dans le dossier Assets
de votre fenêtre Project
Assurez-vous que votre dossier Assets
est bien organisé, avec des noms clairs : les projets dans Unity peuvent rapidement devenir incontrôlables - gardez vos noms simples. Ici, j’ai créé un dossier nommé Models
(majuscule M
, pluriel s
), et à l’intérieur de ce dossier se trouve un sous-dossier nommé Louise
qui contiendra toutes les informations du modèle la concernant : matériaux, textures, animations , etc.
Si vous sélectionnez votre modèle importé et regardez son Inspector
, vous verrez que télécharger
Idle
un meilleur nom que son nom par défaut actuel mixamo.com
Aperçu
, essayez de cliquer sur lignes grises horizontales
trois points
Inspecteur
et choisissez Convert to Floating Window
.
Paramètres du modèle
Comme vous pouvez le voir ci-dessous, il y a beaucoup de paramètres possibles pour un modèle, ce qui peut sembler effrayant au premier abord. Notez qu’il y a quatre onglets : Model
Rig
Animation
Materials
Modèle
traite du maillage 3D (c’est sa forme) et de divers paramètres liés au maillage (qualité, compression, échelle, etc.)Rig
vous permet d’importer ou de créer un rig squelette qui déplacera le maillage 3DAnimation
est l’animation du point clé de la plate-forme squelette. Vous pouvez renommer, affiner et sélectionner les codes temporels des différentes animations du personnage- Les
Materials
sont l’apparence du personnage : les couleurs, les textures et les shaders qui définissent l’apparence de la peau/des vêtements du personnage
Au fil du temps, vous verrez éventuellement que chaque section se décompose parfaitement en aspects spécifiques de ces quatre concepts. Tous les quatre sont essentiels au fonctionnement des personnages 3D dans Unity. Vu le nombre de paramètres, nous ne sélectionnerons ici que l’essentiel, afin de limiter au maximum les soucis effrayants des boutons (“à quoi servent tous ces boutons !?”).
Dans l’onglet Model
Cameras
Lights
Apply
en bas de cette fenêtre.
Dans l’onglet Rig
Humanoid
Create from this model
avatar
est comme une marionnette que vous pouvez contrôler avec diverses animations et peut même se diviser en différentes sous-sections d’animations avec une animation contrôlant la tête, tandis que l’autre contrôle les jambes. En transformant votre modèle 3D en un avatar
semblable à une marionnette, vous pouvez passer plus élégamment d’une animation à une autre grâce à l’interactivité. N’oubliez pas d’appliquer vos modifications lorsque vous avez terminé.
Dans l’onglet Animation
Import Animation
Idle
Loop Time
Apply
sur lequel vous devez appuyer pour valider tous ces changements.
Enfin, rendons à Louise ses couleurs et ses matières. Sélectionnez l’onglet Materials
Extract Textures
Assets
de mon Project
, j’ai sélectionné le dossier Louise
Extract Materials
.fbx
de votre modèle. Vous pouvez également les extraire dans un dossier spécial “Materials”, mais nous n’aborderons pas cela pour le moment. Pour faire simple, extrayez simplement vos textures et matériaux dans le même dossier que votre modèle. Assurez-vous d’appliquer ces modifications et vous devriez maintenant voir Louise avec sa couleur de peau et sa couleur de vêtements retrouver leur apparence normale.
Configuration de l’avatar
Si vous voulez jouer avec le système des avatar
Rig
Configurer
Configuration de l'avatar
T-Pose
. Essayez de jouer avec les options “Muscles et paramètres” pour voir dans quelle mesure votre avatar réagit à son équipement. Une fois que vous avez fini de configurer votre avatar, vous pouvez revenir à l’onglet précédent Rig
Terminé
Textures opaques
Un problème avec les matériaux Mixamo est qu’ils sont mal configurés dans Unity avec des normales inversées, ce qui signifie que nos personnages ressemblent à d’étranges monstres à peau inversée. Pour mon modèle importé Louise, ses vêtements étaient bien, mais ses cheveux étaient bizarrement configurés. Une solution simple à ce problème consiste à sélectionner notre matériau extrait Ch07_hair
Rendering Mode
en Opaque
Game Object
Maintenant que nous avons correctement configuré notre modèle et corrigé l’étrange bogue du matériau, nous pouvons faire glisser Louise dans notre Heirarchy
180°
Y
afin qu’elle soit face à la caméra. J’ai aussi rapproché la caméra d’elle pour mieux la voir.
Animator
Si vous jouez à votre jeu maintenant, vous ne verrez pas encore l’animation que nous avons importée avec Louise. Nous devons faire glisser l’animation Idle
Assets
de notre fenêtre Project
, directement sur notre Game Object
Scene
et Vues Heirarchy
. Cela ajoutera l’animation Idle
Animation Controller
Entry
Si vous appuyez maintenant sur le bouton Play
, vous devriez voir Louise respirer via sa séquence d’animation “Idle” en boucle.