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

AnimatorStateInfo.IsTag

Declaration

public bool IsTag(string tag);

Параметры

Параметр Описание
метка Метка для проверки.

Возвращаемое значение

логическое True, если состояние анимации имеет указанный тег, иначе false.

Описание

Проверяет, есть ли у состояния анимации указанный тег.

Вы можете вручную задать тег для каждого состояния в Инспектор Animator State или со свойством AnimatorState.tag. Используйте AnimatorStateInfo.IsTag чтобы узнать, задано ли активированное состояние в компоненте Animator тег, соответствующий определенной строке. AnimatorStateInfo.IsTag вызывает Animator.StringToHash по параметру тега и сравнивает его с AnimatorStateInfo.tagHash внутри; если вы часто вызываете этот метод, рассмотрите возможность предварительного вычисления хэша тега для повышения производительности.

Дополнительные ресурсы: AnimatorStateInfo.IsName, AnimatorState.tag.

// This script demonstrates how to check if the current state of an Animator is tagged with a specific tag.

using UnityEngine;

[RequireComponent(typeof(Animator))]
public class AnimatorStateInfoIsTagExample : MonoBehaviour
{
    // The tag to check for.
    public string tagName = "Jump";

    // 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 is tagged with the specified tag, log a message.
        var stateInfo = m_Animator.GetCurrentAnimatorStateInfo(0);
        if (stateInfo.IsTag(tagName))
        {
            Debug.Log($"Current state is tagged as {tagName}");
        }
    }
}