Les jeux 2D sans animations de saut fluides peuvent sembler rigides et peu engageants.
Cela peut frustrer les joueurs, car une mauvaise animation brise l’immersion et nuit à l’expérience globale.
Découvrez comment concevoir des animations de saut captivantes avec Unity, en utilisant des techniques qui améliorent la fluidité et le dynamisme visuel.
Devenez expert en animation 2D et design de niveaux avec Unity.
L’animation du saut est un aspect essentiel dans les jeux 2D pour donner une sensation de fluidité et de dynamisme au personnage. Après avoir codé la mécanique du saut, il est important d’ajouter des animations spécifiques pour que le joueur puisse visuellement percevoir les différentes phases du saut, de la montée à la descente.
Animations de saut 2D : Création détaillée
Pour animer le saut de Robot, nous allons créer deux animations distinctes : jumpUp et jumpDown. Commençons par Jump Up. Cette animation représente la montée du personnage pendant le saut :
- Ouvrez la fenêtre Animation .
- Créez une nouvelle animation appelée jumpUp .
- Insérez les sprites jump1 à jump7 . Ces images représentent la phase de montée.
- Réglez le Sample à 10 pour rendre l’animation fluide.
Jump Down Animation correspond à la descente du personnage après avoir atteint le sommet de son saut :
- Créez une nouvelle animation appelée jumpDown .
- Utilisez les sprites jump7 à jump9 pour cette animation.
Nous ignorons intentionnellement jump10 pour ne pas inclure l’animation d’atterrissage. Pour raison, cette phase n’est composée que d’un sprite et sera à peine perceptible.
Configurer Unity Animator pour sauter
Pour contrôler ces animations, nous utiliserons trois paramètres dans l’Animator : Jump, VelocityY et Grounded :
- Jump (trigger) :Ce paramètre sera déclenché lorsqu’un saut est initié. Il est défini comme un Trigger dans l’Animator.
- VelocityY (float) :Ce paramètre récupérera la vitesse verticale du personnage via son Rigidbody2D. Une valeur positive indique que le personnage monte, et une valeur négative qu’il descend.
- Grounded (bool) :Ce paramètre est un booléen qui vérifie si le personnage est en contact avec le sol. Il permet de basculer entre les animations de saut et l’état d’Idle ou Walk.
Voici à suivre, l’architecture des transitions entre ces différents states. Par défaut nous considérons la valeur false pour Has Exit Time et 0 pour Transition Duration.
Transitions | Conditions |
---|---|
AnyState > JumpUp | Previous state Idle | Trigger Jump |
JumpUp > JumpDown | VelocityY < 0 |
JumpDown > Walk | Grounded : true && AxisH > 0,01 |
JumpDown > Idle | Grounded : true && AxisH < 0,01 |
Transitions et conditions
Code de saut 2D : Mises à jour essentielles
Voici comment le code précédent peut être légèrement modifié pour intégrer ces animations :
usingUnityEngine;
publicclassRobotController : MonoBehaviour {
/***/
privateAnimator anim;
/***/
privatevoidStart() {
/***/
anim = GetComponent();
rb = GetComponent();
groundCheck = transform.Find("GroundCheck");
}
voidUpdate() {
/***/
// Si la touche espace est pressée et que le personnage est au sol
if (Input.GetKeyDown(KeyCode.Space) && isGrounded) {
rb.AddForce(Vector2.up *
jumpForce); // Applique une force vers le haut pour sauter
anim.SetTrigger("Jump");
}
// Vérifie si le personnage est au sol
isGrounded = Physics2D.OverlapCircle(groundCheck.transform.position, 0.4f,
layerMask);
anim.SetFloat("VelocityY", rb.velocity.y);
anim.SetBool("Grounded", isGrounded);
}
}
Gestion de l’animation du saut
En somme, le script détecte lorsque le joueur appuie sur la touche espace et que le personnage est au sol. Il applique une force vers le haut pour sauter et déclenche l’animation appropriée via Animator. Il vérifie en permanence si le personnage est au sol et met à jour les paramètres d’animation pour refléter son état : Grounded et VelocityY .
Maintenant que la montée et la descente du saut sont bien animées, nous allons explorer comment gérer l’animation de chute pour que la transition soit encore plus fluide.
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 des animations de saut en 2D ?
Quels paramètres utiliser dans l'Animator pour les sauts ?
Comment configurer les transitions d'animation pour le saut ?
Comment intégrer les animations de saut dans le code Unity ?
Pourquoi l'animation de chute est-elle importante ?
Conclusion
Les animations de saut en 2D transforment la dynamique de votre jeu, rendant chaque mouvement plus captivant. Comment allez-vous intégrer ces techniques pour enrichir vos personnages ?