UGUI
1、Canvas 的 Render Mode 一共有三种模式
Screen Space – overlay 此模式不需要UI摄像机,UI将永远出现在所有摄像机的最前面,如果想在UI前面放一个特效或者UI会很麻烦。
Screen Space- Camera 它需要提供一个UICamera,和NGUI的原理很像,如果想在UI前面加特效可以在创建一个摄像机深度大于这个UICamera就行了。
World Space 这个就是完全3D的UI,UGUI的例子大多都采用它,但是我觉得目前我还是用不到。
2、Canvas Scaler 缩放自适应
选择 Scale With Screen Size, Screen Match Mode 选择 Match Width Or Height,比例设为1,即只和高度进行适配;Canvas Scaler 有三种模式,关于适配,以后需要专门研究。
推荐保持和NGUI一样的结构,Canvas 使用 Screen Space- Camera 模式,在 Canvas 下挂一个摄像机 UICamera,设置其深度大于 MainCamera,然后把 UI 挂在这个 UICamera 下,如果需要在 UI 前面显示粒子或其它UI,可以与 UICamera 同级新建一个 ForwardCamera 并设置其深度大于 UICamera,然后把粒子或其它UI挂在这个 ForwardCamera 下。
3、与NGUI不同,UGUI表示层级关系不是使用深度值,而是根据对象在 Hierarchys 视图里的顺序。那么如果需要在某个位置插入对象,可以使用相关API函数: transform.SetSiblingIndex 和 GetSiblingIndex 就是设置与获取 GameObject在兄弟节点的位置