Bootstrap

游戏开发Unity UGUI知识系列:canvas渲染顺序

Screen Space–Overlay

        屏幕空间正交模式

        此模式下,对应的UI一定会绘制到屏幕上,不管有无摄像机或者摄像机剔除其所在layer。(摄像机的参数不影响此模式)

        此canvas下的元素一定绘制在屏幕的最上面(相比Screen Space-camera和WorldSpace)

        都是这种模式下的Canvas排序按canvas组件的sort order排序,数值越大,越在上层

        如果屏幕调整了大小或者改变了分辨率,此canvas会自动调整大小

        在此模式下的UI元素的z轴和Y的rotation修改不影响合批

 

Screen Space-Camera

        在此渲染的画面位于Screen Space–Overlay渲染之下

        在此模式下,canvas会放置在据camera给定距离位置上

        这些UI元素(无论是画布元素还是画布下的元素)会被camera的参数影响

        如果不在camera culling mask的layer上,会被剔除

        同时也canvas有了真正的Z轴,如果Z轴不在摄像机的裁剪空间内,则无法显示

        同材质的资源进行显示时,Rotation和z轴不影响合批效果;不同材质时,将时前后合批中断

        在此模式下,canvas没有sort order,只有sorting layer和order in layer

 

        渲染排序:

                摄像机的绑定GameObject的z值不影响渲染

                摄像机(culling Mask相同)的Depth(这个词就理解层级)越大,越显示在上层

                相同Depth情况下,canvas所在的sorting layer不同,层级越下,越显示在上层

                sorting layer相同,order in layer不同,值越大,越显示在上层

 

                当两个canvas设置完全一样,其下的z也一样,两个canvas的渲染顺序会变得很奇怪。尽量不要出现这种状况。

                出现时,根据canvas z轴的值,z越大,越显示在下层

 

Screen WorldSpace

        在此渲染的画面位于Screen Space–Camera渲染之下

        里面的UI元素按照3d空间的表现来渲染

        主要可以实现3d UI效果

;