forked from 06wj/DragonBonesJS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dataSpec.json
148 lines (136 loc) · 8.39 KB
/
dataSpec.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
{
"name": "dataName", // DB数据名称
"version": "4.0", // DB版本号
"frameRate": 24, // DB动画帧频
"isGlobal": 0, //【可选属性】是否使用绝对数据,默认1(使用绝对数据)
"armature": [{
"name": "armatureName", // 骨架名称,一个数据文件可以有多个骨架
"userData": null, //【可选属性】自定义数据区,可以是任何类型,默认是空
"bone": [{ // 骨架中拥有的所有骨骼列表
"name": "boneName", // 骨骼名称
"parent": "parentBoneName", // 父骨骼名称
"userData": null, //【可选属性】自定义数据区,可以是任何类型,默认是空
"length": 0, //【可选属性】骨骼长度,默认0
"transform": { // 骨骼的属性参数(属性可选)
x: 0, // x:X轴坐标偏移, y: Y轴坐标偏移,默认0
y: 0,
scX: 1, // scX:X轴缩放值,scY:Y轴缩放值,默认1
scY: 1,
skX: 0, // skX:X轴旋转值,skY:Y轴旋转值, 默认0
skY: 0
}
}],
"slot": [{ // 骨架中拥有的插槽列表
"name": "slotName", // 插槽名称
"parent": "parentBoneName", // 插槽绑定的骨骼
"z": 1, // 插槽的显示层级,数值越大,层级越靠上。
"userData": null, //【可选属性】自定义数据区,可以是任何类型,默认是空
"displayIndex": 0, //【可选属性】插槽中的默认图片在插槽包含的图片列表中的索引。默认是0。
"blendMode": null, //【可选属性】混合模式。默认值是空。
//【可选属性】颜色叠加。所有属性均为可选属性,默认值如下:aO,rO,gO,bO默认值为0; aM,rM,gM,bM 默认值为100。
// 如果所有子属性都为默认,则color属性可以不写。
"color": {
aM: 100,
rM: 100,
gM: 100,
bM: 100,
aO: 0,
rO: 0,
gO: 0,
bO: 0
}
}],
"skin": [{ // 骨架中拥有的皮肤列表
"name": "skinName", // 皮肤名称,默认皮肤name为"",包含所有其他皮肤公用的插槽
"slot": [{ // 皮肤中包含的插槽列表
"name": "slotName", // 插槽名称
"display": [{ // 插槽中拥有的显示对象列表
"name": "displayName", // 显示对象对应的显示对象名称,包含二级目录相对路径
"type": "image", // 显示对象类型,可为图片(image),子骨架(armature),可以根据不同引擎自由扩充。
"transform": { // 骨骼的属性参数(属性可选)
x: 0, // x:X轴坐标偏移, y: Y轴坐标偏移,默认0
y: 0,
scX: 1, // scX:X轴缩放值,scY:Y轴缩放值,默认1
scY: 1,
skX: 0, // skX:X轴旋转值,skY:Y轴旋转值, 默认0
skY: 0
}
}]
}]
}],
"animation": [{ // 骨架中拥有的动画列表
"name": "animationName", // 动画名称
"duration": 0, // 动画总帧数
"fadeInTime": 0, //【可选属性】淡入时间,默认为0
"scale": 1, //【可选属性】动画时间轴的缩放,默认为1,数值越大,播放时间越长,目前DB Pro暂未实现
"playTimes": 1, //【可选属性】播放次数,默认为1,0是无限循环
"frame": [{ // 动画中包含的关键帧列表
"duration": 1, //【可选属性】关键帧持续帧数,默认1
"event": null, //【可选属性】关键帧包含事件名,默认为空
"sound": null, //【可选属性】关键帧包含声音名,默认为空
"action": null, //【可选属性】跳转动作名,默认为空
}],
"bone": [{ // 动画中包含的骨骼列表(骨骼时间轴列表)
"name": "boneName", // 骨骼名称
"scale": 1, //【可选属性】骨骼时间轴缩放值,默认是1(不缩放)
"offset": 0, //【可选属性】骨骼时间轴延时[0, 1],默认值为0
// 比如一个循环跑步动作有 4 秒,其中对腿的动作设置此值为 0.25,那么腿的循环比其他骨骼动作提前1秒。
"pX": 0, //【可选属性】默认值为0 代表动画的中该骨骼轴点的初始值。
// 这个属性只有用相对Parent的数据才有意义,如果用相对Global的数据,这个值会在数据解析时被覆盖。
"pY": 0, //【可选属性】默认值为0 代表动画的中该骨骼轴点的初始值。
// 这个属性只有用相对Parent的数据才有意义,如果用相对Global的数据,这个值会在数据解析时被覆盖。
"frame": [{ // 骨骼时间轴包含的关键帧列表
"duration": 1, //【可选属性】关键帧持续帧数,默认1
"tweenEasing": 0, //【可选属性】是否缓动,默认为NaN,不缓动,0:线性缓动。
"tweenRotate": 0, //【可选属性】顺时针或逆时针旋转几周,从补间动画中读取,必须为整数,默认值为0。
"event": null, //【可选属性】关键帧包含事件名,默认为空
"sound": null, //【可选属性】关键帧包含声音名,默认为空
"transform": { // 骨骼的属性参数(属性可选)
x: 0, // x:X轴坐标偏移, y: Y轴坐标偏移,默认0
y: 0,
scX: 1, // scX:X轴缩放值,scY:Y轴缩放值,默认1
scY: 1,
skX: 0, // skX:X轴旋转值,skY:Y轴旋转值, 默认0
skY: 0
},
"curve": [ //【可选属性】曲线数据,默认为空。如果不为空,代表使用贝塞尔曲线表示动画补间的缓动效果
x1,
y1,
x2,
y2,
]
}]
}],
"slot": [{ // 动画中拥有的插槽列表(插槽时间轴列表)
"name": "slotName", // 插槽的名称
"scale": 1, //【可选属性】插槽的缩放值,默认是1
"offset": 0, //【可选属性】动作的延时[0, 1],默认值为0 // 比如一个循环跑步动作有 4 秒,其中对腿的动作设置此值为 0.25,那么腿的循环比其他骨骼动作提前1秒。
"frame": [{ // 插槽中的关键帧列表
"duration": 1, //【可选属性】关键帧持续帧数,默认1
"displayIndex": 0, //【可选属性】此帧中显示图片的索引,默认是0, -1不显示, 对应是skin里的slot中的图片列表索引
"zOrder": 0, //【可选属性】插槽所在的层级,默认是0
"tweenEasing": 0, //【可选属性】是否缓动,默认为NaN,不缓动,0:线性缓动。
"action": null, //【可选属性】此帧执行的动作,默认是空
//【可选属性】颜色叠加。所有属性均为可选属性,默认值如下:aO,rO,gO,bO默认值为0; aM,rM,gM,bM 默认值为100。
// 如果所有子属性都为默认,则color属性可以不写。
"color": {
aM: 100,
rM: 100,
gM: 100,
bM: 100,
aO: 0,
rO: 0,
gO: 0,
bO: 0
},
"curve": [ //【可选属性】曲线数据,默认为空。如果不为空,代表使用贝塞尔曲线表示动画补间的缓动效果
x1,
y1,
x2,
y2,
]
}]
}]
}]
}]
}