【分享】3.6.x:2D粒子效果“曝光”或混合模式不生效的问题解决

版本:3.6.x

说明:“曝光”实际上是默认的叠加高亮效果。问题还是在编辑器中设置混合模式不生效。

在3.6.x版本中,粒子默认的混合因子是:目标因子ONE 和源因子SRC_ALPHA。导致目标因子会以100%的强度进行混合。如果用于不透明物体的叠加,会导致过亮的效果。且这种默认效果不会因为编辑器中的自定义设置(改变自定义材质的混合模式)而发生改变,尽管在编辑器中可视化设置达到了想要的混合效果,预览运行时还是默认的混合模式。

解决方案1:

引擎bug分支修改

虽然可以实现想要的效果,但修改particle2d的分支会遇到一个问题,如果是自定义的引擎,编译后可能会出现莫名其妙的问题(例如构建出错)。

解决方案2:

在文件中修改粒子配置:

image
把内置的配置文件拷贝一份,修改配置文件中的混合模式:
image

把默认的高亮模式修改为想要的模式。
这个效果可以先在编辑器中调试(因为混合模式修改的效果在编辑器中是可以看到的),调试后再修改配置文件中的混合模式。

关于混合模式的选择可参考:
image

解决方案3:
升级版本到3.7.x或3.8.x,3.7.x没怎么用过。升级到3.8.x会遇到另外的bug:例如spine动画监听无效等。spine动画的监听bug在3.8.2中修复了。