unity 3d ui渲染层次

使用world spcace canvas,直接将下边image的材质替换成一个overlay的材质并不能够覆盖在所有物体之上 还需要修改canvas本身的 SortingLayer

另外如果透明材质 虽然有transparent的设置 但是没有设置blend的方式的化 还是没有透明效果

参考如下

转自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值越大,越后渲染,层级越大,越显示在前面

 

猜你喜欢

转载自blog.csdn.net/fdbvm/article/details/80924603