起因:
今天制作UI进度条效果和角色头像跟随单位移动的功能,给image组件上加了自己写的shader的材质球。这个游戏做了两种场景,一个是3D的一个是2D的场景,之后在2D场景的运行中没有任何问题,但是来到3D的场景之后发现,角色在移动的时候,头上的头像image会在某些位置没隐藏掉,没有添加材质球的image图片没有这个现象,而我自己改过的材质球的image就会有这个现象(并且这个现象只出现在工程运行的时候,没运行的时候也没有出现这个问题)。
并且我移动我的头像到我进度条UI上的时候,我的进度条居然被擦掉了一块,并且也不会恢复,在Scene窗口当中显示是正常的,但是在Game窗口中却完全被擦掉了。
解决方法
经过排查,最后解决办法是把Camera组件里的MSAA功能关闭,显示就正常了。
具体原理我还不太清楚知道,为什么开启抗锯齿的功能就会把我的图片隐藏起来呢?如果后面有机会去了解一下unity相机的抗锯齿的实现原理的话再来补充一下。