正在消失的模块化逐帧动画

我第一次看到gameloft的Aurora动画编辑器就震惊了!这款名字叫Aurora(音:欧若拉)的动作编辑器包含角色动画编辑器,场景编辑器,关卡编辑器,三合一的所见即所得神器!所有的数据格式是xml,导出的图片文件是最优排列的矩形图块。

早期还需要美术手工排列,以获得容量最小的图片。后期则加入了程序自动排列。印象中当时的很多PC游戏,里面的素材都还是逐帧的图,我想这多费容量啊。确实那会的PC游戏动不动就是几百M,小游戏也得30多M。而gameloft开发的游戏最小的一个Jar包只有98K!包含所有的角色动画和场景,恩还有代码!

模块化逐帧动画就是将普通逐帧动画的帧拆碎复用。它的精髓在于拆碎和复用。因为图片容量和矩形的面积正相关,矩形面积越大容量就越大。不过受内存限制,同屏显示的矩形数量是有限制的。

那么欧若拉是如何实现模块化逐帧动画的?

一:数据和图片分离

欧若拉的素材图片和动画数据是分开的。编辑帧或动画,都不会影响图片。因此图片可以上下左右翻转,还支持90度顺时针或逆时针旋转。同一套帧和动作数据搭配不同的图片就可以实现角色的换皮。

realfootball系列,球员的帧和动画只有一套,该游戏所有球队的动画数据只有1份,但是对应32张球员切片动画,就可以变成32支球队。

正在消失的模块化逐帧动画

我猜测部分街机游戏也使用了同样的策略。比如吞食天地2。下图中黄色和紫色的小兵也很有可能只有一套动作数据,然后搭配不同的图片。其他比如肥肥,美美,赵家兄弟等等也类似这样。

因为这些小兵的动作都是一样的。

通过此方法,在有限的容量条件下就可以提供更丰富的视觉和其他效果。

正在消失的模块化逐帧动画

二:图片数据碎片化

欧若拉的素材图片是碎片化的。这样的好处有以下几点:

1、增加游戏被破解的难度;图片都是碎的,不仅要破解游戏包还需要还原骨骼动画数据,另外由于模块化逐帧动画的特殊性,很难被盗用。
2、图片资源最优化;每个角色或场景对应一张图片,一套骨骼;游戏整体UI也是一张图片,一套骨骼;编辑关卡时可以直接调用场景和角色;

下图是对比图,显而易见的是街霸那种普通逐帧需要更多的容量和内存。

正在消失的模块化逐帧动画

三:图片的颜色数据分开存储

索引模式的8位png可以将颜色表单独存储,可以通过改变颜色表改变对应的图片内容。

比如Probike这款游戏,玩家可选角色有好几个,每个角色和摩托车都是不一样的。车手和车是分离的。相同姿势的车手都是一套,所有车是一套。

我通过修改车的颜色表,就可以用一张图片变换出所有的车。

正在消失的模块化逐帧动画

总结

模块化逐帧的优势在于可以适配所有类型的2D游戏开发,劣势在于逐帧动画对美术要求比较高,开发时间也会比较长。(Spine这样的补间动画相对比较容易。)

这种技术随着gameloft员工的离职,开始在游戏圈流传。大部分公司都以欧若拉为蓝本,开发了自己的版本。

然而模块化逐帧动画跟着诺基亚一起消失在历史长河中……感觉正在消失,特写一篇留个纪念。

完。

正在消失的模块化逐帧动画

始发于微信公众号:教你画像素画

通过「BeePress|微信公众号文章采集」WordPress 插件生成

Tags: