四、深度(Depth)概念;
1、
(1)、每一个UIPanel和每一个UI控件都一定会有一个Depth,深度值大代表显示的优先级高(会趋向于在界面更上层显示)
(2)、Depth决定的是UI的显示层级关系,一个ui控件是否显示在最上层是由它所属的Panel的Depth和它本身的Depth决定的。
(3)、尽量不要让Panel之间公用一个Depth,这样会导致性能消耗增加。
(4)、制作Pnael和UI控件时,记得考虑一下它所属的Panel和它自身的Depth是否能让他显示在正确的 层次关系上。
2、 在每个摄像机(Camera)中也会有Depth,这个depth会影响到Ui中的Depth,
特别是场景中有多个Camera来渲染不同层次的Ui时,这个影响会比较大,需遵循以下规律;
(1)、相机的Depth永远是最高级的,也就是高Depth相机看到的画面,永远在低depth相机所看到的画面之上。
(2)、如果需要相机有视觉穿透效果(只渲染所看到的东西,其他地方透掉显示其他相机所看到的画面)需要将相机的CleanFlags设置为DepthOnl
(3)、并不是只有负责渲染NGUI的相机的depth会有影响,所有的相机的Depth都受此规律的影响。
(4)、创建UI时,UIRoot下生成的相机默认depth是比场景中的相机深度高的,当场景中有多个相机时,要管理好每个相机的Depth和CleanFlags
(5)、当场景中有多个相机时,一定要检查摄像机的CullingMask,不要重复渲染重复的Layer,否则可能显示双重画面。
2017-12-17、15:58:31