Any States problème

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
IkaGame
Messages : 75
Inscription : 13 Oct 2016 15:43

Any States problème

Message par IkaGame » 21 Déc 2016 15:36

Bonjour à toutes et à tous , voila un bail que je n'avais pas poster sur ce forum..sa me manquer

Alors voila , je continue mon projet , j'essaie de travailler et de réparer mes erreurs seul et j'en suis même tomber malade à ne pas dormir ses 2 derniers jours.

Alors voila j'ai une animation pour mon arme qui doit s’exécuter en pressant la touche R du clavier , mais lorsque je le fait rien ne ce passe.

j'ai vérifier la console et apparemment il s’agirait d'un problème de l'Any States , je crois que ce module de l'animator sert à utiliser une animation quand on veut sur la console...

Message de la console : Asset 'Bras Fps Ump45': Transition in state 'PlayerRecharge' doesn't have an Exit Time or any condition, transition will be ignored
UnityEditor.DockArea:OnGUI()


Pourtant sur mon arme de poing l'anim fonctionne impeccable , est-ce que le problème serais du à l'animation elle-même ?

Image

Cordialement

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

Re: Any States problème

Message par boubouk50 » 21 Déc 2016 15:49

La transition entre deux animations doit être gérée. Soit par une condition, soit par un temps défini (hasExitTime). Sinon, la transition bouclerait l'animation suivante indéfiniment (anyState > Recharge > Recharge > Recharge > etc)
Ici, il faut que tu mettes une condition entre AnyState et PlayerRecharge (surement l'appui sur une touche), et aussi après la recharge (et là ce sera plutôt un ExitTime puisque ta recharge aura un temps défini)
"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

IkaGame
Messages : 75
Inscription : 13 Oct 2016 15:43

Re: Any States problème

Message par IkaGame » 21 Déc 2016 16:53

J'avais une condition dan mon script qui disais que si il n'y a plus de balle dans le chargeur , l'arme peut ce recharger , impossible autrement et sa fonctionner .

J'avais déja une conditions entre l'any states et l'animation , une condition trigger il me semble

Code : Tout sélectionner

 else if (Input.GetKeyDown(KeyCode.R) && GetComponent<Tir>().Munitions == 0 && GetComponent<Tir>().Chargeur > 0)
        {
            Debug.Log(" Le Personnage Recharge ");
            anim.SetTrigger("PlayerRecharge");
            GetComponent<AudioSource>().PlayOneShot(RechargeSon);
           
Image

IkaGame
Messages : 75
Inscription : 13 Oct 2016 15:43

Re: Any States problème

Message par IkaGame » 24 Déc 2016 01:04

Je me permet un petit up , le temps de résoudre le problème...

Avatar de l’utilisateur
Iwa
Messages : 1131
Inscription : 25 Avr 2012 16:20
Contact :

Re: Any States problème

Message par Iwa » 27 Déc 2016 15:12

Salut à toi,

je viens de lire ton soucis, et un petit coup de vérif sur l'orthographe ce serait cool parce que ça rend un peu difficile la compréhension de certains points. Bref :).

Code : Tout sélectionner

anim.SetTrigger("PlayerRecharge");
Le soucis est là :). Ton trigger se nomme Recharge et toi tu set le un autre trigger qui n'existe pas :). Si tu mets Recharge au lieu de PlayerRecharge, ça devrait mieux se passer :).
"N'est stupide que la stupidité Monsieur..." - Forest Gump
... sauf si tu lis pas ça :)

Si tu as tout ce qu'il te faut, merci de penser à basculer ton sujet en [RESOLU] en éditant ton tout premier post ;)

IkaGame
Messages : 75
Inscription : 13 Oct 2016 15:43

Re: Any States problème

Message par IkaGame » 19 Jan 2017 02:29

Désolé pour la longue durée du message , mais je travaillais un peu sur mon projet , j'ai récemment tester la solution mais rien n'y fais :/

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class AnimationPlayer : MonoBehaviour
{

    private Animator anim;
    public AudioClip RechargeSon;

    // Use this for initialization


    void Start()
    {
        anim = GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {

        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            anim.SetBool("Marche", true);
            anim.SetBool("Course", false);
        }
        if (Input.GetKeyUp(KeyCode.UpArrow))
        {
            anim.SetBool("Marche", false);
        }

        if (Input.GetKey(KeyCode.LeftAlt) && Input.GetKey(KeyCode.UpArrow))
        {
            Debug.Log(" Le personnage court ");
            anim.SetBool("Marche", false);
            anim.SetBool("Course", true);
        }

        else if (Input.GetKey(KeyCode.UpArrow))
        {
            Debug.Log(" Le personnage marche");
            anim.SetBool("Marche", true);
            anim.SetBool("Course", false);
        }

        else if (Input.GetKeyDown(KeyCode.R) && GetComponent<Tir>().Munitions == 0 && GetComponent<Tir>().Chargeur > 0)
        {
            Debug.Log(" Le Personnage Recharge ");
            anim.SetTrigger("Recharge");
            GetComponent<AudioSource>().PlayOneShot(RechargeSon);
           
        }

        if (Input.GetButton("Fire2"))
        {
            anim.SetBool("Viser", true);
        }


      else if (Input.GetButtonUp("Fire2"))
        
        {

            anim.SetBool("Viser", false);
        }
    }
}
Tout les composants c'est à dire le Trigger et l'animation elle même porte bien le nom "Recharge"

Problème 1 : Animation Recharge Arme principale (non fonctionnel)

Problème 2 : Animation Recharge Arme Secondaire (Fonctionnel) mais s’exécute très rapidement , ne ce joue pas en entier

Lorsque je regarde la console et la fenêtre d’animation pour voir le problème au niveau des transitions , ce message apparaît :

IsFinite (m_CachedRange.first) && IsFinite (m_CachedRange.second)

Répondre

Revenir vers « Unity le logiciel »