animation 2D bloqué sur la première frame seulement pour le saut
animation 2D bloqué sur la première frame seulement pour le saut
Bonjour,
J'ai repris depuis peu de tester la création d'un petit platformer 2D avec unity. Je rencontre un problème dans l'animation du saut de mon personnage. J'utilise l'animator d'unity avec les transitions pour passer d'une animation à l'autre (j'ai suivis le tutoriel de brakeys : https://www.youtube.com/watch?v=hkaysu1Z-N8). Toutes mes animations fonctionne correctement sauf celle du saut, la transition fonctionne correctement mais seulement la première frame de l'animation et non toute l'animation complète est faites.
Ce pourrait-il que ce soit lié au nombre d'images de l'animation et que lors du saut il n'a pas le temps de faire tout l'animation ? (l'animation de saut est plus longue que toutes les autres).
Sinon, est-ce que quelqu'un aurait une idée de la raison du bug et de comment je peux le régler ?
l'animation complète du saut : https://media.giphy.com/media/eMh8E94bP ... /giphy.mp4
Merci d'avance.
J'ai repris depuis peu de tester la création d'un petit platformer 2D avec unity. Je rencontre un problème dans l'animation du saut de mon personnage. J'utilise l'animator d'unity avec les transitions pour passer d'une animation à l'autre (j'ai suivis le tutoriel de brakeys : https://www.youtube.com/watch?v=hkaysu1Z-N8). Toutes mes animations fonctionne correctement sauf celle du saut, la transition fonctionne correctement mais seulement la première frame de l'animation et non toute l'animation complète est faites.
Ce pourrait-il que ce soit lié au nombre d'images de l'animation et que lors du saut il n'a pas le temps de faire tout l'animation ? (l'animation de saut est plus longue que toutes les autres).
Sinon, est-ce que quelqu'un aurait une idée de la raison du bug et de comment je peux le régler ?
l'animation complète du saut : https://media.giphy.com/media/eMh8E94bP ... /giphy.mp4
Merci d'avance.
Mon pseudo actuel c'est Zancs (celui du forum date de y a longtemps)
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: animation 2D bloqué sur la première frame seulement pour le saut
On ne peut pas te répondre sans savoir ce que tu as fait exactement.
Il nous faut du code, ta gestion de l'animation et/ou tout ce qui puisse mettre en cause le saut.
Il nous faut du code, ta gestion de l'animation et/ou tout ce qui puisse mettre en cause le saut.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: animation 2D bloqué sur la première frame seulement pour le saut
D'accord,
j'utilise donc 'l'animator comme sur l'image si dessous
----
-----
les flèches sont les transitions qui permettent de passer d'une animation a une autre, avec des paramètres que j'utilise dans le script "player mouvement"
----
----
PS: en écrivant mon message j'ai remarqué que j'ai "récupéré" un problème que j'avais déjà eu mais que j'avais réglé, lors du saut, le paramètres "IsJumping" est définis comme étant false dans les airs alors qu'il est censé encore être à true et changer en false lorsqu'il touche le sol (détection faites avec la fonction void Onlanding() et l'utilisation des layers pour définir le sol)
----
----
en espérant que ce soit suffisant ^^
j'utilise donc 'l'animator comme sur l'image si dessous
----
-----
les flèches sont les transitions qui permettent de passer d'une animation a une autre, avec des paramètres que j'utilise dans le script "player mouvement"
----
----
if (Input.GetButtonDown("Jump")) { jump = true; animator.SetBool("IsJumping", true); } public void OnLanding () { animator.SetBool("IsJumping", false); }-----
PS: en écrivant mon message j'ai remarqué que j'ai "récupéré" un problème que j'avais déjà eu mais que j'avais réglé, lors du saut, le paramètres "IsJumping" est définis comme étant false dans les airs alors qu'il est censé encore être à true et changer en false lorsqu'il touche le sol (détection faites avec la fonction void Onlanding() et l'utilisation des layers pour définir le sol)
----
----
en espérant que ce soit suffisant ^^
Mon pseudo actuel c'est Zancs (celui du forum date de y a longtemps)
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: animation 2D bloqué sur la première frame seulement pour le saut
Du coup, la transition à la fin du saut est géré par cette variable?
Donc si elle passe à false, tu passes à l'animation Idle ou Walk?
Il faudrait donc voir à ce qu'elle fonctionne correctement. Tu dois avoir un script pour cela non?
Donc si elle passe à false, tu passes à l'animation Idle ou Walk?
Il faudrait donc voir à ce qu'elle fonctionne correctement. Tu dois avoir un script pour cela non?
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: animation 2D bloqué sur la première frame seulement pour le saut
Oui c'est ça quand le paramètre "isJumping" est a false en fonction de la vitesse (elle est donnée en appuyant sur la touche " horizontal ", qui est définis dans les paramètres du projet).
J'ai réussi à "re-corriger " le bug de la variable "isJumping" qui se désactive, en faites la fonction qui check si le joueur ne touche pas le sol ne laissait pas le temps au personnage d'être dans les airs et donc ils considéraient que le personnage était encore au sol (c'est l'histoire de quelque milisecondes).
Mais donc voila, pour te répondre, maintenant la variable "IsJumping" re-fonctionne correctement et mon personnage est bien considéré comme étant dans les airs. Le problème est que l'animation reste " bloqué" sur la première image
Sur l'animateur quand je lance le jeu on peut voir en dessous de l'animation une barre bleue, le problème c'est que l'animation se lance mais reste sur la première frame de l'animation
On peut voir sur l'image le début de l'animation avec la barre bleue, sauf qu'elle ne bouge pas lors du saut. Elle reste bloquée à la même frame pendant tout le saut (et repasse en idle quand elle touche le sol)
voici comment est donc mon personnage dans les airs :
l'animation qu'il est censé faire :
https://gph.is/g/EvdQdKY
J'ai réussi à "re-corriger " le bug de la variable "isJumping" qui se désactive, en faites la fonction qui check si le joueur ne touche pas le sol ne laissait pas le temps au personnage d'être dans les airs et donc ils considéraient que le personnage était encore au sol (c'est l'histoire de quelque milisecondes).
Mais donc voila, pour te répondre, maintenant la variable "IsJumping" re-fonctionne correctement et mon personnage est bien considéré comme étant dans les airs. Le problème est que l'animation reste " bloqué" sur la première image
Sur l'animateur quand je lance le jeu on peut voir en dessous de l'animation une barre bleue, le problème c'est que l'animation se lance mais reste sur la première frame de l'animation
On peut voir sur l'image le début de l'animation avec la barre bleue, sauf qu'elle ne bouge pas lors du saut. Elle reste bloquée à la même frame pendant tout le saut (et repasse en idle quand elle touche le sol)
voici comment est donc mon personnage dans les airs :
l'animation qu'il est censé faire :
https://gph.is/g/EvdQdKY
Mon pseudo actuel c'est Zancs (celui du forum date de y a longtemps)
Re: animation 2D bloqué sur la première frame seulement pour le saut
Bonsoir,
Un truc bête, mais dans l'animator, sur ton animation Adventurer_Jump, le paramètre Speed ne serait pas à zéro des fois ?
Un truc bête, mais dans l'animator, sur ton animation Adventurer_Jump, le paramètre Speed ne serait pas à zéro des fois ?
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
Re: animation 2D bloqué sur la première frame seulement pour le saut
Bonsoir,
Alors oui lorsque je saute sur place je n'ai pas de vitesse, je passe de l'état Any State --> adventer_jump à la condition IsJumping = vrai
Alors oui lorsque je saute sur place je n'ai pas de vitesse, je passe de l'état Any State --> adventer_jump à la condition IsJumping = vrai
Mon pseudo actuel c'est Zancs (celui du forum date de y a longtemps)
Re: animation 2D bloqué sur la première frame seulement pour le saut
En fait je faisais allusion au paramètre de l'animation dans l'animator:
Si Speed est à zéro, alors seul la première frame se jouera.
Si Speed est à zéro, alors seul la première frame se jouera.
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
Re: animation 2D bloqué sur la première frame seulement pour le saut
Ah d'accord j'avais mal compris x)
Et du coup non il est bien a 1. Mais j'ai testé de décocher des options dans la transition vers le jump et sur l'animation du jump et en décochant la case "Can transition to self " et l'animation fonctionne correctement ... Je ne sais pas le pourquoi du comment
Et du coup non il est bien a 1. Mais j'ai testé de décocher des options dans la transition vers le jump et sur l'animation du jump et en décochant la case "Can transition to self " et l'animation fonctionne correctement ... Je ne sais pas le pourquoi du comment
Mon pseudo actuel c'est Zancs (celui du forum date de y a longtemps)
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: animation 2D bloqué sur la première frame seulement pour le saut
Je suppose que Can transition to self permet de jouer la même animation par une transition. Mais si ta condition pour boucler est isJumping, alors comme elle est vraie, il transitionne à chaque frame sur lui-même ce qui ne laisse apparaître que la première frame de l'animation.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation