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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步