Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Contrôler le Root Motion dans Unity
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement3D et Animation

Contrôler le Root Motion dans Unity

L'Équipe Alphorm Par L'Équipe Alphorm 15 novembre 2024
Partager
Partager

Le problème principal est de réaliser des mouvements fluides et réalistes pour les personnages dans Unity.

Sans une bonne configuration, les personnages peuvent glisser ou ne pas réagir correctement aux entrées utilisateur, nuisant à l’expérience de jeu.

Cet article vous guide dans l’utilisation du Root Motion avec des scripts et l’Animator pour assurer un contrôle précis des mouvements de votre personnage.

Table de matière
FAQConclusion

Formation Unity : Animer vos personnages en 3D - Donnez Vie à vos Créations

Apprenez à donner vie à vos personnages grâce à l'animation 3D.

Découvrir cette formation

Dans cet article, nous irons un peu plus en détail du root motion en manipulant le déplacement à partir d’un script. Le modèle que nous allons manipuler reste le même Castle Guard , et nous le ferons bouger en exploitant des paramètres d’animation contrôlés par le script GuardController . Nous utiliserons des paramètres pour interagir avec l’Animator et voir comment faire en sorte que le personnage réagisse aux entrées clavier,

Capture d'écran Unity sur motion design

Comme point de départ, nous aurons besoin de créer des paramètres dans l’Animator.

Commençons par ouvrir la fenêtre Animator. Dans le panneau des paramètres, cliquez sur le bouton « + » et sélectionnez Float pour créer deux nouveaux paramètres : AxisV (axe vertical) et AxisH (axe horizontal).

Après avoir créé le script GuardController associez-le au modèle ad-hoc. Voici un aperçu du code :

				
					
usingUnityEngine;
publicclassGuardController : MonoBehaviour {
  privateAnimator animator; // Référence à l'Animator
  privatevoidAwake() { animator = GetComponent<Animator>(); }
  voidUpdate() {
    // Mise à jour des paramètres de l'Animator à partir des axes de déplacement
    animator.SetFloat("AxisV", Input.GetAxis("Vertical"));
    animator.SetFloat("AxisH", Input.GetAxis("Horizontal"));
  }
}

				
			

Ce script est assez minimaliste mais fera largement l’affaire si nous nous contentons d’utiliser les touches directionnelles. Il nous faut à présent, configurer les transitions entre les animations.

Ajoutez les animations  » Idle « ,  » Walking « ,  » Turning Left  » et  » Turning Right  » dans

l’Animator. Reliez Idle à Walking en ajoutant une transition. Ensuite, dans les conditions de cette transition, ajoutez AxisV > 0.1 pour indiquer que le personnage marche lorsque l’axe vertical est supérieur à une certaine valeur . Pour la transition vers  » Turning Left « , ajoutez une condition AxisH < -0.1 , et pour  » Turning Right « , ajoutez AxisH > 0.1 . Cela permet de déclencher les rotations selon la direction horizontale du mouvement.

Reliez les transitions de manière fluide pour que le personnage retourne à l’animation Idle lorsque les valeurs des axes sont proches de zéro .

Erreur Courante : Assurez-vous que dans le composant Animator du modèle, l’option Apply Root Motion est activée. Si cette option est désactivée, le personnage ne se déplacera pas correctement, même si les animations sont jouées.

Une fois toutes les configurations faites, testez le modèle Castle Guard en lançant Unity. Lorsque vous appuyez sur les touches directionnelles, le personnage commencera à marcher dans la direction indiquée, en tournant à gauche ou à droite en fonction des entrées de l’utilisateur.

Grâce au Root Motion, le déplacement est fluide, et le personnage ne glisse pas sur le sol, car le mouvement est entièrement contrôlé par les données d’animation. Dans l’article prochain nous parlerons des « Sub-State Machine ».

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.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment configurer le Root Motion dans Unity ?
Pour configurer le Root Motion dans Unity, assurez-vous que l’option ‘Apply Root Motion’ est activée dans le composant Animator. Cette configuration permet de synchroniser le déplacement du personnage avec les données d’animation plutôt que de le faire glisser sur le sol. Vous devez également utiliser des scripts pour contrôler les paramètres de l’Animator, comme le script GuardController, pour que le personnage réagisse aux entrées clavier.
Quels paramètres d'animation utiliser pour le déplacement ?
Dans Unity, pour contrôler le déplacement à l’aide du Root Motion, il est crucial de créer des paramètres d’animation spécifiques. Par exemple, utilisez ‘AxisV’ pour l’axe vertical et ‘AxisH’ pour l’axe horizontal. Ces paramètres, intégrés dans le script GuardController, permettent de mettre à jour l’Animator en fonction des axes de déplacement, assurant ainsi un mouvement fluide et réactif du personnage lorsqu’on utilise les touches directionnelles.
Comment créer des transitions d'animation dans Unity ?
Pour créer des transitions d’animation dans Unity, ouvrez la fenêtre de l’Animator et ajoutez les animations souhaitées, telles que ‘Idle’, ‘Walking’, ‘Turning Left’, et ‘Turning Right’. Ensuite, établissez des transitions entre elles, par exemple de ‘Idle’ à ‘Walking’, en ajoutant des conditions comme ‘AxisV > 0.1’. Ces transitions permettent au personnage de passer d’une animation à l’autre en fonction des entrées clavier, assurant ainsi une fluidité de mouvement.
Comment intégrer un script pour contrôler l'animation ?
Intégrer un script pour contrôler l’animation dans Unity implique de créer un script comme GuardController, qui interagit directement avec l’Animator du modèle. Ce script met à jour les paramètres de l’Animator basés sur les entrées de l’utilisateur, telles que les axes ‘Vertical’ et ‘Horizontal’. Cela permet de contrôler le mouvement du personnage de manière dynamique et réactive, en synchronisant les animations avec les actions de l’utilisateur.
Pourquoi le personnage ne se déplace-t-il pas correctement malgré l'animation ?
Si le personnage ne se déplace pas correctement malgré l’animation, vérifiez que l’option ‘Apply Root Motion’ est activée dans le composant Animator. Cette option est essentielle pour que le déplacement soit contrôlé par les données d’animation. Sans elle, le personnage pourrait sembler glisser au lieu de se déplacer de manière fluide, même si les animations semblent correctes dans l’Animator.

Conclusion

En maîtrisant le Root Motion dans Unity, vous pouvez créer des mouvements de personnage fluides et réalistes. Comment envisagez-vous d’appliquer ces techniques à vos projets de jeu ?

ÉTIQUETÉ : Unity
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Contrôler le Root Motion dans Unity

© Alphorm - Tous droits réservés