在上一篇《游戏诞生之日01 - 美术篇 快速搭建和渲染游戏的第一个场景》里,我们得到了一个静态渲染的游戏场景。
接下来我们需要加入人物动画,为游戏注入活力。
第五块拼图 - 动画素材从哪里来
动画文件中包含了很多关键帧,计算机根据当前时间对这些关键帧进行插值,形成了人物或物体的动画。创作动画的过程就是创作关键帧的过程。
动画的创作是一个需要经验积累的过程,需要了解动画原理,并且对创作对象进行充分地进行观察和尝试。这不够轻量,我们首先要先建立一条最短路径。
如果你看过前一篇文章的话,你能猜出我们将怎么做:充分利用已经有的资源库,先让人物跑起来,有需要的话后期再进行迭代。
Mixamo动作库
Mixamo 就是一个免费的动作库,支持自动蒙皮和绑骨,动画文件直接在网页上就能进行预览。这正是我们想要的。
我们可以上传自己的模型,然后选择任意动作后在网页上预览动作,此外还能修改一些预设的参数如步幅,播放速度等。当调整完成后选择下载就可以将动画下载到本地。
这样就得到了一系列动画素材了。
骨骼规范
模型库的动画使用的模型和我上传的模型,初始姿势不一样,手脚长度不一样,怎么做到将对应动画应用到对应位置的呢?
这就涉及到骨骼规范的问题。模型师在制作模型的过程中会遵循一系列的命名和父子排布规则来建立骨骼。当动画系统识别到对应骨骼之后,会进行动画重定向,即将动画的运动范围依据骨骼的长度进行缩放,以便让一个小矮人的动画也能通用到巨人身上。这在动作捕捉的流程中也是很重要的。
例如之前下载的 POLYGON - City Pack 资源中,模型就是标准的人物骨骼,如果将Standard Assets中的动画控制器赋予人物,就直接能应用其中的动画。
在Unity中有两套Avatar系统,人形动画系统Humanoid,以及通用动画系统Generic。对于一些非人形骨骼的怪物,或是有特殊定制的人物,会选择Generic通用动画系统,而我这里则选择更加直观的Humanoid人形动画系统。