1. Home
  2. 参考文档
  3. 数据格式说明
  4. 5.5 数据格式说明

5.5 数据格式说明

5.5 相对 5.0 格式变化

  • 骨骼时间轴
    将骨骼时间轴拆分为位移、缩放、旋转。

    • translateFrame: 位移关键帧列表。
    • rotateFrame: 旋转关键帧列表。
    • scaleFrame: 缩放关键帧列表。
  • 插槽时间轴
    将插槽时间轴拆分为显示、颜色。

    • displayFrame: 显示关键帧列表。
    • colorFrame: 颜色关键帧列表。
5.5数据格式标准说明
{
		// DragonBones 数据名称
		"name": "dragonBonesName",

		// 数据版本
		"version": "5.5",
		
		// 最低兼容版本
		"compatibleVersion": "5.5",

		// 默认动画帧频
		"frameRate": 24,

		// 自定义数据 (可选属性 默认: null)
		"userData": null,

		// 骨架列表
		"armature": [{

			// 骨架名称 (一个 DragonBones 数据可包含多个骨架)
			"name": "armatureName",

			// 动画帧频 (可选属性 默认: 使用全局帧频)
			"frameRate": 24,

			// 骨架类型 (可选属性 默认: "Armature")
			// ["Armature": 骨骼动画, "MovieClip": 基本动画, "Stage": 场景动画]
			"type": "Armature",

			// 自定义数据 (可选属性 默认: null)
			"userData": null,

			// 添加到主骨架的默认行为列表 (可选属性 默认: null)
			"defaultActions": [
				{
					// 播放指定动画
					"gotoAndPlay": "animationName"
				}
			],

			// 骨骼列表
			"bone": [{

				// 骨骼名称
				"name": "boneName",

				// 父级骨骼的名称
				"parent": "parentBoneName",

				// 自定义数据 (可选属性 默认: null)
				"userData": null,

				// 骨骼注册到骨架的位移 / 倾斜 / 缩放 (可选属性 默认: null)
				"transform": {
					"x": 0.00, // 水平位移 (可选属性 默认: 0.00)
					"y": 0.00, // 垂直位移 (可选属性 默认: 0.00)
					"skX": 0.0000, // 水平倾斜 [-PI ~ PI] (可选属性 默认: 0.0000)
					"skY": 0.0000, // 垂直倾斜 [-PI ~ PI] (可选属性 默认: 0.0000)
					"scX": 1.0000, // 垂直缩放 (可选属性 默认: 1.0000)
					"scY": 1.0000, // 垂直缩放 (可选属性 默认: 1.0000)
				}
			}],

			// 插槽列表
			"slot": [{

				// 插槽名称
				"name": "slotName",

				// 插槽所属的骨骼名称
				"parent": "parentBoneName",

				// 默认显示对象的索引 (可选属性 默认: 0)
				"displayIndex": 0,

				// 混合模式 (可选属性 默认: null)
				"blendMode": null,

				// 自定义数据 (可选属性 默认: null)
				"userData": null,

				// 显示对象的颜色 (可选属性 默认: null)
				"color": {
					"aM": 100, // 透明叠加 [0~100] (可选属性 默认: 100)
					"rM": 100, // 红色叠加 [0~100] (可选属性 默认: 100)
					"gM": 100, // 绿色叠加 [0~100] (可选属性 默认: 100)
					"bM": 100, // 蓝色叠加 [0~100] (可选属性 默认: 100)
					"aO": 0, // 透明偏移 [-255~255] (可选属性 默认: 0)
					"rO": 0, // 红色偏移 [-255~255] (可选属性 默认: 0)
					"gO": 0, // 绿色偏移 [-255~255] (可选属性 默认: 0)
					"bO": 0, // 蓝色偏移 [-255~255] (可选属性 默认: 0)
				}
			}],

			// 皮肤列表
			"skin": [{

				// 皮肤名称
				"name": "skinName",

				// 插槽列表
				"slot": [{

					// 插槽名称
					"name": "slotName",

					// 显示对象列表
					"display": [{

						// 显示对象名称
						"name": "displayName",

						// 显示对象类型 (可选属性 默认: "image")
						// ["image": 贴图, "armature": 骨架, "mesh": 网格, "boundingBox": 边界框, ... 其他扩展的类型]
						"type": "image",

						// 贴图骨架等资源的索引标识,如果未设置则使用 name 索引 (可选属性 默认: null)
						"path": null,

						// 共享网格显示对象名称 (可选属性 默认: null, 仅对网格有效)
						"share": "meshDisplayName",

						// 是否继承动画 (可选属性 默认: true, 仅对共享网格有效)
						"inheritFFD": true,

						// 边界框类型 (可选属性 默认: "rectangle", 仅对边界框有效)
						// ["rectangle": 矩形, "ellipse": 椭圆, "polygon": 自定义多边形]
						"subType": "rectangle", 

						// 显示对象颜色 (可选属性 默认: 0x0000000, 仅对边界框有效)
						"color": 0x000000,

						// 显示对象相对于骨骼的位移 / 倾斜 / 缩放 (可选属性 默认: null)
						"transform": {
							"x": 0.00, // 水平位移 (可选属性 默认: 0.00)
							"y": 0.00, // y 垂直位移 (可选属性 默认: 0.00)
							"skX": 0.0000, // 水平倾斜 [-PI ~ PI] (可选属性 默认: 0.0000)
							"skY": 0.0000, // 垂直倾斜 [-PI ~ PI] (可选属性 默认: 0.0000)
							"scX": 1.0000, // 水平缩放 (可选属性 默认: 1.0000)
							"scY": 1.0000, // 垂直缩放 (可选属性 默认: 1.0000)
						},

						// 显示对象的轴点 (可选属性 默认: null, 对骨架无效)
						"pivot": {
							"x": 0.50, // 水平轴点 [0.00~1.00] (可选属性 默认: 0.50)
							"y": 0.50, // 垂直轴点 [0.00~1.00] (可选属性 默认: 0.50)
						},

						// 矩形或椭圆的宽高 (可选属性 默认: 0, 仅对边界框有效),
						"width": 100, "height": 100,

						// 顶点相对显示对象轴点的坐标列表 (可选属性 默认: null, 仅对网格或自定义多边形边界框有效)
						// [x0, y0, x1, y1, ...]
						"vertices": [-64.00, -64.00, 64.00, -64.00, 64.00, 64.00, -64.00, 64.00],

						// 顶点的 UV 坐标列表 (可选属性 默认: null, 仅对网格有效)
						// [u0, v0, u1, v1, ...]
						"uvs": [0.0000, 0.0000, 1.0000, 0.0000, 1.0000, 1.0000, 0.0000, 1.0000],

						// 三角形顶点索引列表 (可选属性 默认: null, 仅对网格有效)
						"triangles": [0, 1, 2, 2, 3, 0],

						// 顶点权重列表 (可选属性 默认: null, 仅对网格有效)
						// [骨骼数量, 骨骼索引, 权重, ..., ...]
						"weights": [1, 0, 1.00, 2, 0, 0.50, 1, 0.50],

						// 蒙皮插槽注册的矩阵变换 (可选属性 默认: null, 仅对网格有效)
						// [a, b, c, d, tx, ty]
						"slotPose": [1.0000, 0.0000, 0.0000, 1.0000, 0.00, 0.00],

						// 蒙皮骨骼注册的矩阵变换 (可选属性 默认: null, 仅对网格有效)
						// [骨骼索引, a, b, c, d, tx, ty, ...]
						"bonePose": [0, 1.0000, 0.0000, 0.0000, 1.0000, 0.00, 0.00],

						// 添加到父骨架的行为列表 (可选属性 默认: null, 仅对子骨架有效)
						"actions": [
							{
								// 此骨架播放指定动画
								"gotoAndPlay": "animationName"
							}
						]
					}]
				}]
			}],

			// ik 约束列表
			"ik": [{

				// ik 约束名称
				"name": "ikName",

				// 绑定骨骼的名称
				"bone": "boneName",

				// 目标骨骼的名称
				"target": "ikBoneName",

				// 弯曲方向 (可选属性 默认: true)
				// [true: 正方向/ 顺时针, false: 反方向/ 逆时针]
				"bendPositive": true,

				// 骨骼链的长度 (可选属性 默认: 0)
				// [0: 只约束 bone, N: 约束 bone 及 bone 向上 N 级的父骨骼]
				"chain": 0,

				// 权重 [0.00: 不约束 ~ 1.00: 完全约束] (可选属性 默认: 1.00)
				"weight": 1.00
			}],

			// 动画列表
			"animation": [{

				// 动画名称
				"name": "animationName",

				// 循环播放次数 [0: 循环播放无限次, N: 循环播放 N 次] (可选属性 默认: 1)
				"playTimes": 1,

				// 动画帧长度 (可选属性 默认: 1)
				"duration": 1,

				// 行为关键帧列表 (可选属性 默认: null)
				"frame": [{

					// 帧长度 (可选属性 默认: 1)
					"duration": 1,

					// 行为列表 (可选属性 默认: null)
					"actions": [{

						// 行为类型 [0: 播放动画, 10: 自定义事件, 11: 声音事件] (可选属性 默认: 0)
						"type": 0,

						// 行为名称 (如果是播放行为则是动画名称,如果是事件行为则是事件名称)
						"name": "actionName",

						// 骨骼名称 (可选属性 默认: null)
						"bone": "boneName",

						// 插槽名称 (可选属性 默认: null)
						"slot": "slotName",

						// 自定义参数列表 (可选属性 默认: null)
						"ints":[0, 1, 2],
						"floats":[0.01, 1.01, 2.01],
						"strings":["a", "b", "c"]
					}]
				}],

				// 深度排序时间轴
				"zOrder": {
					"frame": [{
						
						// 帧长度 (可选属性 默认: 1)
						"duration": 1,

						// 插槽偏移 [slotIndexA, offsetA, slotIndexB, offsetB, ...] (可选属性 默认: null)
						"zOrder": [0, 2, 4, 1, 6, -1]
					}]
				},

				// 骨骼时间轴列表 (可选属性 默认: null)
				"bone": [{

					// 时间轴名称 (与骨骼名称对应)
					"name": "boneName",

					// 时间轴缩放 (可选属性 默认: 1.00)
					"scale": 1.00,

					// 时间轴偏移 (可选属性 默认: 0.00)
					"offset": 0.00,

					// 位移关键帧列表 (可选属性 默认: null)
					"translateFrame": [{

						// 帧长度 (可选属性 默认: 1)
						"duration": 1,

						// 缓动值 [0.00: 线性, null: 无缓动] (可选属性 默认: null)
						"tweenEasing": 0.00,

						// 贝塞尔曲线缓动参数列表 [x1, y1, x2, y2, ...] (可选属性 默认: null)
						"curve": [0.00, 0.00, 1.00, 1.00],
						
						// 水平位移 (可选属性 默认: 0.00)
						"x": 0.00,

						// 垂直位移 (可选属性 默认: 0.00)
						"y": 0.00,
					}],

					// 旋转关键帧列表 (可选属性 默认: null)
					"rotateFrame": [{

						// 帧长度 (可选属性 默认: 1)
						"duration": 1,

						// 缓动值 [0.00: 线性, null: 无缓动] (可选属性 默认: null)
						"tweenEasing": 0.00,

						// 贝塞尔曲线缓动参数列表 [x1, y1, x2, y2, ...] (可选属性 默认: null)
						"curve": [0.00, 0.00, 1.00, 1.00],

						// 旋转补间方式 [0: 最近角度旋转, 1: 顺时针旋转, -1: 逆时针旋转, +N: 至少顺时针旋转 N 圈, -N: 至少逆时针旋转 N 圈] (可选属性 默认: 0)
						"clockwise": 0,

						// 旋转 [-PI ~ PI] (可选属性 默认: 0.0000)
						"rotate": 0.0000,

						// 倾斜 (可选属性 默认: 0.0000)
						"skew": 0.0000
					}],

					// 缩放关键帧列表 (可选属性 默认: null)
					"scaleFrame": [{

						// 帧长度 (可选属性 默认: 1)
						"duration": 1,

						// 缓动值 [0.00: 线性, null: 无缓动] (可选属性 默认: null)
						"tweenEasing": 0.00,

						// 贝塞尔曲线缓动参数列表 [x1, y1, x2, y2, ...] (可选属性 默认: null)
						"curve": [0.00, 0.00, 1.00, 1.00],

						// 水平缩放 (可选属性 默认: 0.0000)
						"x": 1.0000,

						// 垂直缩放 (可选属性 默认: 1.0000)
						"y": 1.0000
					}]
				}],

				// 插槽时间轴列表
				"slot": [{

					// 时间轴名称 (与插槽名称对应)
					"name": "slotName",

					// 关键帧列表 (可选属性 默认: null)
					"displayFrame": [{

						// 帧长度 (可选属性 默认: 1)
						"duration": 1,

						// 显示对象索引 (可选属性 默认: 0)
						"value": 0,

						// 行为列表 (可选属性 默认: null)
						"actions": [
							{
								// 此骨架播放指定动画
								"gotoAndPlay": "animationName"
							}
						]
					}],
					
					// 关键帧列表 (可选属性 默认: null)
					"colorFrame": [{

						// 帧长度 (可选属性 默认: 1)
						"duration": 1,

						// 缓动类型 [0: 由 tweenEasing 描述缓动类型,N: 其他扩展缓动属性] (可选属性 默认: 0)
						"tweenType": 0,

						// 补间缓动 [0.00: 线性, null: 无缓动] (可选属性 默认: null)
						"tweenEasing": 0.00,

						// 补间缓动贝塞尔曲线 [x1, y1, x2, y2, ...] (可选属性 默认: null)
						"curve": [0.00, 0.00, 1.00, 1.00],

						// 显示对象的颜色叠加 (可选属性 默认: null)
						"color": {
							"aM": 100, // 透明叠加 [0~100] (可选属性 默认: 100)
							"rM": 100, // 红色叠加 [0~100] (可选属性 默认: 100)
							"gM": 100, // 绿色叠加 [0~100] (可选属性 默认: 100)
							"bM": 100, // 蓝色叠加 [0~100] (可选属性 默认: 100)
							"aO": 0.00, // 透明偏移 [-255~255] (可选属性 默认: 0)
							"rO": 0.00, // 红色偏移 [-255~255] (可选属性 默认: 0)
							"gO": 0.00, // 绿色偏移 [-255~255] (可选属性 默认: 0)
							"bO": 0.00, // 蓝色偏移 [-255~255] (可选属性 默认: 0)
						}
					}]
				}],

				// 此动画包含的自由变形时间轴列表 (可选属性 默认: null)
				"ffd": [{

					// 时间轴名称 (与网格名称对应)
					"name": "timelineName",
					
					// 皮肤名称
					"skin": "skinName",

					// 插槽名称
					"slot": "slotName",

					// 关键帧列表 (可选属性 默认: null)
					"frame": [{

						// 帧长度 (可选属性 默认: 1)
						"duration": 1,

						// 缓动类型 [0: 由 tweenEasing 描述缓动类型,N: 其他扩展缓动属性] (可选属性 默认: 0)
						"tweenType": 0,

						// 补间缓动 [0.00: 线性, null: 无缓动] (可选属性 默认: null)
						"tweenEasing": 0.00,

						// 补间缓动贝塞尔曲线 [x1, y1, x2, y2, ...] (可选属性 默认: null)
						"curve": [0.00, 0.00, 1.00, 1.00],

						// 顶点坐标列表索引偏移 (可选属性 默认: 0)
						"offset": 0,

						// 顶点坐标相对位移列表 [x0, y0, x1, y1, ...] (可选属性 默认: null)
						"vertices": [0.01, 0.01]
					}]
				}]
			}]
		}]
	}
	f