AnimatorStateInfo.IsName
Declaration
public bool IsName(string name);Параметры
| Параметр | Описание |
|---|---|
| имя | Имя для проверки. |
Возвращаемое значение
логическое True, если состояние анимации имеет указанное имя, иначе false.
Описание
Проверяет, соответствует ли name имя активного состояния в машине состояний.
Имя должно быть в форме Layer.Name или Layer.SubStateMachine.Name. Например, Base.Idle или Base.RunSM.JogForward.
Этот метод вызывает Animator.StringToHash по параметру name и сравнивает его с AnimatorStateInfo.shortNameHash и AnimatorStateInfo.fullPathHash внутренне. Если вы часто вызываете этот метод, рассмотрите возможность предварительного вычисления хэша имени для повышения производительности.
// This script demonstrates how to check if the current state of an Animator has a specific name. using UnityEngine; [RequireComponent(typeof(Animator))] public class AnimatorStateInfoIsNameExample : MonoBehaviour { // The Animator component on the GameObject this script is attached to. Animator m_Animator; void Start() { m_Animator = GetComponent<Animator>(); } void Update() { // If the current state has the specified name, log a message. var stateInfo = m_Animator.GetCurrentAnimatorStateInfo(0); if (stateInfo.IsName("Base.Idle")) { Debug.Log($"Currently in state Base.Idle."); } } }
Дополнительные ресурсы: ,Animator.StringToHash,, ,AnimatorStateInfo.IsTag,.