UGUI渲染顺序

Canvas的渲染模式

  • Overlay放在所有UI的最前面
  • Camera放在Camera正前方
  • World和所有三维物体一样

顺序

不同的Camera的Depth,值越大越后渲染
相同Camera下的不同SortingLayer
相同SortingLayer下的不同Z轴/Order in Layer

Camera模式下渲染顺序:基于同Layer同OrderInLayer,因为渲染顺序优先级是:camera的depth>Layer>OrderInLayer>Z轴,注意UI的渲染顺序最后是OrderInLayer>transform的层级

改变控件之间的层级关系

  • 同一canvas下:
    改变控件transform的SiblingIndex,
    transform.GetSiblingIndex();
    transform.SetSiblingIndex(int index); //index值越大,越后渲染,层级越大,越显示在前面
  • 不同Canvas下:
    设置Canvas下的Sort Order //Sort Order值越大,越后渲染,层级越大,越显示在前面
    渲染顺序与hierarchy面板里物体的摆放顺序也有关 ,面板里越靠上的物体越先被渲染,越后被渲染的显示在越前面。

参考

https://blog.csdn.net/hbysywl/article/details/80770706
https://blog.csdn.net/a1191835397/article/details/96474984
https://blog.csdn.net/HarvestHarvest/article/details/108081392
https://www.jianshu.com/p/660a513e7d41

原文地址:https://www.cnblogs.com/code-fun/p/15421819.html