GetCurrentAnimatorStateInfo方法:
Returns an AnimatorStateInfo with the information on the current state.
if (!enemy.anim.GetCurrentAnimatorStateInfo(0).IsName("Idle"))
0指的是 Animator的 动画层layer,base layer;
这一句代码 意思是 判断 敌人动画当前状态 是否是 Idle
问题描述:
在Idle 动画播放结束后,并未调用 该方法
if (!enemy.anim.GetCurrentAnimatorStateInfo(0).IsName("Idle"))
{
enemy.animState = 1;
enemy.MoveToTarget();
}
原因分析:
使用GetCurrentAnimatorStateInfo 方法去判断动画播放结束时 需要注意, Animator 当前状态包括了transition,如果transition不满足要求,此状态不会结束;
由于设置了Conditions,此时 还是处于Idle状态,以上代码段并未执行
同时,HasExitTime 与 Conditions 应避免同时使用
解决方法, 勾选HasExitTime ,去掉Conditions
版权声明:本文为weixin_41054345原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。