Unity-Animator深入系列---StateMachineBehaviour状态机脚本学习


回到 Animator深入系列总目录

 

 

首先这个脚本必须继承自StateMachineBehaviour

public class MySMB : StateMachineBehaviour
{
    public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        base.OnStateEnter(animator, stateInfo, layerIndex);

        Debug.Log("!!!");
    }
}

 

 

然后切到Animator面板,选择状态机里的任意状态,点击Add Behaviour即可挂载

 

这时运行游戏,当状态机运行至Jump状态时,程序打出Log

 

 

注意

1.状态机脚本可以挂载到Layer上,但只会调用OnStateUpdate和OnStateEnter,不会调用OnStateMachineExit

2.状态机脚本也可以挂载到子状态机中,但只在退出子状态机时调用一次OnStateMachineExit,OnStateUpdate是每次都调用,OnStateEnter是每个内部状态进入的时候调用

3.OnStateMove不管动画有无根运动,是否打开根运动,都会调用,并且重写后托管原先的根运动


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM