骨骼动画是模型动画中的一种,当前有两种模型动画的方式:顶点动画和骨骼动画。

顶点动画:早期的 3d 实时渲染,都是简单的把顶点连成面,然后附上贴图把模型显示出来的。若是想让模型动起来,就制作若干动作下的模型,在文件中记录下动作每帧的模型造型的顶点信息。简单说,一个动作,就是一系列的独立模型。这就是所谓的顶点动画。

骨骼动画:由于上述动画的体积大,不容易做出互动的效果,人们想出一个办法,把 3d 模型抽象成一组关键点的集合。(这个抽象就好比从 2D 到 3D ,把一堆的像素构成的图象,抽象到少一个数量级的三角型上)整个模型的运动,可以想象成这些关键点的运动,而构成模型的顶点及面,都是受这些关键点的影响而已。这些关键点被称为骨骼,非常之形象,而且在人物动画中,这些点通常也正好在人物关节的位置。

骨骼动画是一种补间动画。它由两部分组成:骨骼(bone)和蒙皮(skin/mesh)。

蒙皮是素材,可以认为是一张贴图,它显示了动画的外在表现。骨骼本身是不可见的,但对其进行形变会带动蒙皮进行各种形变,从而产生出各种看起来比较真实的动画。

工具介绍

DragonBones

URL: https://github.com/DragonBones

特点:

开源,免费

基于Flash Pro的骨骼动画编辑SkeletonAnimationDesignPanel

骨骼动画Actionnoxss框架,完美结合starling

多种文件导出格式,并支持导入spine的文件

Spine

URL: http://zh.esotericsoftware.com/

特点:

收费,来自kickstarter众筹发展

支持Runtime较多

unity,cocos2dx,xna,starling

文档不足

Cocostudio

URL: http://www.cocos.com/downloads/

特点:

包括骨骼动画编辑器,UI编辑器,场景编辑器,数据编辑器等工具

免费,暂不开源

支持导入DragonBones和flash动画

和cocos2dx完美结合,cocos2dx后续发展重点之一

它们的比较

这里的评论可以看出来,Cocostudio目前可用性方面还不是很成熟,那么就只有DragonBones和Spine可以选择了,Spine的动画水平看上去更高一点;从这里可以看出,Spine对于纸娃娃系统的支持不是很好,DragonBones做为免费软件在功能上还是没有Spine支持的多;但是Spine的缺点是官方库由于不是针对cocos2dx写的,所以对cocos2dx不友好。

总结起来就是,如果不需要使用纸娃娃系统,那么Spine在现在(2018年 5月)的功能更加强大;如果需要纸娃娃系统,可能DragonBones更加合适些。

Spine资源文件说明:http://docs.cocos.com/creator/manual/zh/asset-workflow/spine.html

参考资料

Spine换装

Spine使用

DragonBone换装

DragonBones局部换装与全局换装

DragonBones换装官方教程