Gérer des animations complexes dans Unity peut rapidement devenir un cauchemar si l’organisation fait défaut.
Des transitions mal organisées entraînent des animations saccadées et une expérience utilisateur médiocre.
Les Sub-State Machines offrent une manière élégante de structurer et de simplifier la gestion des animations dans Unity, ce que cet article explore en détail.
Apprenez à donner vie à vos personnages grâce à l'animation 3D.
Les « Sub-State Machines » dans Unity sont des outils permettant de mieux organiser les animations et de créer des transitions plus complexes dans l’Animator. Elles permettent de regrouper des animations similaires dans un état secondaire au lieu de les gérer individuellement dans le niveau principal. Cela facilite la gestion de transitions multiples, notamment dans des systèmes d’animation élaborés comme ceux utilisés pour des personnages de jeu vidéo.
Pour illustrer l’utilisation des Sub-State Machines, nous allons travailler avec le modèle Castle Guard et refondre l’Animator que nous avons créé précédemment en utilisant une Sub-State Machine dédiée aux mouvements du personnage.
Commençons par améliorer l’Animator précédemment créé en y intégrant une Sub-State Machine. Nous allons regrouper les animations de déplacement dans une Sub-State Machine appelée « Locomotion », qui contiendra les états Walking, Turn Left, et Turn Right. Le but est de créer une structure plus propre et plus facile à gérer.
- Création de la Sub-State Machine « Locomotion »
Dans l’Animator du modèle Castle Guard, faites un clic droit dans la fenêtre du Base Layer. Sélectionnez Create Sub-State Machine et nommez-la Locomotion. Déplacez ensuite les animations Walking, Turn Left, et Turn Right à l’intérieur de cette Sub-State Machine.
- Transition entre les états et Idle
Reliez l’état Idle (dans le Base Layer) à la Sub-State Machine Locomotion avec une transition. Dans la Sub-State Machine, liez Idle à Walking, Turn Left , et Turn Right en fonction des axes de mouvement. Désactivez Has Exit Time et ajustez les conditions avec la valeur 0.1. AxisV pour Walking et AxisH pour Turn Left, Turn Right. Suivez une configuration analogue pour les transitions retour vers Idle.
Pour chaque transition de Idle à Locomotion, assurez-vous que la case Has Exit Time est décochée. Cela permet une transition immédiate dès que les conditions sont remplies. Lors du retour de Walking, Turn Left, ou Turn Right vers Idle, vous pouvez laisser Has Exit Time activé si vous souhaitez que l’animation se termine avant de revenir à l’état d’inactivité. Cependant, dans ce cas, il est souvent préférable de la désactiver pour une réactivité immédiate.
L’utilisation de la Sub-State Machine permet de réduire le nombre de transitions individuelles à configurer entre les animations. Au lieu de relier chaque état directement à Idle, nous regroupons tous les états de déplacement sous Locomotion, ce qui centralise la logique de déplacement. Lorsque vous lancez Unity, vous pouvez constater que les transitions entre Idle, Walking, Turn Left et Turn Right fonctionnent comme précédemment avec le mérite d’intégrer cette fois ci la Sub-State Machine. Cela permet une meilleure organisation et une gestion plus propre des transitions, surtout lorsque d’autres animations sont ajoutées.
L’intégration des Sub-State Machines dans Unity permet une meilleure gestion des animations et une organisation plus claire de l’Animator. En regroupant les animations de déplacement sous Locomotion, vous simplifiez la logique des transitions. La prochaine étape est d’explorer l’utilisation des Animation Behaviours, qui offrent encore plus de contrôle et de flexibilité dans la gestion des animations.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Qu'est-ce qu'une Sub-State Machine dans Unity?
Comment créer une Sub-State Machine dans Unity?
Pourquoi utiliser des Sub-State Machines dans Unity?
Comment améliorer la réactivité des transitions dans Unity?
Quels sont les avantages des Sub-State Machines pour les animations de personnages?
Conclusion
L’intégration des Sub-State Machines dans Unity simplifie grandement la gestion des animations et des transitions. Ces outils permettent non seulement une organisation plus claire, mais également une flexibilité accrue dans la création de systèmes d’animation complexes. Quelle autre technologie ou méthode utilisez-vous pour améliorer l’expérience utilisateur dans vos projets Unity?