m_Animator.GetCurrentAnimatorStateInfo(0) 用于获取当前动画状态信息。
关于unity Animator 怎么判断一个动画播放结束这里有几种方法,这里只介绍一种:
//获取动画层 0 指Base Layer.
AnimatorStateInfo stateinfo = animator.GetCurrentAnimatorStateInfo(0);
//如果正在播放walk动画.
if(stateinfo.IsName("Base Layer.walk"))
{}
至于为什么是0层,
什么是1层,什么是2层?
这些得去了解动画状态机。
按照Unity社区的说法,你并不需要知道LayerIndex是什么,
你只需要知道动画的Name,并使用GetLayerIndex这个方法来获得Index。
如果你还想得到答案,你可以做一个简单的测试,把每一层的索引打印到控制台上,但我猜它从0开始,按Animator窗口中定义的顺序递增1。
参考资料:
https://www.cnblogs.com/mimime/p/6599798.html
https://answers.unity.com/questions/1238124/what-number-is-the-layer-in-animator-controller-i.html