- Creator 版本: 3.6.3
在updateAllDirtyRenderers中assert(dirtyRenderers[i]._internalId !== -1);这个断言抛出的异常
在逻辑上updateAllDirtyRenderers内时不允许修改dirtyRenderers这个数组的。
查看堆栈,是下面的bone判定为空触发removeFromParent造成的,来自文件attach-util
for (const boneIdx of socketNodes.keys()) {
const boneNode = socketNodes.get(boneIdx);
// Node has been destroy
if (!boneNode || !boneNode.isValid) {
socketNodes.delete(boneIdx);
continue;
}
const bone = boneInfos[boneIdx];
// Bone has been destroy
if (!bone) {
boneNode.removeFromParent();
boneNode.destroy();
socketNodes.delete(boneIdx);
continue;
}
matrixHandle(boneNode, bone);
}
这个段代码会在updateAllDirtyRenderers遍历过程中执行,有人知道怎么处理这个问题吗,或是是我用错了什么东西吗