[RÉSOLU] Stopper des états d'animation avec un TAG
Publié : 30 Juin 2020 18:00
Salut la communauté,
J'ai une petite question :
J'aimerai savoir si il est possible sans boolean d'interdire certains états dans mon animation controller.
Plus concrètement, je fabrique un monde ou beaucoup de PNJ se ballade sur un navmeshagent mais lorsqu'ils commencent a prendre des escaliers tous ensemble, un embouteillage monstre se met en place.
Disons que le personnage a une animation Idle et une autre Walking.
Dès le départ, le PNJ marche. Je répète l'état une dizaine de fois en utilisant le root motion et ensuite je passe une fois en idle et retourne au départ de l'animation donc il recommence a marcher et ainsi de suite.
J'ai taggé mes états Idle avec le mot Idle.
Donc la question est :
Ai-je la possibilité d'interdire les états tagés Idle lorsqu'ils empruntent un escalier.
Pour l'instant j'ai ça qui fonctionne très bien (je n'ai que deux hauteurs de sols dans ce monde) mais je ne sais pas quoi entrer comme code pour dire au PNJ. « Hè mec, tu es sur un escalier alors continue à marcher»
Merci d'avance pour votre aide
J'ai une petite question :
J'aimerai savoir si il est possible sans boolean d'interdire certains états dans mon animation controller.
Plus concrètement, je fabrique un monde ou beaucoup de PNJ se ballade sur un navmeshagent mais lorsqu'ils commencent a prendre des escaliers tous ensemble, un embouteillage monstre se met en place.
Disons que le personnage a une animation Idle et une autre Walking.
Dès le départ, le PNJ marche. Je répète l'état une dizaine de fois en utilisant le root motion et ensuite je passe une fois en idle et retourne au départ de l'animation donc il recommence a marcher et ainsi de suite.
J'ai taggé mes états Idle avec le mot Idle.
Donc la question est :
Ai-je la possibilité d'interdire les états tagés Idle lorsqu'ils empruntent un escalier.
Pour l'instant j'ai ça qui fonctionne très bien (je n'ai que deux hauteurs de sols dans ce monde) mais je ne sais pas quoi entrer comme code pour dire au PNJ. « Hè mec, tu es sur un escalier alors continue à marcher»
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EscalierPNJ : MonoBehaviour
{
Animator anim;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (transform.position.y >=1.3f && transform.position.y <= 9)
{
Debug.Log("Escalier");
}
}
}
Merci d'avance pour votre aide