0.StateMachineBehaviour简介
继承于StateMachineBehaviour的类 用于检测状态机中动画切片(Anamation)的运行状态 StateMachineBehaviour类(状态机代码)绑定在Anamation Controller中的Animation上.
1.几个常用的代码
a.动画切片运行结束回调
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
if (stateInfo.normalizedTime >= 0.98) {
animator.SetInteger ("num", 0);
}
}
b.某个动画切片开始播时,从某个时间比例开始播放
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
animator.Play ("move", layerIndex, 0.5);
}
2.一些坑
a.如果没有保存或者Unity崩溃,绑定的状态机代码不会保存.
b.状态机代码的OnStateExit方法,是在离开该动画时掉用,动画结束之后如果未离开该Animation,OnStateExit不会调用.