Bonjour, alors je débute sur unity3D et je souhaite animer un personnage. J'ai reussi a l'animer de façon a quand j'appui sur z il a une animation de marche et quand j'appui sur s une animation de recul. Mon problème est que je voudrais que quand je relache une touche mon personnage arrete l'animation et reviennent a une animation "Idle".
Je ne veut pas qu'il se déplace mais bien seulement que les animation se lance lorsque j'appui sur la bonne touche et s'arrete une fois relachée.
Problème d'animation
Re: Problème d'animation
J'ai reussi a résoudre en partie mon problème grâce a GetKeyDown et GetKeyUp j'ai juste parfois un petit bug l'animation veut plus se lancer.
Re: Problème d'animation
Hello,
Est-ce que tu utilises un animator ? Il est facile de gérer ce genre de scénarios avec.
Si tu veux lancer l'animation idle lorsque aucune touche n'est pressée, tu peux faire :
Ps : Voilà l'idée générale. A adapter à ton besoin, et j'ai pas testé
Est-ce que tu utilises un animator ? Il est facile de gérer ce genre de scénarios avec.
Si tu veux lancer l'animation idle lorsque aucune touche n'est pressée, tu peux faire :
Code : Tout sélectionner
public class MaClasse{
private enum Animations{
Forward,
Backward,
Idle
}
[SerializedField]
private Animator _myAnim;
private Animations _anims;
...
public void Update(){
if (!Input.anyKey && _anim != Animations.Idle){
_myAnim.SetTrigger("Idle");
_anims = Animations.Idle;
}
if (Input.GetKeyDown(KeyCode.up) && _anim != Animations.Forward){
_myAnim.SetTrigger("Forward");
_anims = Animations.Forward;
}
else if (Input.GetKeyDown(KeyCode.down) && _anim != Animations.Backward){
_myAnim.SetTrigger("Backward");
_anims = Animations.Backward;
}
}
}