0%

Unity渲染层级

  • Camera Depth
  • Sorting Layer
  • Order in Layer(粒子)|Sorting Layer
  • UI自然层级 | 2d或者3d 中z值

其实还有一个Camera Clear Flags。

SortingLayer差值2000.

渲染优先级

渲染优先级有不同层次的控制

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和相机之间的距离 和位置来决定的。 适合制作角色头顶的血条等

Unity Camera 相机 多个相机同时协作

每个相机都会渲染自己所渲染的层,对不渲染的层进行剔除。并具有颜色缓冲和Z缓冲。通过对每个相机不同的设置,可以达到意想不到的效果。如分屏效果,重点突出等。

Cuiling Mask:渲染层

clear flag : 缓冲区

  • 返回天空盒缓冲区并清除

  • 固定颜色

  • 只清楚深度缓冲区

  • 不清除