Unity渲染层级

Unity的渲染层级有三种:Camera、Sorting layer、Order in layer
在这里插入图片描述
一般创建新场景的摄像机都是为Camera层,而且初始的depth为-1,在同一个摄像机下,也就是在Camera下,层级的优先级就需要根据Sorting layer来进行渲染。
在这里插入图片描述
就如上图,一般初创的Object的Sorting layer都是Default数值,这里的layer是自己定义的,这也就是说在Sorting layer里面可以定义自己的层级,而且这个定义的层级默认是比Default层级高的。如果不同的物体(Object)都是在相同的Sorting layer下的话,假设就像图片里面的一样,在相同的layer下面,那么这个时候就要根据Order in Layer上面进行比较了,Order in Layer的数值越大,那么层级就越高,优先级就越高。
除此之外,还有一种叫做Overlay,这个代表的意思是超过所有层,永远放在层级最高的地方(也就是放在最上层)
在这里插入图片描述
除去讲渲染层级之外,还要补充说明一下渲染层级和layer的不同,看下面的图片:
在这里插入图片描述
这是摄像机的Culling Mask属性,再看下图:
在这里插入图片描述
会发现这里的layer显示的东西和上面Camera的Culling Mask属性显示的东西大多是一样的,那么这里的layer表示的是什么,这里表示的不是渲染层级,而是Unity中摄像机可以显示的层,可以理解为一种标记,如果自身所带的标记在摄像机中没有打钩,那么你这个Object在工作的界面是可以看到的,但是在显示界面是看不到的,就像下面这张图所显示的那样:
在这里插入图片描述 我先是自己新建的一个layer,这里是指Culling Mask属性中的layer数值,然后在Camera中将我自行定义的layer的√划掉,然后就会产生如上图这样的结果,所以要特别注意layer和渲染层级的不同。