打包成windows平台,修改节点的SiblingIndex回打断spine的drawcall合并
有大佬知道原因吗
因为 Cocos Creator 在渲染时会根据节点在父节点中的顺序进行批处理和合并渲染。
解决方式:
- 动静分离。动态节点分离单独一个层级。
所有要显示的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)