[FR] Attendre qu'une animation soit terminée

Bonjour,

Je suis débutant et je cherche une solution pour attendre qu’une animation du personnage soit terminée pour continuer.

Exemple : lorsque j’appui sur la touche “R” devant un objet, je souhaite jouer une animation où le perso se baisse puis ramasse. Actuellement, je fais tout simplement un “Play animation” pour jouer l’animation. Sauf que je suis obligé de faire ensuite un “Set animation Mode” pour repasser mon personnage sur mon Anim_BP de idle/marche. Entre les deux je suis obligé de faire un “Delay” (quand c’est possible). Même à mon niveau de débutant, je trouve que c’est pas très propre. Il doit y avoir beaucoup je pense.

J’avais trouvé une solution qui me semblait assez simple il n’y a pas si longtemps mais je n’arrive absolument pas à remettre la main dessus.

Si quelqu’un peux me donner une piste je suis preneur.

En vous remerciant d’avance.

Alors là 10 000 mercis !!! :):):slight_smile:

C’est très gentil d’avoir pris le temps de me donner une réponse aussi précise.
Je viens de voir la réponse à l’instant, donc je n’ai pas encore testé.

Je teste ça dès que je peux demain mais ça ma l’air très clair. Et puis c’est bien expliqué, je comprends le cheminement et ça c’est top.

Je reviendrais dire si ça a marché pour moi. Encore merci.

Alors, la première chose que j’ai fait en rentrant du boulot est d’allumer l’ordi et de tester ça. Ça marche nickel !!

Non seulement ça marche, mais en plus j’ai compris le pourquoi du comment.

(comme quoi, quand on débute, on se complique souvent la vie pour rien :p)

Ça marche, c’est simple, et j’ai tout compris. 30 000 mercis de plus :wink:

Merci beaucoup…
Je comptais justement m’y attaquer ce soir. J’imagine qu’il faut placer un “Disable input” au début de ma fonction “RamasserItem” (que j’ai dans mon BP du perso) et un “Enable input” à la fin de cette fonction.

Ceci dit, je suis preneur de voir comment tu fais. En espérant ne pas abuser de ta gentillesse.

Encore merci. Je ne savais pas qu’on pouvais appeler l’event d’un notify. Pour l’instant je ne m’en suis servi que pour mettre des bruits de pas.

Ta méthode est vraiment très bien. Merci encore pour tes conseils.

J’ai eu juste un problème avec. J’avais modifié le MaxSpeedWalk par défaut pour le mettre en vitesse de marche. Avec un event à l’appui d’une touche je redéfini ce MaxSpeedWalk sur une vitesse de course (et je remet en vitesse de marche au Relased). Du coup avec ta méthode, lorsque j’appuyais sur la touche pour courrir pendant l’animation, je pouvais déplacer mon perso.

Pour remédier à ça j’ai essayer mettre un Branch pour tester ta variable PickUpObject au tout début de l’évent.
Sur le False de ce Branch je continu le script. Sur le True je ne fais rien.
(sur l’EventGraph du personnage)

Mais ça ne fonctionne pas très bien puisque si j’appui une deuxième fois pendant l’animation. La variable PickUpObject est passé à False entre temps? (Après le delay de 0.2)

J’ai eu un autre problème (que j’ai corrigé)
Pendant l’animation, mon perso pouvais encore se trourner. Il ne pouvais plus se déplacer mais il pouvais pivoter. Pour remédier à ça. au moment de définir le **MaxSpeedWalk à 0. **Je fait aussi un **SetRotationScale à 0 - 0 - 0 **(dans l’EventGraph du perso).

Je refais ensuite un **MaxSpeedWalk 0 - 0 - 540 **(dans l’EventGraph de l’animBP du perso) à la fin de mon Event EndAnim (juste après avoir repassé en vitesse de marche).
capture1.png

C’est très gentil d’avoir répondu.
Cela n’a pas fonctionné. Mais en fait je suis bête, parce que je faisais un [FONT=courier new]Branch au début de mon input de la touche pour courir ([FONT=courier new]Gamepad Left Trigger).
Mais, uniquement sur le [FONT=courier new]Pressed. Je suis con. Il fallait aussi le mettre sur le [FONT=courier new]Released. C’est pour ça que je passai systématiquement en vitesse de marche et que je pouvais donc continuer d’avancer pendant l’anim.

La solution, en plus de ce que tu m’a indiqué. Est de tester la variable **[FONT=courier new]PickUpObjet? **sur le [FONT=courier new]Pressed et le [FONT=courier new]Released.

Encore merci à toi. Tu m’as beaucoup aidé.

Je fais pareil sauf que c’est un ennemi qui joue l’animation d’attaque quand il me touche. Je suis dans son BP mais je ne trouve pas le booléen Attack? (j’ai fait la reste avec l’animation) donc je dois faire un Cast To et tout le tralala et quand je lance le jeu en regardant les nodes, le Begin In Hit (Component) envoi un courant dans le Cast To AnimBP_BossZombie (où l’Object est un Cast To ThirdPersonCharacter, pas logique puisque j’y suis déjà) et ensuite rien ne sort du Cast To vers le booléen SET. J’ai essayé de le mettre dans le BP du level, mais non plus… Aurez vous une solution ?