如何从Animator中检索当前播放的动画?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从Animator中检索当前播放的动画?相关的知识,希望对你有一定的参考价值。

我想检查一个动画是否在播放,所以你能帮我检索当前播放的动画名称。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AIM : MonoBehaviour
{
    public Animator play;

    // Start is called before the first frame update
    void Start()
    {
    }
    // Update is called once per frame
    void Update()
    {  
      //Debug.Log(play.GetCurrentAnimatorClipInfo(0).clip.name);
    }
}

Animator.GetCurrentAnimatorClipInfo 我试过了 play.GetCurrentAnimatorClipInfo(0).clip.name 但它却抛出了一个错误。

'AnimatorClipInfo[]' does not contain a definition for 'clip'

答案

这是因为你在访问数组。GetCurrentAnimatorClipInfo(0)返回一个数组。你需要访问数组元素来获取信息,像这样。

play.GetCurrentAnimatorClipInfo(0)[0].clip.name

以上是关于如何从Animator中检索当前播放的动画?的主要内容,如果未能解决你的问题,请参考以下文章

Unity——Animator如何获取所有动画以及如何动态分帧播放

如何在不重复Unity动画的情况下通过Animator提高动画播放速度

求助!Unity中Animator的Getcurrentanimatorstateinfo().IsName()的用法~

Unity Animator只播放一次

Animator 动画第一次播放正常,之后播放都不正常的问题解决

Android动画Animator开发问题