Unity3D动画系统
分为旧版动画系统和新版动画(Mecanim)系统即Animation 与 Animator
Mecanim概述:
Mecanim是Unity提供第一个丰富而复杂的动画系统,提供了:
针对人形角色的简易的工作流和动画创建能力
Retargeting(运动重定向)功能,即把动画从一个角色模型应用到另一个角色模型上的能力。
针对Animations Clips(动画片段)的简易工作流,针对动画片段及他们之间的过度和交互预览能力。
一个用于管理动画间复杂交互作用的可视化窗口。
通过不同逻辑来控制不同身体部位的运动能力。
1、Animation动画状态机
Animation是U3D旧版的动画状态机,我们一般将模型中的动画放入其中,通过代码开执行动画。
// 拿到Animation组件
Animation Ani = GetComponent<Animation>();
// 执行已经放入其中的动画片段
Ani.CrossFade("Walk"); // 默认就是正播
Ani["Walk"].speed = 1f;
Ani["Walk"].speed = -1f; // 如果是-1 那就是倒着播放
Ani.CrossFade("Walk");
2、Animator动画状态机
其实到这里,我们应该想一个角色模型上面有什么?
2-1.U3D角色模型拥有什么属性?
导入进Unity3D的模型属性:
2-2.将制作好的角色模型导入Unity3D中是什么样?
2-3.新的Mecanim动画系统多了什么东西呢?
我们可以看出多了一个普通,标准动画,和一套类人体骨骼动画。
2-4.二者之间有什么区别呢?
Generic:
这是为任何东西像是人,有动画的柱子,四足动物之类设计的。重定向在这里是不支持的,但是你仍然可以得到后文中描述的Mecanim的好处。
Humanoid:
Mecanim对于类人角色有一个特别的工作流,使用扩展后的GUI和重定向。配置包含创建和设定一个Avatar并且调整肌肉定义。
类人体骨骼动画就是由Unity3D软件根据动画模型的骨骼系统创建一套自己的Avatar.
何一个拥有avatar的GameObject都将拥有一个Animator组件用来连接角色和他的行为。
Avatar:
是一个将一个角色的骨骼信息重定向到另一个角色上的接口。(下图展示就是一个Avatar)
我们一般查看内部的骨骼有没有错误,或者肌肉的伸展有没有问题.(如果在公司,那么有问题也轮到开发人员去调整,模型师会帮助你完成)