查看当前状态机正在播放的动画名,可以获取模型所在的状态是什么。
可以搭配定时器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);
}