Unity UGUI层级

Author :JerryYang
Create by 2020.03.24

影响UI层级的因素很多,这里我们一起研究一下:

1. 节点树中的顺序
节点树中的顺序

这一点相信大家都很清楚,在同一节点下,其他设置一致的情况时,越后创建的对象层级越高,如上图:Image2的层级比Image1高。这种情况下我们想要动态控制层级的时候可以通过以下API控制:

SetAsFirstSibling  //设置到最底层
SetAsLastSibling  //设置到最顶层
SetSiblingIndex //设置到指定层
2. Sorting Layers
Sorting Layers

越后面的越上层

Image2 在节点树上层,但是他的Sorting Layer为Bottom,所以的层级在Image1的下面。

3. Sort Order
Sort Order

我不动节点树中的顺序,分别给 Image1 和 Image2 挂上Canvas组件,然后把 Image1 上的Sort Order设置为1,Image1 上的 Sort Order设置为0,此时 Image1 的层级位于 Image2 之上。

4. Plane Ditance

Canvas距离相机的距离也会影响层级关系,如图:


离相机的距离

距离越远,层级越靠后

上图Canvas的Plane Ditance 为0,Canvas (1)的Plane Ditance为10,因此Canvas在上层。

  1. 如果Sort Order不同,优先Sort Order;
  2. Plane Ditance的值如果和相机近裁剪(Near)面的值一样会导致Scrollview划不动。
5. Z轴

在UGUI中,Z轴不会影响他的渲染顺序。


影响的优先级
Sorting Layers > Sort Order > Plane Ditance > 节点树中的顺序

你可能感兴趣的:(Unity UGUI层级)