L’animation d’un personnage dans un jeu vidéo peut faire la différence entre une expérience immersive et un gameplay médiocre.
Des mouvements rigides ou mal synchronisés peuvent frustrer les joueurs et nuire à l’engagement.
Découvrez comment animer efficacement vos personnages en créant des animations fluides et dynamiques, telles que Idle et Walk, dans Unity.
Devenez expert en animation 2D et design de niveaux avec Unity.
L’animation d’un personnage est essentielle pour apporter vie et fluidité à ses mouvements dans un jeu vidéo. L’objectif est d’animer les différentes actions du personnage, en l’occurrence, ici sa marche et son état d’attente (Idle).
Animation Idle pour personnage 3D
L’animation Idle sera l’animation par défaut du Robot. Nous allons donc commencer par là. Pour cela :
- Créez un Animator Controller « RobotAnimatorController » pour le personnage. Il
servira à gérer les différentes animations.
- Ouvrez la fenêtre Animation. Appuyez sur le bouton Create pour créer l’animation Idle.
- Ajoutez les 10 images du sprite représentant l’animation Idle à la timeline.
- Modifiez la propriété Sample à 10 pour ajuster la vitesse d’animation. Cela assure que
l’animation se déroule de manière fluide.
- Ajoutez cette animation dans l’Animator et définissez-la comme animation par défaut.
Cela permet au personnage de commencer en position Idle.
Configurer l'animation Walk Unity
Passons à présent à l’animation Walk. Répétez le même processus pour l’animation de marche :
- Créez une nouvelle animation nommée Walk .
- Utilisez les images Run (qui représentent la marche rapide) et ajustez la propriété
Sample à 10 pour assurer une bonne cadence.
- Ensuite, dans l’Animator, ajoutez cette nouvelle animation.
Il nous faut à présent configurer l’animation de marche. Pour cela, nous ajouterons un paramètre float dans l’Animator, appelé AxisH . Ce paramètre sera utilisé pour gérer la transition entre l’état Idle et l’état Walk, en fonction de la valeur d’entrée du joueur. Par défaut nous considérons la valeur false pour Has Exit Time :
Transitions | Conditions |
---|---|
Idle > Walk | AxisH > 0.01 |
Walk > Idle | AxisV < 0.01 |
Transitions et conditions
Nous allons devoir étoffer notre code pour prendre en compte les nouvelles transitions.
usingUnityEngine;
publicclassRobotController : MonoBehaviour {
/***/
privateAnimator anim; // Contrôleur d'animation
privatevoidStart() {
/***/
anim = GetComponent();
}
voidUpdate() {
floataxisH = Input.GetAxis("Horizontal");
transform.Translate(Vector2.right * axisH * speed * Time.deltaTime);
/***/
// gestion de l'animation Walk en fonction de la valeur absolue de l'input
anim.SetFloat("AxisH", Mathf.Abs(axisH));
}
}
Gestion de l’animation
Qu’il vous souvienne que la valeur de « axisH » peut être positive ou négative en fonction l’entrée de l’utilisateur (droite ou gauche). La méthode Mathf.Abs est utilisée pour envoyer la valeur absolue de l’axe horizontal à l’Animator, ce qui permet de jouer l’animation de marche, que le personnage aille à gauche ou à droite.
Vous pouvez à présent lancer et tester le jeu.
Après avoir configuré la marche du personnage, nous pouvons passer à l’étape suivante : Coder le saut du personnage.
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
Comment créer une animation Idle pour un personnage?
Comment configurer une animation de marche dans Unity?
Quelles sont les conditions de transition entre Idle et Walk?
Pourquoi utiliser Mathf.Abs pour l'animation Walk?
Comment éviter les latences dans les animations 2D?
Conclusion
En maîtrisant l’animation des personnages dans Unity, vous assurez une expérience utilisateur fluide et engageante. Quelle sera votre prochaine animation à tester pour enrichir votre jeu?