http://blog.csdn.net/kingsea168/article/details/50252733

之前一直用NGUI开发界面,但看到现在的unity的新版本的UGUI也不错,这几天专门学习了一下,用过NGUI的人都知道NGUI的渲染顺序或者层级关系是Deapth(深度)决定,而UGUI的界面是用Canvas(画布)进行布局的,它的渲染顺序有所不同,下面我进行了总结:

Unity UGUI

1.Unity3d中的渲染顺序如下:

  不同的Camera的Depth

  相同Camera下的不同SortingLayer

  相同SortingLayer下的不同Z轴/Order in Layer

2.改变控件之间的层级关系

 (1)同一canvas下:

     改变控件transform的SiblingIndex,

     transform.GetSiblingIndex();

     transform.SetSiblingIndex(int index); //index值越大,越后渲染,层级越大,越显示在前面

 (2)不同Canvas下:

    设置Canvas下的Sort Order //Sort Order值越大,越后渲染,层级越大,越显示在前面

最后附上我验证这一结论的demo:

http://download.csdn.net/detail/kingsea168/9344795

05-22 17:04