本专栏主要解决一些移动平台上unity shader效果异常的问题。很多情况下我们发现unity中的shader在PC平台效果正常,但是在移动平台上效果不对,或者部分机型效果不对的问题,尤其是低档老年机,作为一款上线游戏难免要支持高中低档大部分机型,但是部分机型(如华为)在渲染方面难免会出现很多奇怪的问题。
最近在测试低档机(如小米4)的游戏性能的时候,切换场景发现会花屏一会,但在编辑器运行或高端机并没这个问题,如下图:
解决方案:
起初是所有机型都会花屏,原因是我们的UI相机是最后渲染的,然而clear Flags设置的是Dont clear,然后在切换场景时,没有清除颜色缓存导致花屏。
相机Camera存储了颜色和深度信息,Clear Flags用于设置相机内没有出现物体的位置的颜色,使用Don't Clear一般要自己写shader,如果不想让空白部分渲染任何颜色,一般使用Depth only(当有多个Camera时很常用)。
但是问题还没有完全解决,在小米4这种低端机上还是会花屏,我们的场景切换是在切换时加载一个空的场景用于卸载旧场景,加载新场景,但是这个场景里什么都没有,于是我加了一个相机,clearFlag设置为设置为SolidColor,填黑色,花屏问题就解决了。
解决方案: