强化对深度的理解

  在老版本的NGUI中,UI的显示层次关系是依靠z轴进行的。在新版本的NGUI中,所有UI的z轴都被统一,然后用深度来决定和管理显示的层次关系。关于深度,要记住一下关键点:

  1.每一个UI Panel和每一个UI控件都一定会有一个Depth,深度值大代表显示的优先级高(会越趋向于在界面上层显示)。

  2.Depth决定的是UI的显示层级关系,一个UI控件是否显示在最上层是由它所属的Panel的Depth和它本身的Depth决定的。一般情况下,属于低Depth的Panel的控件,不管这个控件本身的Depth为多少,它都将显示在高Depth的Panel的控件后面(被高Depth的Panel遮住)。

  3.尽量不要让Panel之间共享同一个Depth,这样会导致性能消耗增加。

  4.制作Panel和UI控件时,需要考虑它所属的panel和它自身的Depth是否能让它显示在正确的层次关系上。

小心相机的深度

  在场景中的每一个Camera也有一个渲染深度。

  NGUI创建时,都会创建一个它独有的相机。这个相机其实就是Unity中普通的Camera,然后为其附加了一个UI Camera的组件。需要注意的是,所有的Camera也都有一个Depth,这个Depth会影响到UI中的Depth,特别是场景有多个Camera来渲染不同层次的UI时,这个影响会比较大。需遵循以下规律:

  1.相机的Depth永远是最高级的,也就是高Depth相机所看到的画面,永远在低Depth相机所看到的画面之上。

  2.如果需要相机有视觉穿透效果(只渲染所看到的东西,其他地方透掉显示其他相机所看到的画面),需要将相机的ClearFlags设置为DepthOnly。

  3.并不是只有负责渲染NGUI的相机的Depth会有影响,所有的相机(比如默认存在的渲染场景的Main Camera)的Dpth都受此规律影响。

  4.创建UI时,UI Root下生成的相机默认Depth是比场景中的相机深度高的,不过当场景内有多个摄像机时,一定要管理好每个摄像机的CleraFlags和Depth。

  5.当场景内有多个摄像机时,一定要检查摄像机的CullingMask不要渲染重复的Layer,否则可能导致显示双重画面。

深度(Depth)概念的更多相关文章

  1. 神经网络6_CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)概念区分理解

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId ...

  2. opencv 图像深度(depth)

    原文地址:http://blog.csdn.net/dingfc/article/details/7457984 图像深度是指存储每个像素所用的位数,也用于量度图像的色彩分辨率.图像深度确定彩色图像的 ...

  3. (转)NGUI中深度depth和z轴关系

    先列出转载链接: http://game.ceeger.com/forum/read.php?tid=8917 转载原文: 问题源自一个帖子,因为上传的图比较多,就另开了这个贴写下自己的试验结果,原帖 ...

  4. svn稀疏目录--通过设置工作目录的深度(depth)实现目录树的部分签出

    对于一个大的版本库来说,本地工作目录签出整个目录树是即费时又占地儿的.虽然可以只签出某个子目录树,但有时候还是需要从根目录签出.那么,怎么才能只把自己感兴趣的子目录签出来呢? 从svn1.5版开始,提 ...

  5. [Leetcode 104]求二叉树的深度Depth of BinaryTree

    [题目] Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the ...

  6. 二叉树的最大/小/平衡 深度 depth of binary tree

    [抄题]: 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的距离. [思维问题]: [一句话思路]: 分合法的定义 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况 ...

  7. 深度学习二、CNN(卷积神经网络)概念及理论

    一.卷积神经网络(CNN) 1.常见的CNN结构有:LeNet-5.AlexNet.ZFNet.VGGNet.ResNet等.目前效率最高的是ResNet. 2.主要的层次: 数据输入层:Input ...

  8. 【LeetCode】1111. Maximum Nesting Depth of Two Valid Parentheses Strings 有效括号的嵌套深度

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目讲解 划分规则讲解 返回结果讲解 解题方法 代码 日期 题目地址:ht ...

  9. 深度学习笔记(三 )Constitutional Neural Networks

    一. 预备知识 包括 Linear Regression, Logistic Regression和 Multi-Layer Neural Network.参考 http://ufldl.stanfo ...

随机推荐

  1. plsql 连接oralce数据库,报ora 12557 tns 协议适配器不可加载错误

    使用plsql 连接oracle 数据库报ora 12557 错误: 解决方案: 1:首先确保服务中的service以及监听器都开启 2:F:\app\Administrator\product\11 ...

  2. matlab——sparse函数和full函数(稀疏矩阵和非稀疏矩阵转换)

    函数功能:生成稀疏矩阵 使用方法 :S = sparse(A) 将矩阵A转化为稀疏矩阵形式,即矩阵A中任何0元素被去除,非零元素及其下标组成矩阵S.如果A本身是稀疏的,sparse(S)返回S. S ...

  3. requirejs 定义模块中含有prototype

    因为我对requirejs不熟悉,不清楚如何定义带有prototype的模块, 在看了:https://gist.github.com/jonnyreeves/2474026 的demo之后,就明白了 ...

  4. .Net 中表达式的转换

    .Net 中表达式的转换 如: a>0  && (c>a || a <b ) || (a>b || c>1)    转换后  (((a > 0) a ...

  5. 【C语言】4-指针

    直接引用 1. 回想一下,之前我们是如何更改某个变量的值? 我们之前是通过变量名来直接引用变量,然后进行赋值: char a; a = 10;   2. 看上去是很简单,其实程序内部是怎么操作的呢? ...

  6. 301页面转向 php

    新建301.php页面,在程序入口文件index.php引用301.php页面 301.php内容如下,仅用于参考: <?php$the_host = $_SERVER['HTTP_HOST'] ...

  7. React组件生命周期过程说明【转】

    实例化 首次实例化 getDefaultProps getInitialState componentWillMount render componentDidMount 实例化完成后的更新 getI ...

  8. Python(2.7.6) ConfigParser - 读写配置文件

    Python 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件. 配置文件的格式 a) 配置文件中包含一个或多个 section, 每个 section 有自己的 opt ...

  9. springmvc错误 Spring3.X jdk8 java.lang.IllegalArgumentException

    最近在学习springmvc--碰到一个特别蛋疼的错误 javax.servlet.ServletException: Servlet.init() for servlet springMVC thr ...

  10. 再也不要看到Eclipse万恶的arg0,arg1提示

    不知道大家跟我是否一下,遇到arg的提示. @Override public void onDateChanged(DatePicker arg0, int arg1, int arg2, int a ...