【Bug】图片预乘后无法和位图文本合并渲染(cc.Label作为渲染组件无法选择混合模式导致)

如下图所示的关卡按钮,由于按钮图片进行了预乘,并且blendMode选择了ONE,为了将位图文本的“1”进行合并渲染,必须要将label的blendMode也设置为ONE(否则drawcall太大),但至今我无法找到label设为ONE的渲染方法,label本身也是一个渲染组件,为什么不能选择混合模式呢?希望官方能够增加相应的功能

试试用 label 的 cache-mode 来进行合批:
https://docs.cocos.com/creator/manual/zh/components/label.html#文本缓存类型(cache-mode)

这是位图文本……本来就是bitmap 不能合批的原因是文本的渲染模式是SRC_ALPHA 而按钮是ONE 我实测把按钮改成SRC_ALPHA就能顺利合批 但是这样以来整个图集就无法使用预乘模式了

明白你的问题了,我们会讨论一个方案。

我已经解决了,事实证明手写shader能解决一切这类问题,就是拖shader比较累人……怎么把cc.label或cc.sprite的默认shader改成不是buildin-2d-sprite?