Unity游戏在手机上运行时的花屏现象

问题

这是一个UI界面,使用NGUI构建,在Unity编辑器里运行没任何问题,但发布后在手机端(Android,iOS未测试)运行出现花屏现象,见图。

花屏

且不同的手机的状况不一样,在我的小米4C中测试直接就是这种情况,而在其他手机中测试,初始并非这种情况,但当锁屏再解锁后也会出现同样的状况。

解决办法

找了一天的原因才发现,UIRoot下Camera的ClearFlags属性被我设置成了Don't Clear。

Unity游戏在手机上运行时的花屏现象_第1张图片
修改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。

设置好后即可正确显示。

Unity游戏在手机上运行时的花屏现象_第2张图片
正确显示的效果

你可能感兴趣的:(Unity游戏在手机上运行时的花屏现象)