[Unity] 动画系统

Unity中的动画控制系统。

动画系统

Unity的动画系统支持引擎内编辑动画,也支持外部导入FBX动画。由于引擎内置的的动画编辑器没有骨骼动画的概念,所以只能编辑每一帧模型的Transform、整体的旋转、缩放和平移。

模型:

Unity显示模型必须给游戏对象提供Mesh Filter和Mesh Renderer组件,前者表示模型需要用的Mesh文件,后者通过材质的贴图和Shader最终将这个模型渲染出来。

Mesh Filter:

Mesh Render:

Prefab:

动画编辑器:

动画编辑器的原理就是通过时间线来修改组件的信息,比如修改Transform位置信息,修改Renderer组件或者修改颜色信息,控制模型显示隐藏;此外,还可以在时间线上添加动画事件,编辑后的动画需要配合Animator组件使用。

导入类动画:

人形重定向动画:

人形重定向动画就是多个身形不同的人物模型也可以共用一份骨骼动画,此技术应用在游戏中会大量减少内存和包体大小。重定向动画的原理就是将不同身形的骨骼信息套入相同的动画中来运算

通用动画:

老版动画:

导入类动画事件:

动画控制器:

动画控制器的原理就是状态机: