Unity 动画团队一直在努力工作、同心协力,使Unity 5.0具有令人印象深刻的功能集。敬请期待新动画功能,下面是有关新动画功能的简要概述,希望可以对Unity 的用户们有所帮助!
状态机行为
在Unity 5中,您能够将StateMachineBehaviour脚本添加到状态中,并在播放状态时收到以下回调:
•OnStateEnter
•OnStateUpdate
•OnStateExit
•OnStateMove
•OnStateIK
您可根据需要在“状态”中添加多个StateMachineBehaviour。要在“状态”上添加IK,或要执行自定义逻辑,仅需将StateMachineBehaviour脚本拖到它上面。
基本上,游戏中任何需要某种StateMachine逻辑的对象(无论是否有动画)均可使用这种方式。
此功能的另一大好处是不需有大量的如下代码:
if(animator.GetCurrentAnimatorStateInfo(0).isName(“Idle”))
DoStuff()
(我确定您的代码中有许多这样的代码),
只需用StateMachineBehaviour即可!
状态机转换
状态机变得越来越复杂,因此我们引入了“状态机转换”这一概念,从而在StateMachine逻辑之上提供更高层次的抽象表示。
在Unity 5中,我们已在StateMachine中添加了“进入”和“退出”节点。这两种节点都会在状态机转换中用到。
进入:当您转换到StateMachine时,动画系统将评估“进入”节点并转到其条件满足的目的地。
退出:转到“退出”节点时,动画系统将查看正在进行的StateMachine转换,并转到合适的目的地。
注意,您可混合转换:State->State、State->StateMachine、StateMachine->StateMachine……
另外,我们还对工具UI进行了修改,因此,您现在可对您的参数和层重新排序。
资源创建API
在Unity 5中,您可使用编辑器中的脚本创建动画资源(StateMachine、状态、控制器、图层、Blentree等)。
有两种API:一种是高级API,由Unity来管理资源;一种是低级API,由您手动管理资源并可执行外部引用。
对两种API都有记录,我已在本博文结尾提供了一个使用API的小例子。
直接混合树
我们已添加了一种新型BlendTree,您可将动画器参数直接映射到BlendTree子级的权重上。
如果您正使用BlendShape动画或附加动画,这真的非常方便。
根动作创作(常规模式下)
Unity 5还使您可为动画制作动画效果并将它们的动画器转化成根动作(即Delta Animation)。仅需在对象的最顶层转换上创建动画(平移/旋转),然后在AnimationClip检查器中单击“Generate Root Motion Curve”(生成根动作曲线)!
更多功能,让动画制作更轻松:
•改进的动画预览器相机。该相机现在能像场景查看器一样摇镜头、沿轨道运行和缩放。
•对参数(名称、默认值等)的运行时访问
•根位置、ik位置等的场景视图中的gizmo
•改进的重新定位目标引擎
•运行时优化
•大量的漏洞修复