Problème d'animation

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
CoeurDeLoup_LGDC
Messages : 3
Inscription : 20 Nov 2018 15:10

Problème d'animation

Message par CoeurDeLoup_LGDC » 20 Nov 2018 16:56

Salut j'ai un problème avec mon code il me dis qu'il n'y a pas d'erreur mais il ne me joue pas les animations
quelqu'un pourrais m'aider ?

voici mon code

Code : Tout sélectionner

public class CharacterMotor : MonoBehaviour{

    Animation animations;

    public float walkSpeed;
    public float runSpeed;
    public float turnSpeed;

    public string inputFront;
    public string inputBack;
    public string inputLeft;
    public string inputRight;

    public Vector3 jumpSpeed;
    CapsuleCollider playerCollider;

    void Start()
    {
        animations = gameObject.GetComponent<Animation>();
        playerCollider = gameObject.GetComponent<CapsuleCollider>();
    }


    void Update()
    {

        if (Input.GetKey(inputFront) && !Input.GetKey(KeyCode.LeftShift))
        {
            transform.Translate(0, 0, walkSpeed * Time.deltaTime);
            animations.Play("HumanArmature|Walking");
        }

        if (Input.GetKey(inputFront) && Input.GetKey(KeyCode.LeftShift))
        {
            transform.Translate(0, 0, runSpeed * Time.deltaTime);
            animations.Play("HumanArmature|Run");

        }

        if (Input.GetKey(inputBack))
        {
            transform.Translate(0, 0, -walkSpeed * Time.deltaTime);
            animations.Play("HumanArmature|Walking");

        }

        if (Input.GetKey(inputLeft))
        {
            transform.Rotate(0, -turnSpeed, 0 * Time.deltaTime);

        }
        if (Input.GetKey(inputRight))
        {
            transform.Rotate(0, turnSpeed, 0 * Time.deltaTime);

        }

    }

}
 ! Message de : boubouk50
les balises code Stp.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6225
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème d'animation

Message par boubouk50 » 20 Nov 2018 17:07

Es-tu sur des noms utilisés? avec la barre verticale | ?
"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

CoeurDeLoup_LGDC
Messages : 3
Inscription : 20 Nov 2018 15:10

Re: Problème d'animation

Message par CoeurDeLoup_LGDC » 20 Nov 2018 17:15

Oui c'est exactement comme ça dans unity

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6225
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème d'animation

Message par boubouk50 » 20 Nov 2018 17:26

Et les animations ont bien été mises dans le Component Animation depuis l'Inspector?
Dans ton code, un problème se pose, tu joues l'animation à chaque frame. Donc elle redémarre à chaque fois. Le truc, c'est que même avec ce mauvais code, elle devrait quand même se jouer une fois que tu ne touches plus à rien.
Aussi, tu n'as donc pas de code pour arrêter l'animation si tu ne touches plus à rien non plus.

le mieux serait de déterminer l'état de l'animation en fonction de touches. Ensuite, en fonction de cet état, voir si tu joues ou non une animation.
Tu vas avoir 3 états: courir, marcher et rien.
Tu vas donc avoir un traitement final pour déterminer si tu changes d'état, si l'animation de l'état est en cours ou non, et ce que va faire avec: rien, jouer une animation, changer d'animation, stopper l'animation en cours.
"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

CoeurDeLoup_LGDC
Messages : 3
Inscription : 20 Nov 2018 15:10

Re: Problème d'animation

Message par CoeurDeLoup_LGDC » 20 Nov 2018 17:33

D'accord merci pour les conseilles et oui les animation sont bien dans le component Animation

Avatar de l’utilisateur
Sebela
Messages : 141
Inscription : 25 Juin 2014 21:39

Re: Problème d'animation

Message par Sebela » 20 Nov 2018 18:51

Hello,

J'ai l'impression que ton problème vient de ta condition: le Input.GetKey() retourne true tant que ta touche est appuyée, du coup l'animation est redémarrée à chaque frame.
Essaye de remplacer ça par un Input.GetKeyDown(). Tiens-nous au courant :)

[Edit] whoops, j'avais pas vu qu'on avait déjà répondu à la question :]

Répondre

Revenir vers « Scripting »