Unity4.0 引入了全新的Mecanim动画系统,它提供了更强大的功能,使用一个叫状态机的系统控制动画逻辑,更容易实现动画过渡、IK、动画retargeting(将同一个动画使用到不同的模型上)等功能。
示例
- 将从3D动画软件中导出的FBX文件复制到Unity工程中。一个模型可以拥有多个动画、模型与动画一定要有相同的骨骼层级关系。
- 默认导入的FBX文件的动画格式会自动设为Generic。如果需要使用Mecanim提供的IK或动画retargeting等功能,还需要将动画类型设为Humanoid,这是专门针对两足人类动作的一种动画系统,Mecanim提供的大部分高级功能均只针对这种动画类型。
Legacy模式是Unity在4.0版本之前的一种标准动画模式它的功能相对较弱,但使用起来更简单。 - 当将带有动画的FBX文件导入Unity工程后,如果需要循环播放该动画,只需要选中Loop Time即可使其成为一个循环播放的动画。
在Unity中,像这种手工设置动画循环之类的事情,都可以使用代码批量完成,是调用类方法。 - 当动画导入后,在Project窗口展开动画文件层级,选择动画,在Inspector窗口预览动画。如果动画文件本身没有模型,只需要将模型文件拖放到预览窗口即可。
- 在Project窗口单击右键,选择【Create】-> 【Animator Controller】创建一个动画控制器(如果是选择Legacy动画模式,不需要创建Animator Controller)。
- 将包含绑定信息的模型制作成一个Prefab,在Animator组件的Cotroller中为其指定动画控制器,如果需要使用脚本控制模型位置,取消选择Apply Root M