我们游戏是一个2D游戏,一开始摄像机的clear flags没有设置,使用的默认的天空盒
之后有非全屏的界面(如漫画,不能做拉伸),露出了天空盒,将clear flags改为了soild color。
在性能分析的时候发现clear color耗时有点高,故决定将cf改成dont clear,并添加一个黑色的底图作为背景以解决非全屏界面的问题。
后来又发现有部分界面动画做的不仔细,在播放时会改变Z坐标,导致深度缓存发生变化,由于dont clear连深度缓存也不清了,使得界面出现异常(我们spine的z坐标设置为了非0,在UI界面之后)【z越大越显示在前面,动画过程中改变z的话,会导致之后的物体不显示】,spine不显示了。将cf改成depth only后正常。
其实完全可以使用dont clear,需要检查下界面的设置,UI、spine的Z坐标都得保证是0,游戏过程中不改变深度值。使用canvas 和 sorting group保证显示顺序。