DragonBones(龙骨)是一套面向二维骨骼动画的开源制作与播放方案,由动画编辑器与多语言运行时两部分组成,动画师在编辑器中把图片拆分为骨骼、插槽和网格并制作关键帧动画,程序再通过运行库在游戏或应用中实时播放。它最初由Adobe公司于2012年10月主导开发,作为Flash Pro的骨骼动画插件推出,后被白鹭时代接手维护并纳入Egret产品序列,成为移动游戏和HTML5动画领域应用较广的骨骼动画工具之一。
定义
DragonBones是一套二维骨骼动画解决方案,中文名为龙骨,包含动画编辑器和配套的运行库两部分。编辑器用于创建角色骨架并生成动画数据,运行库负责在各类引擎和平台上加载、播放这些数据[1]。其工作方式是把动画角色拆分为骨骼、插槽、贴图与网格,美术只需制作少量切图,就能组合出大量动作[1]。
在功能定位上,它同时覆盖动画制作和开发接入两个环节,官方文档把它描述为打通动画设计到游戏开发的完整工作流[1]。它与逐帧动画的区别在于只保存纹理集和动画数据,通过关键帧补间自动生成中间动作[1]。
原理
骨骼动画的基本思路是为图片绑定骨骼,让骨骼的层级变换带动贴图运动。DragonBones的工程中,骨架记录骨骼层级和动画曲线,插槽决定某块贴图挂在哪根骨骼上,皮肤则用于替换外观[2]。运行时每帧计算骨骼变换,再据此摆放贴图,因此不需要为每个动作单独绘制整张画面。
在变形控制上,这款工具提供网格与自由变形功能,可在图片矩形范围内自定义多边形并移动网格点,实现扭曲、拉伸、转面等效果,同时提高纹理集的空间利用率[1]。配合骨骼权重和蒙皮动画,把网格顶点绑定到不同骨骼上,骨骼运动就会带动网格自动变形,产生整体弯曲和飘动[1]。
姿势编辑方面,它支持反向动力学,通过建立反向动力学约束为角色摆姿势,也可以用多骨骼反向动力学快速摆出骨架姿态,使动作编辑更自然[1]。运行时还提供动画混合与动画遮罩:动画混合允许一个骨架同时播放多段动画,动画遮罩则只让部分骨骼参与某段动画,其余骨骼保持原姿势,两者结合可以用少量动画素材组合出丰富动作。
发展历程
DragonBones诞生于2012年10月,最初由Adobe公司主导开发,是一款用于游戏骨骼动画制作的Flash插件,被业内视为较早的骨骼动画工作流解决方案[3]。此后白鹭时代接手了该工具的维护、运营和版本迭代,并在2014年将其纳入Egret产品序列[4]。
2014年12月,白鹭时代发布开源骨骼动画系统DragonBones 3.0,该版本包含基于Flash Pro的编辑面板DragonBones DesignPanel和骨骼动画框架,新增动画混合过渡时间、按项目配置发布格式、数据格式高级选项,并支持在预览区直接调整骨骼关系[5]。2015年7月,白鹭时代宣布推出针对HTML5优化的DragonBones 4.0,新增脱离Flash运行环境的独立编辑器DragonBones Pro[3]。
到2016年初,DragonBones已迭代至4.3版本,形成由独立编辑器DragonBones Pro、Flash Pro插件DragonBones DesignPanel和多语言程序库DragonBones Library三部分构成的工具组合[4]。2017年7月,5.3版本上线,首次支持导出二进制格式,官方称二维动画运行库性能相比旧版提升约一倍,并新增序列帧元件类型[6]。同年9月,5.5版本发布,新增分拆时间轴、区间循环播放、时间轴筛选锁定和自动生成网格边框等功能[7]。
据软件下载站记录,DragonBones Pro的版本号后续仍持续更新,5.6.3版本于2025年4月更新,新增序列帧元件、克隆元件与二进制格式导出,H5运行库性能也有提升[8]。
应用
该工具主要应用于移动游戏和HTML5游戏的二维角色动画制作。官方资料显示其运行库覆盖Egret、PixiJS、Phaser、Hilo和Cocos Creator等引擎,开发者可在对应引擎中加载并播放DragonBones动画数据。其C++公共库则提供Cocos2d-x、SFML等宿主平台的接入示例[2]。
在换装类玩法中,由于角色中的任意图片都可以在运行时用代码替换,可以实现动态换装,也可以通过替换某个插槽的显示内容单独更换武器或服装,而身体动作仍可复用[1]。动画混合与遮罩的用法举例来说,角色上半身与下半身可以分别设计几种动作,再由程序按操作实时组合,从而减少需要制作的动作数量。
除游戏角色外,该工具也被用于广告营销类动画和动态漫画等场景,支持补间动画与序列帧动画,并可直接发布为可在终端设备运行的H5动画[1]。在导入导出方面,它支持导入Photoshop分层图、DragonBones Pro和Flash Pro导出的数据以及Spine、Cocos等第三方动画格式,导出时可打包纹理集,并输出JSON、XML格式的动画数据[1]。
局限
DragonBones属于动画资产格式与多平台运行时的组合,本身不承担绘图功能。绑定骨骼、绘制网格等制作环节需要在编辑器中完成,运行库只负责播放和控制动画,不能替代编辑器完成制作[2]。
骨骼动画依赖插值生成中间动作,因此更擅长表现关节驱动的角色动作,若追求逐帧手绘的质感,骨骼插值可能使动作显得不够自然[2]。此外,动画数据与纹理图集是一组配套资产,骨骼数据与图集描述文件必须同时加载,只加载其中一部分会出现角色有动作数据却缺少贴图位置的情况[2]。
跨平台使用也带来额外的接入成本。同一份角色资产要在不同引擎或宿主中运行时,需要各自适配的运行库,资产导出、图集路径和宿主引擎版本都会影响使用[2]。在模型或动画切换时还需注意清理动画队列,否则旧的动画指令可能在模型替换后才执行,影响播放结果[2]。
参见
参考资料
- DragonBones 动画解决方案 [引用日期2026-10-14]
- DragonBones — 国产开源 2D 骨骼动画运行时 [引用日期2026-10-14]
- 白鹭主导独立动画工具诞生_新浪游戏_手机新浪网 [引用日期2026-10-14]
- 白鹭时代 DragonBones 全面揭秘 [引用日期2026-10-14]
- 快速制作游戏骨骼动画 DragonBones3.0来袭 [引用日期2026-10-14]
- 关于 的文章 [引用日期2026-10-14]
- 更快的运行效率!DragonBones 5.5新版发布 [引用日期2026-10-14]
- 图形图像 [引用日期2026-10-14]