Unity’s Animation System

原文:http://docs.unity3d.com/Manual/AnimationOverview.html


Unity有一个富有而精致动画系统叫做Mecanim,Mecanim提供:

  • Unity包含的所有对象、角色、属性等元素简易的工作流程和设置
  • 支持imported animation clips和动画创建
  • 人形动画重定位--把一个角色模型的动画提供给其他模型的能力
  • 简化对齐动画剪辑(aligning animation clips)的工作流程
  • 方便了预览动画剪辑以及剪辑之间的转换。这使动画师的工作独立于程序、模型并且在代码编译之前就可以预览动画
  • 通过一个可视编程工具管理动画。
  • 利用不同的逻辑使动画不同的身体部分(Animating different body parts with different logic.)
  • 层和标记特色
Unity’s Animation System_第1张图片


Animation workflow

Unity的动画系统基于Animation Clips,Animation Clips包含某些对象如何随着时间改变他们位置,旋转,或其他属性的信息。每个剪辑片段(clip)可以被认为是一个独立的线性记录。
动画剪辑因此组成了一个有组织的像流程图一样的系统,叫做Animator Controller。Animator Controller就像一个"状态机(State Machine)",时刻追踪着当前应该播放哪个剪辑、什么时间动画该改变或者绑定在一起。
一个简单的Animator Controller也许只包含一到两个剪辑,例如控制一个有力的旋转和跳跃,或者使一扇门在正确的时间打开或关闭。为了涵盖主角所有的行为,一个高级的Animator Controller可能包含许多个人形动画,并且也许在同一时刻绑定多个剪辑以使角色在场景中移动时动作流畅。
Unity的动画系统在处理人形角色方面也很有特色,这使你有能力从任何一个人形动画资源来重构你自己的角色模型,也可以矫正肌肉定义。Avatar系统实现了这些特色,也使人形角色映射到了通用内部格式。
每一个部分--Animation Clips,Animator Controller和Avatar,通过Animator组件被带到了同一个GameObject身上。这个组件有一个Animator Controller的引用和这个模型的Avatar(如果需要)。Animator Controller轮流控制他用到的动画剪辑的引用。
Unity’s Animation System_第2张图片

图示各种动画系统如何连接到一起


上图显示出:
  1. 动画剪辑由外部资源导入或者由Unity创建。在这个例子中,他们是捕捉的人形动画的动作。
  2. 动画剪辑被放进了一个Animator Controller。我们可以在Animator窗口看到Animator Controller。状态(States)显示为由直线连接的节点。在Project窗口中,Animator Controller以资源形式存在。
  3. 被装备的人物模型(此例中是宇航员"Astrella")有一个特定的被影射为Unity通用Avatar格式的骨架配置。这个映射是导入的人物模型的一部分,保存为Avatar资源形式,并且也出现在Prejoct窗口,如图所示。
  4. 在使动画(animating)角色模板之前,首先要附加一个Animator组件。上图中的Inspector视图中,你能看到一个同时拥有Animator Controller和Avatar的Animator组件。animator使用这两个组件来驱动模板。只有人形角色动画才需要一个Avatar。其他类型的动画只需要一个Animator Controller。
Unity的动画系统(就是"Mecanim")有许多概念和术语。如果有任何不明白的地方,请到Animation Glossary。


你可能感兴趣的:(Unity’s Animation System)