unity 5.0 中的新动画功能
这里是你可以期待的新动画功能快速概述 !
State Machine Behaviours状态机行为
在Unity 5 中,你会能够将StateMachineBehaviour 脚本添加到您的states,当played状态时能接收callbacks回调:
•OnStateEnter
•OnStateUpdate
•OnStateExit
•OnStateMove
•OnStateIK
在你的状态,您可以创建尽可能多的StateMachineBehaviours。所以若要添加 IK 状态,或做一些自定义的逻辑,只需拖动到它的 StateMachineBehaviour 脚本上。
基本上,在你的游戏,有任何需要某种状态机逻辑-----有或无animation动画都可以用这个状态机行为。
Another great thing about this feature isthat you don’t need to have tons of
有关此功能的另一个好处是你不需要有大量的
if(animator.GetCurrentAnimatorStateInfo(0).isName("Idle"))
DoStuff()
(而我也确信在您的代码你有足够的多的代码),
相反,您可以只使用 StateMachineBehaviours !
State Machine Transitions状态机转换
State Machines状态机变得越来越复杂,所以我们引入了State Machine Transitions状态机转换的状态机逻辑提供高层次的抽象的概念。
在Unity 5中,我们已经把他们的(Entryand Exit)进入和退出的节点添加到 StateMachines。那里期间使用状态机转换(State Machine Transitions)。
Entry: 当你转换到StateMachine状态机时,动画系统将评估(Entrynode)节点和(branch)分支是否达到条件符合的目标。
Exit: 当去Exit node,动画系统将看看传出的StateMachine状态机转换和分支 已经到了适当的目的地。
Note that you can mix transitions:State->State, State->StateMachine, StateMachine->StateMachine…
请注意您可以混合使用transitions过渡:State->State, State->StateMachine,StateMachine->StateMachine…
更重要的是,unity也修改了 UI,所以你现在可以重构您的参数parameters和层layers。
Asset Creation API
在Unity 5,您可以创建animation的assets资产 ;StateMachines StateMachines,States, Controllers, Layers, Blentrees,等,在Editor编辑器中使用脚本 !
Api 有两个,一个(high-level)高层次的assets由Unity管理,和一个(lowlevel)低层次在这里你要手动管理assets和可以执行外部引用。
这两种 Api 都有documented,和我这篇文章末尾有API使用的一个小例子。
Direct Blend Trees直接混合树
我们已经添加了一种新型的BlendTree,它允许您将直接映射到 BlendTree child weight的动画参数。
如果您正在使用 BlendShape 动画或添加动画,这真的可以派上用场。
Root Motion Authoring (in generic mode)根运动创作 (在一般的模式下)
Unity 5 还允许您对对象进行动画处理,并将其动画转换为root motion (即Delta Animation)。简单创建一个动画– translation/rotation – 最顶层对象的变换,然后在AnimationClip 的inspector面板中单击Generate Root Motion Curve(生成根运动曲线) !
更多的东西,使你的生活变得更容易:
•改进的动画预览照相机。相机现在可以Pan平移、Orbit轨道和Scale缩放作为scene查看器的方式相同。
•运行时访问参数(name, default values等.)
•Gizmo在scene场景视图的root根位置,ik 位置等
•改进的(retargeting engine)重定向引擎
•运行时优化
•Tons和tons bug 修复
官方原文:http://blogs.unity3d.com/2014/06/26/shiny-new-animation-features-in-unity-5-0/