Page 4 sur 4

Re: [MY-AL]Animations non trouvées sur perso mais existantes dans Project

Publié : 07 Nov 2019 16:21
par jmhoubre
On peut peut-être comparer avec des ">" ?

Code : Tout sélectionner

float valeurAComparer = 7f;

if (valeurAComparer > 5.0) {
    // trucs à faire
    return; // pour cesser de comparer
} else {
    if (valeurAComparer > 4.9) {
        // trucs à faire
        return;
    } else {
        if (valeurAComparer > 4.8) {
            // trucs à faire
            return; // pour cesser de comparer
        } else {
            if (valeurAComparer > 0) {
                // cas par défaut
                // trucs à faire
            }
        }
    }
}

Re: [MY-AL]Animations non trouvées sur perso mais existantes dans Project

Publié : 07 Nov 2019 18:38
par boubouk50
C'est le même problème: une comparaison.
4.8999999 ou 4.9000001 ne donnera pas le même résultat.
Soit tu utilises Approximately () doit tu castes en Int pour un résultat fiable.

Qui plus est, la vitesse étant interpolée, tu passeras par 4.9 en descendant de 5.0 à 4.8 ce qui aura pour de lancer une animation pour rien. Avec la possibilité d'une double saute dans les animations.
J'ajoute aussi que l'utilisation de l'Update () peut être proscrite pour éviter des calculs intermédiaires inutiles.
Autant faire correctement les choses.

Re: [MY-AL]Animations non trouvées sur perso mais existantes dans Project

Publié : 11 Nov 2019 17:58
par freepl
Edit du msg d'hier que je croyais avoir supprimé.

Le script d'animation sur le perso marche sans toucher à trajetVl.

Voilà le code

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class PietonAnimationeEscalier : MonoBehaviour {
	
	private TrajetVl trajetVl;
	public Animation anim;
	public string idle, walk,descente,montee;
	public bool chien;
	
	void Start () {
		if (chien)
			trajetVl = transform.parent.parent.GetComponent<TrajetVl>();
		else 
			trajetVl = transform.parent.GetComponent<TrajetVl>();
	}
	
	// Update is called once per frame
	void Update () {
		switch((int)Mathf.Round(trajetVl.kmh*10))
		{
		case (0): // vitesse égale 4 km/h sur le déclencheur
			anim.Play(idle);
			break;
		case (35): // vitesse égale 3.5 km/h sur le déclencheur
			anim.Play(montee);
			break;
		case (25): // vitesse égale 2.5 km/h sur le déclencheur
			anim.Play(descente);
			break;
		default :
			anim.Play(idle);
			break;
		}
	}
}




Merci boubouk50

Re: [MY-AL]Animations non trouvées sur perso mais existantes dans Project

Publié : 12 Nov 2019 10:23
par boubouk50
Donc sujet résolu? Donc fermeture du sujet?