Si tu veux animer un GameObjet simple comme un cube, tu peux utiliser la fenêtre Animation !
La première chose à faire est de créer un nouveau clip :
On active ensuite le mode enregistrement.
On peut maintenant commencer à créer nos animations ! On va simplement définir des positions clés en fonction du temps.
N'oublie pas de définir une position de départ !
On ajoute une position clé :
On se déplace dans le temps :
Tu peux voir le rendu de ton animation en cliquant sur le symbole Play !
L'animator Component sert à donner des animations à un GameObject.
On lui donne un Controller qui contrôle les animations et leur enchaînement et un avatar qui contrôle le GameObject s'il est du type 'Humanoid'.
Les trois autres paramètres permettent de définir si les positions et rotations sont définies par les clips d'animations ou un script (Apply root motion), quand l'Animator se met à jour (Update Mode) et de choisir si les animations sont toujours visibles ou seulement quand le GameObject est dans le champ de la caméra (Culling Mode).
L'animator Controller sert à définir les clips d'animations, les relier entre eux et définir les transitions entre.
Ils comportent beaucoup de paramètres. Voici les plus importants :
Lorsqu'on ouvre un Animator Controller, on arrive sur la fenêtre Animator (comme sur l'image à droite).
Pour ajouter des animations, tu peux simplement les glisser dans la fenêtre.
La première animation que tu ajoutes crée une connexion automatiquement avec le bloc 'entry'. Ce bloc permet de désigner la première animation à déclencher au lancement du jeu. Tu pourras la changer plus tard avec la commande 'Set StateMachine Default State' (clic droit sur 'Entry').
Chacune de ces animations correspond à un état de notre GameObject et les transitions vont permettre de passer d'un état à un autre.
Pour naviguer dans l'interface, tu peux appuyer sur la touche A pour tout voir ou sélectionner une partie et appuyer sur la touche F pour se focaliser sur la sélection.
Lorsque tu as plusieurs animations, tu peux gérer les différentes transitions et ajouter des conditions pour passer d'une animation à l'autre.
Ces conditions doivent être crées directement depuis l'Animator, mais il faut également créer un Script qui va gérer comment les transitions se déclenchent.
Clic droit sur ton animation pour créer une transition :
Une fois que ta transition est créée, tu peux la modifier dans l'Inspector :
Tu peux supprimer ta transition depuis l'Inspector, si besoin :
Pour pouvoir ajouter une condition, il faut d'abord créer un paramètre dans la partie gauche de la fenêtre.
Ce paramètre peut être de différents types (Bool : un Booléen c'est à dire vrai ou faux, Int : un nombre entier, Float : un nombre à virgule). Pour qu'une transition se fasse, l'Animator va regarder si la valeur de ce paramètre respecte la condition de changement d'état.
Pour créer un paramètre, on sélectionne son type et on lui donne un nom.
Ensuite on peut ajouter des conditions sur la transition dans l'Inspector. Pour chaque condition on va choisir le paramètre et les valeurs satisfaisant la condition (pour un Bool vrai ou faux, pour un Int ou un Bool si la valeur est supérieure, égale ou inférieure à une autre).
Pour déclencher les transitions, il faut ensuite faire un script pour définir à quoi correspondent réellement les paramètres et récupérer leur valeur.
Tu peux aussi modifier d'autres paramètres tels que le temps de la transition, est-ce qu'elles se chevauchent un peu, beaucoup, etc. Regarde le schéma ci-dessus pour en savoir un peu plus !
Attention : Si tu coches la case Has exit Time, tes conditions ne seront regardées qu'une fois Exit Time fini.
Tu vas maintenant pouvoir gérer tes paramètres depuis un script et déclencher les transitions.
Par exemple, si l'on veut que la transition ait lieu quand on appuie sur une touche, il faut savoir si la touche est appuyé ou alors si on veut la déclencher si l'on rentre en collision avec un objet, il faut détecter que la collision ait lieu.