Unity-动画-动画回调函数接口StateMachineBehaviour
Unity-动画-动画回调函数接口StateMachineBehaviour
1. 简介
当你想在状态机的某个状态执行中干些什么的时候(增加状态机行为)
比如:播放音效,添加粒子特效,增加逻辑代码等等操作。
那么就可以试一试Unity封装好的回调函数接口:StateMachineBehaviour
想要添加(State machine behaviours)状态机行为到状态或子状态机,可以选中某个状态后在inspector中的Add Behaviour按钮。
2. 使用该动画回调接口的前置条件
- 必须继承StateMachineBehaviour
- 脚本必须挂在到状态上
3. 回调函数接口一览
OnStateEnter
进入该状态时调用override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){}
OnStateUpdate
在该状态下每帧调用
(MonoBehaviour Updates 更新后)override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){}
OnStateExit
在该状态结束退出时调用override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){}
OnStateMove
在Animator.OnAnimatorMove()执行后调用(普通动画开始播放后)override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){}
用于实现处理和影响根运动的代码
OnStateIK
在Animator.OnAnimatorIK()执行后调用(骨骼动画开始播放后)override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){}
4. 参数解释
- Animator animator
当前动画器,是这个状态机行为的引用。 - AnimatorStateInfo stateInfo
当前状态的详细信息- int fullPathHash
当前状态的全路径哈希值 - int nameHash
当前状态名称的哈希值 - int shortNameHash
不包括父层名称的短名称哈希值 - float normalizedTime
状态的标准化时间 - float length
状态当前已经持续的时间 - float speed
动画播放速度(1为正常速度) - float speedMultiplier
动画播放倍速 - int tagHash
标签的哈希值 - bool loop
当前状态是否循环 - bool IsName(string name)
- bool IsTag(string tag)
- int fullPathHash
- int layerIndex
是状态机行为状态的layer 层
Unity-动画-动画回调函数接口StateMachineBehaviour相关推荐
- 从零开始学_JavaScript_系列(四)——jquery(基础,选择器,触发条件,动画,回调函数)...
jQuery语法 (1)引用jquery文件及下载库: http://jquery.com/download/ 下载 Download the compressed, production jQuer ...
- jQuery 来了--动画,停止动画,回调函数Callback,链
动画 animate()方法 作用:用于创建自定义动画 语法:$("selector").animate({params},speed,callback); 参数 params:必 ...
- Unity【NGUI】【UGUI】 动画效果实现,AnimationCurve曲线动画控制器,支持动画完成 回调
动画效果如下: 展示图1 如下: 展示图2 如下: 展示图3 如下: 功能: 如上图所示 移动,旋转,缩放,渐变透明 都可并行实现 只要脑洞够大,创意动画效果随你实现. 注:所有动画都是用曲线[An ...
- Java中的回调函数学习-深入浅出
Java中的回调函数一般来说分为下面几步: 声明回调函数的统一接口interface A.包括方法callback(); 在调用类caller内将该接口设置为私有成员private A XXX; 在c ...
- Java回调函数的理解
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数.例如Win32下的窗口过程函数就是一个典型的回调函数.一般说来,C ...
- 深入了解回调函数Java
打回来.我第一次看到Java编程思想,后来Observer模式也适用于一个回调函数的想法.但是,一直没有重视,在处于劣势的最终面试,越来越明白为什么那么多人说Java编程思想,这本书应该是一遍又一遍, ...
- 回调函数总结(个人见解)
回调函数总结(个人见解): 1. 回调函数的实现 ==> 被调用者写 2. 写库的人 ==> 调用回调函数的人 ==> 调用者 2.1 调用者: ...
- Java回调函数使用
C语言中回调函数解释: 回调函数(Callback Function)是怎样一种函数呢? 函数是用来被调用的,我们调用函数的方法有两种: l 直接调用:在函数A的函数体里通过书写函数B ...
- java回调函数的生命_Java的回调函数 - choaklin 的个人空间 - OSCHINA - 中文开源技术交流社区...
暂且不提回调函数的各种定义,如我本人,虽然知道JavaScript的回调的使用,但是百科了回调的定义,还是觉得云里来雾里去.所以大可先从已熟悉的入手,旁推侧引它的原理,再引出Java版的实现. 因为博 ...
最新文章
- 面试使用计算机,面试相关之计算机基础
- “臭名昭著”的他们终于被裁了!字节宣布将精简HR团队,网友:业界毒瘤!...
- 开机时不显示启动菜单grub
- 【Echarts 3.x】填坑记
- ASP.NET中添加View与Razor引擎以及View解析和Controller向View传值
- Git之撤销add操作
- HDU - 6955 Xor sum tire树 + 贪心
- 10月26日练习注册用例的编写与ibatis培训
- libevent 接收TCP连接
- 【POJ3349】Snowflake Snow Snowflakes(哈希表判重,维护一个集合)
- 无法定位程序输入点WSAPoll于动态链接库WS2-32.DLL
- linux 环境变量的设置
- 现代软件工程_团队项目_阿尔法阶段_第二次会议记录_2017.11.13
- Spring注解-@DependsOn
- matlab定义对角块矩阵,Matlab中的扩展块对角矩阵
- VirtualBox调整分分辨率
- 两个PDF怎么合成在一起
- 腾讯反病毒实验室安全研究员杨经宇:开启IoT设备的上帝模式
- RSA+AES混合加密实例
- php开源会员信息系统,poscms会员详情