Animator:查看当前状态机正在播放的动画名

查看当前状态机正在播放的动画名,可以获取模型所在的状态是什么。

可以搭配定时器InvokeRepeating(string str,float min,float max) 和  委托  使用,这样在外部获取Animator信息的时候就不会每帧都做判断了,这样的作用是:在播放某个动画时,做出某种处理,不至于在这种动画持续播放时间中一直做某种处理。

就比如:Player播放一次攻击动画,Monster掉血,不会player播放动画时,Monster一直掉血

 

public delegate void PlayerAttack(string aniState);
public PlayerAttack m_eventPlayerAttack;
private string strAnimState = "";

void Start
{
    InvokeRepeating("AniStateTest", 0, 1);
}

public void AniStateTest()
{
    if (m_eventPlayerAttack != null)
    {
         m_eventPlayerAttack(strAnimState);
    }
}

void Update () 
{
    strAnimState = m_aniPlayer.GetCurrentAnimatorClipInfo(0)[0].clip.name;
    Debug.Log(m_aniPlayer.GetCurrentAnimatorClipInfo(0)[0].clip.name);
}

你可能感兴趣的:(Animator:查看当前状态机正在播放的动画名)