左图是直接贴在quad上边的,显示正常.
有图是canvas通过RenderTexture,渲染到quad上边的.显示异常.
可以看到有明显的不对
经过测试,是canvas的clearColor
大佬们帮我看下吧!
左图是直接贴在quad上边的,显示正常.
有图是canvas通过RenderTexture,渲染到quad上边的.显示异常.
可以看到有明显的不对
经过测试,是canvas的clearColor
大佬们帮我看下吧!
跟混合有关系
对,但我不知道咋改,帮我看看
我个人觉得是图片拉伸后又处理了的问题。你的原图真的很小
那怎么解释左边的没问题呢?同样的拉伸啊
如果是把label或者sprite这些组件里的texture直接渲染到quad上是没有问题的,但是canvas通过RenderTexture就会出现你这个问题了。
原因差不多就是clearColor颜色也会参与混合计算,直接怎么解决还没办法。如果底图是能刚好覆盖canvas的话,其实直接把底图设置成one+zero是可以达到想要的效果的。
Sa*(Sr,Sg,Sb,Sa)+(1-Sa)*(Dr,Dg,Db,Da) 默认融合这样计算,D就是clearcolor颜色,clearColor不是(0,0,0,0),肯定会和图片透明度非0和1的部分融合啊
我也发现这种方法了,不过我想寻求的是能通过改变canvas的设置,或者说更改一些源码,能达到想要的效果.
因为我的最终目标是,渲染spine动画到quad上面
3.0正式版2d和3d的混用应该还有很大变化,所以现在做这些东西意义可能不大,其实就是spine在混合3d场景之前先混合了clearColor才会有这个问题,所以其实如果直接在3d场景能渲染spine直接就没问题了。
老兄说的对,不过不知道3.0正式版是否能直接支持spine在3场景应用,目前项目需要使用,所以先研究研究,能找到方法肯定是做好的