渲染优先级
渲染优先级有不同层次的控制
1.不同摄像机之间,通过Depth 来控制渲染顺序,这个优先级最高。
2.相同Depth情况下,通过修改SotingLayer来确定渲染顺序
3.相同SotingLayer下,通过sortingOrder(特效中叫做 Order in layer) 来控制。
Camera.Depth-> Canvas.SotingLayer->Canvas.OrderInLayer
UGUI 的Canvas 的render mode (渲染模式)的选择
渲染模式分为三种
1.Screen Space - Overlay 覆盖模式
此模式 不需要摄像机。Canvas自适应屏幕大小,不经过投影空间,直接在屏幕上绘制
这种适合做纯2D游戏。 缺点是对特效不友好,因为界面永远显示在屏幕最前方
会在任何情况下都会遮挡住特效。
2.ScreenSpace - Camera 屏幕坐标,相机模式
Canvas自适应屏幕大小,UI由相机负责渲染,这种非2D游戏都运用。
由于是相机负责渲染,所以,特效可以被显示出来。可以用UI相机显示,
也可以又专门的特效相机或者主相机渲染。不同相机之间,通过Depth来
控制渲染优先级,相同相机或者Depth之间,通过SortingOrder来控制
渲染优先级。
3.WorldSpace 世界坐标,相机模式
Canvas不会自适应屏幕大小,UI相当于是平面物体,UI的大小和位置是
通过UI和相机之间的距离 和位置来决定的。 适合制作角色头顶的血条等
UI.