test1:3.0之后就没有支持2D与3D交叉渲染的功能,后续有没有在考虑。
test2 与 test3 一起说:
- 问题1: 首先主屏幕画布默认设置了不透明。3D bilt 到画布时关闭了混合,结果的颜色透明度是不起效果的。2d流程绘制时是开启混合的,且默认图片是有预乘的 (1 ,1 - sourceAlpha) , 有透明(a = 0.1)的黑色(0 * 1)与背景(bg * (1 - 0.1))混合,出来的结果是更接近背景色的。
- 问题2,3 与 1类似,因为rt没有预乘,在2D中使用颜色计算会有些错误。例如:变亮是 rt 的颜色与底色混合后的值比预期的更大。
- 对这个不透明物体的修改方式修改方法有两个,一是改图,二是改材质的渲染模式,从不透明改为 自定义,混合方式为 seperate,透明部分都改成 1,颜色按需求设置 。对2d部分修改,给这个绘制rt的sprite增加一个自定义材质,颜色乘一次透明,混合模式不变,或者增加个后处理给rt做一次预乘,再或者修改2d的混合模式,把2d混合时颜色部分的混合变成 sAlpha 1-sAlpha。