1. "Canvas" 组件的作用:
UGUI 控件挂在Canvas下,排序就与 Canvas 的 Sorting Layer 和 Order In Layer 的设置相关. 如果 控件挂在Canvas下,又不想关联这个Canvas 的 Sorting Layer 和 Order In Layer,那么可以单独对这个控件 添加 "Canvas" component 来overwrite 这个控件的 Sorting Layer 和 Order In Layer.
2. UGUI控件与Particle System 的排序问题:
Particle System 中也有 Sorting Layer 和 Order In Layer ,可以利用 Sorting Layer 和 Order In Layer 来与UGUI 排序。
3. UGUI控件与 MeshRenderer 的排序问题:
MeshRenderer 没有 Sorting Layer 和 Order In Layer ,但是可以在脚本中进行设置,例如:
renderer.sortingLayerName = sortingLayerName;
renderer.sortingOrder = sortingOrder;
需要注意的是
a. render Queue 要设置为 Transparent。
b. 不写深度(ZWrite Off) 或者 把这个MeshRenderer的gameObject 的position 移到 Canvas 的 后面。