windows平台spine drawcall合并

打包成windows平台,修改节点的SiblingIndex回打断spine的drawcall合并
有大佬知道原因吗

因为 Cocos Creator 在渲染时会根据节点在父节点中的顺序进行批处理和合并渲染。

解决方式:

  1. 动静分离。动态节点分离单独一个层级。

所有要显示的spine,就是都是在同一个节点下,因为有遮挡关系,所以需要根据y实时更新siblingIndex,但是更新了siblingIndex在windows平台下合并会打断,web上不会打断正常合并,windows平台下定位到合并的时候这个条件判断打断合并drawInfo->getIndexOffset() == _currDrawInfo->getIndexOffset() + _currDrawInfo->getIbCount()

大佬知道drawInfo->getIndexOffset() == _currDrawInfo->getIndexOffset() + _currDrawInfo->getIbCount()这个条件是来干啥的吗,Batcher2d.cpp第279行

mark,没研究过,暂不知道怎么解决

怎么@官方的大佬来指导下

除了siblingIndex,大佬知道还有什么方法能处理2d遮挡关系吗

这个问题出现再原生平台,我在安卓和苹果上测试依旧出现。我使用3.8.5编译,使用例子中的方法还可以合批, 3.8.6直接不能合批了,原因时因为创建顶点的顺序和节点的顺序不一致导致的。
这里有例子,希望官方能够纠正。
test.zip (209.7 KB)