Unity的渲染机制

从上到下分别是:Camera层—->sorting layer层—–>sorting order层

Camera层:在depth里面设置 ,先渲染depth低的相机下的物体,depth高的相机会覆盖depth低的

Soring layer层:排位靠后的layer覆盖靠前的

点击添加就可以看到所有的layer层,拖拽排序(同一个Camere下)

有的直接在“Editor”中设置(例如图片精灵),有的需要代码控制(例如粒子的系统,Particle.Renderer.Sorting Layer)

Sorting order层: 同一个Soring layer层下,值越高,越靠后

  1. gameobject 的layer 和renderer 的layer的区别
    gameobject 的layer是逻辑上的分层,用于Camera上的culling mask等
    renderer 的layer 是渲染,只有继承renderer或者renderer作为filed的component才需要设置sorting layer
  2. UGUI下控制渲染顺序
    (1)canvas之内用Canvas的SortOrder属性(不同的Canvas)
    (2)用控件的SinlingIndex属性(相同的Canvas)
    transform.SetSiblingIndex(index)—->Index值越高,层次越靠后

你可能感兴趣的:(unity3d,c#)