ccc2.1.x黑边问题解决方案

  1. 自动图集打包方案:区分需要处理黑边资源和不需要处理黑边的美术资源,例如需要处理黑边的图片放在less1_q1_tex_pm文件夹下,不需要的放在less_q1_text文件加里面。在这两个文件夹内可以分别使用自动图集打包。

  2. 需要去黑边的图片资源需要设置预乘:选中Premultiply Alpha

    如果你对图片设置了预乘,则在使用到sprite上的时候需要设置混合模式:src Blend Factor:ONE

  3. 因为cocos在打包的时候不会给图片自动设置预乘,所以需要在代码里面自动设置。随便找一个使用到黑边资源文件夹中的图片的精灵,然后设置它的预乘:xxx.getComponent(cc.Sprite).spriteFrame.getTexture().setPremultiplyAlpha(true); 因为打包后的图片是在一张texture上的,所以只需要设置一个就可以了。

  4. 如果使用tp打包直接可以选择勾选预乘。这样就不需要在代码再设置预乘了。

  5. 设置预乘的图片,在设置opacity属性的时候会有问题。这个需要等引擎升级。

1赞

关注~~

预乘就是预乘的图片本身的alpha通道到RGB,引擎里面设置了ONE之后,节点透明度的调整在做混合的时候就不会去做处理了,只会影响RGB值。

那除了设置预乘的方式还有其他方法能去除黑边吗,去黑边和设置透明度有时都需要啊

https://forum.cocos.com/t/cocos-creator/81924/2
2.1.3会修复这个问题吗 ?

顶一个,黑边问题终极解决方案!

自动图集打包之后,设置预乘没用啊…