Unity 6.3
0 онлайн 49 гостей 3 в системе
Вход

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,.