问题
- 我的屏幕中心有一个Sprite
- Sprite是处于世界坐标系,有时它会被遮挡。
原因
有时,Sprite与场景中的其它物体太过靠近,以至于发生碰撞,并会被遮挡。
解决方案
您可以在场景中的其他一切物体前面渲染Sprite,有几种不同的方式。
- 首先,使用两个摄像头:一个用于UI,另一个用于“常规”场景。
- 此外,您可以使用ZTest为“always”(SL-CullAndDepth)的着色器。下载unity shader source并将ZTest语句添加到sprite着色器。
- 另一种选择是:您可将UI放在设置为screen space - camera的画布(Canvas)上,然后将排序图层(sorting layer)设置为UI。
- 最后,覆盖材质上的render queue。 Overlay的值为4000。
更多信息