Objectif
Ce système permet de donner du poids au personnage en ajoutant une animation d'anticipation au moment du saut et une animation d'atterrissage additive, afin d'améliorer la sensation de réactivité et de naturalisme dans le gameplay.
Fonctionnement général
Lors de l'appui sur la touche de saut, l'animation d'anticipation est jouée avant l'impulsion verticale.
En l'air, le personnage entre dans un loop d'animation de chute (FallLoop).
Lorsqu'il touche le sol, une animation additive d'atterrissage se joue par-dessus la locomotion.
Retour à la locomotion classique une fois l'atterrissage complété.
Le tout est géré dans le State Machine de l'AnimBP, avec les nodes de transition "To Falling", "To Land", etc.
Détail du pipeline (étape par étape)
[1] Le joueur appuie sur la touche de saut
L'animation "JumpAnticipation" est jouée en mode complet (non additive).
[2] Transition vers la chute
Une fois l'animation d'anticipation terminée, le personnage entre dans l'état de chute (FallLoop).
[3] Détection de l'atterrissage
Lorsque le personnage touche le sol, transition vers l'état "Land".
[4] Animation additive d'atterrissage
Dans l'état "Land", une animation additive est jouée sur la pose de locomotion (grâce au node Apply Additive).
[5] Retour à la locomotion
Une fois l'animation additive terminée, retour à l'état "Locomotion".
Problèmes rencontrés
Mauvais blend des animations à l'atterrissage (trop brusque).
L'animation d'anticipation se coupait trop tôt.
Solution implémentée
J'ai utilisé une animation additive pour mieux fusionner l'atterrissage avec la locomotion.
J'ai ajusté les durées des transitions et les règles de blend dans les transitions de la State Machine.
Tests et validation
Utilisation de Print String sur l'événement de saut et de détection du sol pour valider les transitions.
Testé à partir de différentes hauteurs pour vérifier la cohérence visuelle.
Comparaison avant/après l'implémentation additive pour observer la fluidité gagnée.
Visuels
Colle ici des captures d’écran :
Blueprint
Résultat dans le viewport
Console debug si pertinent
Notes personnelles ou améliorations futures
Il serait intéressant d'ajouter une animation d'impact plus marquée selon la vitesse de chute.
Envisager un blend dynamique du landing additive basé sur la hauteur du saut.
Ajouter une détection contextuelle (si le joueur atterrit en courant vs. immobile).