-
Creator 版本:
-
目标平台:
-
详细报错信息,包含调用堆栈:
-
重现方式:
-
之前哪个版本是正常的 :
-
手机型号 :
-
手机浏览器 :
-
编辑器操作系统 :
-
编辑器之前是否有其它报错 :
-
出现概率:
-
额外线索:
Creator 版本:
目标平台:
详细报错信息,包含调用堆栈:
重现方式:
之前哪个版本是正常的 :
手机型号 :
手机浏览器 :
编辑器操作系统 :
编辑器之前是否有其它报错 :
出现概率:
额外线索:
我看你发的demo里面皮肤替换也是基于同一个图集,如果一个模型内需要两个图集内的资源呢?这个怎么实现,我看creator里面Dragon atlas asset只能设置一个图集,怎么同时加载多个呢,或者一个模型身上的皮肤怎么使用碎图?谢谢解惑
你看源码,整个骨骼都是用的同一个texture,不支持多个图集,除非改源码, 或者用display而不是子骨骼来替代。
`drawArmature (ctx, armature, texture, matrix) {
let slots = armature._slots;
for (let i = 0, l = slots.length; i < l; i++) {
let slot = slots[i];
if (!slot._visible || !slot._displayData) continue;
if (slot.childArmature) {
math.mat4.mul(_matrix, matrix, slot._matrix);
this.drawArmature(ctx, slot.childArmature, texture, _matrix);
continue;
}
let localVertices = slot._localVertices;
if (localVertices.length !== 4) {
continue;
}
ctx.save();
math.mat4.mul(_matrix2, matrix, slot._matrix);
let m = _matrix2;
ctx.transform(m.m00, -m.m01, -m.m04, m.m05, m.m12, -m.m13);
let vertices = slot._vertices;
let sx = vertices[0].u * texture.width;
let sy = vertices[3].v * texture.height;
let sw = vertices[3].u * texture.width - sx;
let sh = vertices[0].v * texture.height - sy;
let x = localVertices[0].x;
let y = localVertices[0].y;
let w = localVertices[3].x - x;
let h = localVertices[3].y - y;
y = -y-h;
_color._val = slot._color;
let image = utils.getFrameCache(texture, _color, sx, sy, sw, sh);
ctx.drawImage(image, x, y, w, h);
ctx.restore();
}
}`
我们的龙骨现在有5个文件的情况,也是不知道怎么加载,请问你这个问题搞定了么?
这个问题官方已经修复了,可以去github上看