上节课讲了项目结构

这次我们来聊聊数据的导出和导入,这堂课会比较枯燥。

>> 先说导出

说到导出就得先把一个很容易混淆的概念说清楚

DragonBones 是个统称,所以龙骨也是个统称

“DragonBones 龙骨”包括,DragonBones Pro 动画编辑器和DragonBones Runtime 运行库
DragonBones Runtime 运行库以后再说

这里说的导出,就是指你使用DragonBones Pro 动画编辑器导出数据。

导出数据的时候,你可以选择不同的数据格式,每种数据格式又可以选择不同的版本

是不是已经乱了,为毛这么复杂~

拉回来,我们聊聊DB的历史。


话说,最早DragonBones由两部分组成,基于Flash pro的插件 DragonBones Design Panel 和 DragonBones Runtime 运行库。

那个时候Design Panle也是有版本更新的,后期,乃至直到现在,大家比较常用的是 v2.4 和 v3.0.1。

v2.4 导出的 DragonBones 数据格式的版本就是 DB 2.4, v3.0.1导出的 DragonBones 数据格式的版本就是 DB 3.0 。

这还是比较好理解的哈。

后来,我们做了独立的骨骼动画编辑器 DragonBones Pro。不再需要安装Flash Pro,便可独立的完成骨骼动画的制作。

DragonBones Pro 的版本号从 v4.0 起跳。哪个时候导出的 DragonBones 数据格式的版本就是 DB 4.0 。

然后 DragonBones Pro 不断完善升级, 编辑器的版本从 v4.1, v4.2 到 v4.3。 这个阶段,导出的 DragonBones 数据格式的版本依然是 DB 4.0 。

直到v4.5。

从 DragonBones Pro v4.5 开始,我们支持了网格,导出的数据内包含了新的功能,所以 DragonBones 数据格式的版本也要升级了。所以从 DragonBones Pro v4.5 开始我们可以导出版本为 DB 4.5 的 DragonBones 数据格式。

同时为了保证兼容性,让还在继续使用版本为 DB 4.0 的 Dragonbones 数据格式的用户也可以用上最新版本的 DragonBones Pro 动画编辑器。DragonBones Pro v4.5 在导出 DragonBones 数据格式的时候, 可以选择导出版本为 DB 4.0 或者 DB 4.5 的DragonBones 数据格式。

然后一路演进到最新的 DragonBones Pro v5.6 。导出 DragonBones JSON (也就是之前说的 DragonBones 数据格式)的时候,你可以选择版本为 DB 4.0, DB 4.5, DB 5.0 或 DB 5.5 的数据格式了。


说到这里,大家应该明白了吧。

并不是说使用最新的 DragonBones Pro 动画编辑器只能导出最新版本的数据格式,直到 DB 4.0 的数据格式都是可以导出的(DB 3.0及更低的版本就不支持了)。

所以这里大家常见的,就有两个版本号了:

  • DragonBones Pro 龙骨骨骼动画编辑器的版本号,当前最新的是5.6。
  • 龙骨数据格式的版本号,当前最新的是5.5。

好,说了这么多,要回到正题了。

导出的时候,如果选择导出“动画数据+纹理”

DragonBones Pro 5.6 上,我们可以导出的数据格式和版本如下图


这其中我们更推荐在游戏开发中使用 DragonBones 二进制的数据格式,运行的效率更高。它不支持再导入到 DragonBones Pro 动画编辑器进行二次编辑,有一定的防篡改的作用。

>> 接下来我们说导入

DragonBones Pro 5.6 可以导入的数据格式,如下图

对比导出和导入的图,我们可以看到
DragonBones 二进制,Egret 极速和 Egret MC 数据格式是不能导入的。也只是说导出后就只能放到游戏里使用了,不能再导入回来做二次编辑了。

而 DragonBones JSON 格式的各个版本(包括 DB 3.0)都是可以再次导入到 DragonBones Pro 动画编辑器中,做二次编辑的。

还可以看到,当初 DragonBones Design Panel 能导出的数据格式类型也是很复杂的。

不过,它当初导出的数据格式类型,DragonBones Pro 动画编辑器都能很好的继承导入,再次编辑。

但这些复古的格式中,除了JSON以外,DragonBones Pro 动画编辑器都不再支持导出了,毕竟支持多种格式的维护成本是很高的,而且那些数据格式的性能和效率也并没有优势。


再就是关于导入Spine这个话题

总有朋友问 Spine 能不能导入DragonBones 数据格式, Spine能不能导入龙骨导出的Spine格式

  • Spine不能导入龙骨的数据格式。DragonBones JSON 不能, DragonBones 二进制不能,Egret极速不能,Egret MC也不能。不要问我为什么……Spine不是我们开发的,它不能导入,我们能有什么办法……
  • 龙骨导出的Spine格式,是为了方便大家在开发中使用的。因为有的游戏引擎是基于Spine的运行库来进行开发的。所以我们尽量的保证龙骨导出的Spine格式可以运行在Spine的运行库中(当然如果运行不了,可以反馈给我们,我们来改进)。而龙骨导出Spine格式并不是为了方便大家再导入到Spine的动画编辑器中。Spine的动画编辑器也在更新,它如果因为各种原因没法导入龙骨导出的 v2.1或v3.3的Spine数据格式,也不是我们能解决的。



下课