问题
这是一个UI界面,使用NGUI构建,在Unity编辑器里运行没任何问题,但发布后在手机端(Android,iOS未测试)运行出现花屏现象,见图。
花屏且不同的手机的状况不一样,在我的小米4C中测试直接就是这种情况,而在其他手机中测试,初始并非这种情况,但当锁屏再解锁后也会出现同样的状况。
解决办法
找了一天的原因才发现,UIRoot下Camera的ClearFlags属性被我设置成了Don't Clear。
修改Camera属性查看官方文档:
Clear Flags----Determines which parts of the screen will be cleared. This is handy when using multiple Cameras to draw different game elements.
Don't Clear----This mode does not clear either the color or the depth buffer. The result is that each frame is drawn over the next, resulting in a smear-looking effect. This isn't typically used in games, and would likely be best used with a custom shader.
相机Camera存储了颜色和深度信息,Clear Flags用于设置相机内没有出现物体的位置的颜色,使用Don't Clear一般要自己写shader,如果不想让空白部分渲染任何颜色,一般使用Depth only(当有多个Camera时很常用),NGUI的Camera默认也是Depth only。
设置好后即可正确显示。
正确显示的效果
网友评论