[RESOLU][MY-RS]Désactiver bool dans l'animator aprés la fin de l'animation

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
LIGHTER91
Messages : 17
Inscription : 28 Oct 2018 17:16

[RESOLU][MY-RS]Désactiver bool dans l'animator aprés la fin de l'animation

Message par LIGHTER91 » 18 Nov 2018 14:28

J'ai programmé l'attaque de mon perso avec l'animator et j'utilise un bool pour faire l'anim d'attaque mais je ne sais pas comment désactiver (Anim.SetBool("Attack", false)) après la fin de l'animation merci à l'avance pour vos réponse j’espère avoir été clair.
ps l'animation d'attack ne se répète pas j'ai désactiver le loop time.

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

Re: [MY-RS]Désactiver bool dans l'animator aprés la fin de l'animation

Message par Max » 18 Nov 2018 15:33

Bonjour,

Pour activer ton animation d'attaque, je passerais plutôt par un trigger, et sur la transition en retour si tu as activé Has Exit Time, cela devrait fonctionner (si j'ai bien compris ton soucis).
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

LIGHTER91
Messages : 17
Inscription : 28 Oct 2018 17:16

Re: [MY-RS]Désactiver bool dans l'animator aprés la fin de l'animation

Message par LIGHTER91 » 18 Nov 2018 17:42

Enfaite je te montre mon script et oui Has Exit Time est activé.

Code : Tout sélectionner

public float attackCooldown;
    private bool isAttacking;
    private bool Attack;
    private float currentCooldown;
    
    private GameObject HitBox;
    public GameObject CollisonDamage;

    /// <summary>
    ///Spell
    private Animator Anim;
    // Use this for initialization
    void Start() {

        Anim = GetComponent<Animator>();
        HitBox = GameObject.Find("HitBox");
        
    }

    // Update is called once per frame
    void Update() {
        if (isAttacking)
        {
            currentCooldown -= Time.deltaTime;

        }

        if (currentCooldown <= 0)
        {
            currentCooldown = attackCooldown;
            isAttacking = false;
            
        }
        
    }
    public void attack()
    {
        
Anim.SetBool("Attack", true);

        if (!isAttacking)
        {
            Anim.SetBool("Attack", true);
        
           }
    }
     
    
}
Mon but serait que juste à la fin de l'animation le bool Attack se désactive. Sinon l'utilisation du trigger je vais l'utiliser pour la hit box quand l'épée touche l ennemie cela lui envoie des dégâts.

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

Re: [MY-RS]Désactiver bool dans l'animator aprés la fin de l'animation

Message par Max » 18 Nov 2018 18:01

LIGHTER91 a écrit :
18 Nov 2018 17:42
Sinon l'utilisation du trigger je vais l'utiliser pour la hit box quand l'épée touche l ennemie cela lui envoie des dégâts.
heu non, je parlais de Animator.SetTrigger() à la place de SetBool().

Tu peux regarder par exemple ce tuto (avec le code en exemple), cela devrait t'aider: Animator Scripting
(toute la série d'ailleurs)
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

LIGHTER91
Messages : 17
Inscription : 28 Oct 2018 17:16

Re: [MY-RS]Désactiver bool dans l'animator aprés la fin de l'animation

Message par LIGHTER91 » 18 Nov 2018 18:28

Merci beaucoup. Mon script fonctionne maintenant.

Répondre

Revenir vers « (C#) CSharp »