animation 2D bloqué sur la première frame seulement pour le saut

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Répondre
Ystose78
Messages : 32
Inscription : 23 Fév 2013 22:10

animation 2D bloqué sur la première frame seulement pour le saut

Message par Ystose78 » 06 Août 2019 13:51

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.
Mon pseudo actuel c'est Zancs (celui du forum date de y a longtemps)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6224
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

Message par boubouk50 » 06 Août 2019 13:58

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.
"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

Ystose78
Messages : 32
Inscription : 23 Fév 2013 22:10

Re: animation 2D bloqué sur la première frame seulement pour le saut

Message par Ystose78 » 06 Août 2019 15:07

D'accord,

j'utilise donc 'l'animator comme sur l'image si dessous
----
Image
-----
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"
----
Image
----
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)
----
Image
----

en espérant que ce soit suffisant ^^
Mon pseudo actuel c'est Zancs (celui du forum date de y a longtemps)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6224
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

Message par boubouk50 » 06 Août 2019 16:31

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?
"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

Ystose78
Messages : 32
Inscription : 23 Fév 2013 22:10

Re: animation 2D bloqué sur la première frame seulement pour le saut

Message par Ystose78 » 06 Août 2019 17:12

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

Image

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 :

Image

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)

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: animation 2D bloqué sur la première frame seulement pour le saut

Message par Max » 06 Août 2019 18:17

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 ?
Image
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

Ystose78
Messages : 32
Inscription : 23 Fév 2013 22:10

Re: animation 2D bloqué sur la première frame seulement pour le saut

Message par Ystose78 » 06 Août 2019 19:04

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
Mon pseudo actuel c'est Zancs (celui du forum date de y a longtemps)

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: animation 2D bloqué sur la première frame seulement pour le saut

Message par Max » 06 Août 2019 19:13

En fait je faisais allusion au paramètre de l'animation dans l'animator:

Image

Si Speed est à zéro, alors seul la première frame se jouera.
Image
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

Ystose78
Messages : 32
Inscription : 23 Fév 2013 22:10

Re: animation 2D bloqué sur la première frame seulement pour le saut

Message par Ystose78 » 06 Août 2019 19:23

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 8/
Mon pseudo actuel c'est Zancs (celui du forum date de y a longtemps)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6224
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

Message par boubouk50 » 07 Août 2019 08:53

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

Répondre

Revenir vers « Unity le logiciel »