ドキュメント

Unity Engine

Unity Engine

IsName(string)

Checks if name matches the name of the active state in the state machine.
読み終わるまでの所要時間 1 分最終更新 1ヶ月前

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.AnimationModule
public bool IsName(string name)

Parameters

name

The name to check.

Returns

Type

Description

boolTrue if the animation state has the given name, false otherwise.

Remarks

The name should be in the form Layer.Name or Layer.SubStateMachine.Name. For example,
Base.Idle
or
Base.RunSM.JogForward
.
This method calls Animator.StringToHash on the name parameter and compares it to AnimatorStateInfo.shortNameHash and AnimatorStateInfo.fullPathHash internally. If you call this method often, consider precomputing the hash of the name to improve performance.
// 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."); } }}