Unity 5.0 中酷炫的新动画功能详解

来源:互联网 发布:淘宝网店logo 编辑:程序博客网 时间:2024/05/01 17:17

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

• 改进的重新定位目标引擎

• 运行时优化

• 大量的漏洞修复

Asset Creation API sample Code


更多精彩关注狗刨学习网:http://www.gopedu.com/
0 0
原创粉丝点击