前言
在游戏开发过程中,动画是一个不可或缺的环节,没有动画变换的人物并不能带给玩家很好的代入感,而Unity作为一个强大的游戏引擎,自然包括了复杂的动画系统,即Animation System。本文参考了Unity的官方文档,并加入了一定的个人理解,希望能帮助读者更快上手使用Unity 中的Animation。
重要概念
在Unity中,想要为一个游戏物体(GameObject)添加动画效果,我们可以直接为它添加Animator组件(注意,此处是Animator而非Animation)。而在每个Animator组件中我们都会调用一个Animator Controller(动画控制器),每个Animator Controller又会引用多个Animation Clip。
上面一段话中的黑体字基本包含了unity动画系统中三个比较重要的概念。下面我会自下而上讲解。
首先是最基础的Animation Clip,它可以看作是动画系统中最小的单位,游戏中角色的跑步,跳跃,攻击,摔倒都可以用一个完整的Animation Clip表示,个人把它理解为动画短片。当然了,这些动画短片我们可以自己创建,也可以导入外部的资源。最方便的当然是直接用别人的Unity Asset,但更多的时候我们是从游戏美工手上收到这些资源,不过通常是和游戏模型一起打包的,例如FBX格式的文件,可能就包含了人物模型,对应动画短片和骨架,以后有空可能会再讲,这篇博文主要聚焦在如何自己创建Animation Clip。
其次,我们还需要一个文件来部署和管理所有相关的Animation Clip,即Animator Controller,个人直译为动画控制器
。Animator Controller中定义了如何从一个一个动画状态跳转到另一个动画状态,每个动画状态对应一个动画短片。当然了,即使我们只有一个动画状态,动画控制器也是必需的,不要妄想直接把一个动画短片加到游戏物体上。举个简单的例子,我们可以根据角色的速度大小让角色在奔跑和步行两个动画状态间切换,这在unity中实现起来也比较容易,以后的博客中会详细讲解。