Le système d’animation
Présentation de Mecanim
1. Présentation
Unity fournit un système d’animation très complet appelé Mecanim. Celui-ci permet de créer des animations à partir de chacun des GameObjects en jouant sur leurs propriétés. Il est aussi possible de visualiser les animations et les transitions à l’intérieur de l’éditeur. Pour l’animation de personnage, chaque partie du corps peut être animée avec des logiques différentes. Une machine à état visuelle permet, quant à elle, de créer des workflows complexes d’animations avec des transitions et des conditions.
Le système d’animation repose entièrement sur les clips d’animation (Animation Clips) qui servent à stocker les informations comme les changements de position, de couleur ou de n’importe quelles autres propriétés d’un objet en fonction d’un temps donné. Concrètement, ils vont servir à traduire en code une action comme "Changer la couleur de mon cube en rouge à la troisième seconde". Ces Animation Clips sont donc structurés de manière à ce qu’ils puissent être traités et manipulés par un animateur (Animator Controller).
2. Les animations
a. Introduction
Les Animation Clips sont au cœur de Mecanim car ils définissent comment vont...
Créer des animations
1. Mise en place de la scène
Pour bien comprendre le fonctionnement de Mecanim, nous allons animer des objets simples en leur affectant des animations et en les contrôlant grâce à un script.
Créez une nouvelle scène (File - New Scene).
Paramétrez la caméra de cette façon :
Ajoutez une lumière directionnelle (Create - Light - Directional Light) à partir de la fenêtre Hierarchy et paramétrez-la comme ceci :
Ajoutez un nouvel objet vide (Create - Create Empty) nommé Player qui sera le GameObject parent de deux autres éléments :
Ajoutez un cube (Create - 3D Object - Cube) comme enfant de Player.
Ajoutez une sphère (Create - 3D Object - Sphere) comme enfant de Player.
Ce qui donne comme résultat final :
2. Création de l’animation
La scène étant en place, il ne reste plus qu’à créer l’animation que l’on souhaite. Dans notre exemple, nous allons créer une animation permettant de faire tourner l’objet Player.
Affichez les deux fenêtres Animation et Animator à partir du menu Window.
Sélectionnez l’objet Player et cliquez sur le bouton Create dans la fenêtre Animation.
Cela a pour effet de créer et d’ajouter automatiquement un composant Animator sur cet objet et propose de créer une nouvelle animation. Appelez-la RotateAnimation.anim et validez.
Le composant apparaît dans l’Inspector :
Dans la fenêtre Animation, déplacez la ligne sur la timeline (en cliquant dans le repère gradué en haut de la fenêtre) et arrêtez-vous au repère 0:30. Dans la fenêtre...
Avatar
1. Introduction
L’animation de personnage est une chose très courante et le système d’animation Mecanim se prête parfaitement à ce scénario. Unity traite différemment ce cas et permet de créer des animations pour des humanoïdes, définies par rapport à un squelette. Concrètement, chaque partie du corps doit être référencée en fonction d’une structure permettant de représenter les parties articulées du corps humain : c’est ce qu’on appelle un Avatar.
Dans notre exemple, nous utiliserons le modèle Ethan présent dans le dossier Assets\Standard Assets\Characters\ThirdPersonCharacter\Models. Si ce répertoire n’est pas présent, ajoutez-le à partir du menu Assets - Import Package - Characters puis cliquez sur Import.
2. Créer un avatar
Sélectionnez le modèle Ethan puis affichez l’Inspector.
L’onglet Model propose différents paramètres d’importation au niveau des meshes ou des matériaux.
Sélectionnez l’onglet Rig.
Ce menu permet de définir le type des animations à importer grâce au paramètre Animation Type. Notre modèle utilise le type Humanoid, ce qui permet la génération d’un Avatar par la suite. Les autres types d’animation possibles sont pour...