游戏大作中的动画技巧:抓大放小 合理取舍

游戏动画由于受到游戏系统的约束,开发时会比影视动画增加一些额外的要求,本文记录了老王开发游戏动画时遇到的一个小问题,在分析了Capcom的街霸V动画后借鉴了其中的技巧。

一个反面实例

下图是昨天为隆做的升龙拳动画,是不是觉得哪里有点别扭?
在这里插入图片描述

仔细看看发现,角色起跳后重心发生了“飘移”,当前的角度看:下落时重心向左侧“飘移”

从曲线图上也能证明这一点

在这里插入图片描述

物体在空中,忽略水平外力时,应该是垂直自由落体运动或抛物运动。重心水平方向的运动应该和水平初速度相同,而不可能相反。这个动画,即便有水平初速度,也一定是向右的,而重心下落的轨迹却是向左偏移。这就是上面的动画看起来别扭的原因。

原因分析

这是一个游戏的循环动画,因此要求首帧和尾帧姿态(大致)相同,并且不能出现位置移动,否则就会出现“滑动”的问题。

但是仔细分析这个动画的过程,如果“老老实实”做的话不出现位移很难做到。下面我们从下蹲姿势开始逐关键帧看一下:

下蹲姿势

下蹲时重心轴在两脚之间

在这里插入图片描述

蓄力姿势

蓄力时重心轴开始向右移动至角色的左腿

在这里插入图片描述
最高点

角色转身180度腾空,这时的理论上重心应该由于惯性以及旋转继续向右移动。那么他落地以后的位置肯定不应该是原来的位置了(必然向右偏移),由于我们的尾帧是从首帧复制过来的(重心在当前重心的左边),所以下落时就必然发生了前面提到的向左侧“飘移”。
在这里插入图片描述

于是问题来了,如何同时实现 “首尾帧无位移且重心不飘移” 这两个要求呢?

注意:不能通过落地以后角色小碎步自己回到初始位置的方法。

Capcom的做法

下面咱们看看街霸V中,Capcom的做法,看看起跳前后的起跳前后的2帧

在这里插入图片描述

在这里插入图片描述循环播放一下这2帧
在这里插入图片描述
我们会发现,这2帧中角色的重心并没有如我们分析的那样继续发生偏移,而是“偷偷”将支撑脚(左脚)的位置向左移动了一些。在现实世界这种情况是不合理的,但是由于这个变化发生在相邻的2帧之间(0.03秒)并且随后角色又快速上升(失去了参照物),所以视觉效果上,我们并没有看到什么不妥。

使用了这样一个小的“Trick”,使得角色的重心没有发生大的偏移,自然垂直上升再下落以后,也依然能回归到原位。

修改后的效果

在这里插入图片描述

小结

所谓 “抓大”,就是一要不能违背游戏系统的需求,位移,帧数设定等等,二是角色重心轨迹以及关键姿态等醒目的效果要合理;所谓 “放小”,就是在时间很短不易察觉的中间画上可以采取点 “蒙混过关” 的小的技巧。游戏动画由于受到游戏系统的约束,有时不如影视动画那么自由,因此必须 “合理取舍” 才能达到最好的效果。

猜你喜欢

转载自blog.csdn.net/hello_tute/article/details/109090394