使用StateMachineBehaviour配合动画状态机

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不会调用.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,536评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,252评论 4 61
  • 读书时看到舒婷的诗《致橡树》:我如果爱你,绝不像攀援的凌霄花,借你的高枝炫耀自己。那时不知凌霄长什么样,只是疑惑,...
    心向阳无悲伤阅读 782评论 2 7
  • 一个人觉察自己或他人的天分,不是一下子就发现自己什么做的还不错,而是,你发现你自己或者某人,在做某件事情的时候,不...
    阿K的笔记阅读 3,198评论 0 3
  • 从学生时代,我就非常欣赏理性的人。我认为理智绝对是人类最美好的品质之一。它能让你保持冷静,遵循逻辑,在任何时候都能...
    大梦斋阅读 1,007评论 0 2