原文地址: http://blog.csdn.net/yanchezuo/article/details/12751917
原文地址:https://amazer.github.io/2018/04/02/Unity3d%E8%8A%B1%E5%B1%8F%E5%A4%84%E7%90%86/

问题:在切换场景的时候,切换的一瞬间会出现花屏的现象。其实不仅仅是在切换场景的时候,在切换相机的时候也有可能出现花屏的现象。
问题原因:由于游戏渲染底层都是由OpenGL来绘制的。在Unity3d中Camera的作用其实就是OpenGL的作用,来绘制各种各样的图形。
所以,与Camera渲染问题相关的都应该是OpenGL的问题。
之所以出现花屏,是因为在切换相机的时候,相机清除颜色缓存的时候,没有提前赋给它一个确定的颜色值,导致相机颜色清除之后出现了一个随机or错误or动态的值。
总之,就是没有正确的清除相机的颜色缓存。
问题解决方法:
Unity3d中用camera.clearFlags,或者其他方式来清楚缓存 可能没有解决或者不太可靠。
所以,直接调用OpenGL的清除显示缓存的方法,强制清除颜色。
在Unity3d中,可以直接只用OpenGL,调用GL.
在切换相机前调用GL.Clear(false,true,Color.black);把openGL view颜色清空。
(具体 GL.Clear()的参数意思参照Unity3d的文档)

问题解决!!鼓掌!!!!

p.s.之前搜过相关问题的解答,有位朋友说是模型加载过多的缘故,解决方法是控制了一下模型同时加载的数量。
这个方法我到时没有试。
因为花屏出现的情况跟我打包的apk也有关系。同样的代码,打两个包,有的有花屏,有的就没有。

各位看客如有其它方法,敬请告知!!

新加终极解决方案:http://blog.csdn.net/yanchezuo/article/details/77337755
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐