UIPanel

  UIPanel is a component that collects and manages all widgets underneath it. UIPanel is responsible for creating the actual draw calls using the widget's geometry. Without panels, nothing can be drawn.

  All panels have a Depth value which affects all widgets underneath.The depth value of panels carries a lot more weight than the depth value on individual widgets, so it's a good idea to ensure that your panels don't share depth values. If values get shared, draw calls will start to get split up frequently in order to preserve the draw order, resulting in a lot more draw calls than usual.

  

  • Alpha 属性影响它下面的所有的挂件。用它来实现整个窗口的淡出是不错的方式。
  • 如果你的UI受灯光影响,请确认你勾选了Normals复选框
  • 如果你正在创建一个可滚动的panel,它里面有大量几何图形,你可能应该勾选Cull选项去减少三角形面数。注意这么做实际可能会降低性能,因为它会在每个update都检查挂件的可见性!
  • 勾选Static复选框会告诉NGUI这个Panel下面的挂件不需要移动从而提高性能。NGUI会忽略检查position/rotation/scale的变化。注意这么做意味着在运行时移动挂件不会有任何效果——不过还是要注意。

裁剪功能(Clipping)

  Panel能根据你使用的大小自动裁剪所有的孩子。为了允许裁剪,请从Clipping的下拉框中选择一个选项,然后根据你想要的挂架大小来调整场景视图中紫色的矩形的大小。如果那样做了,你能把panel编程一个Scroll View并很简单让它变成可拖动的。
  注意panel的裁剪不支持嵌套。每个panel只能裁剪它管理的孩子结点,如果你里面还有一个clipped的panel,他们之间只有一个能影响挂件。这个限制可能在未来会被移除。
  
  

  默认上,NGUI所有的Panel将使用一个值为3000和以上的渲染队列来绘制。你可以通过在Render Q下拉列表来做一些改变。如果你想要在你的两个panel之间增加一个粒子系统,只要简单确保你第一个panel的render queue比被用于粒子系统的材质的低,第二个比粒子系统的高。如果你想让像NGUI 2.x所有的draw call是基于Z轴而不是基于depth,指定一个明确的Render Queue(3000是NGUI2.x使用的)

  如果你正在寻找关于Anchors部分的文档,你能在他的基类 -- UIRect中找到。

参考:

1、http://www.tasharen.com/forum/index.php?topic=6705

2、http://blog.csdn.net/kakashi8841/article/details/20641375

  

UIPanel的更多相关文章

  1. NGUI 渲染流程深入研究 (UIDrawCall UIGeometry UIPanel UIWidget)

    上图是一个简要的NGUI的图形工作流程,UIGeometry被UIWidget实例化之后,通过UIWidget的子类,也就是UISprit,UILabel等,在OnFill()函数里算出所需的Geom ...

  2. NGUI之UIPanel

    原文:http://www.tasharen.com/forum/index.php?topic=6705.0 概述 UIPanel用来收集和管理它下面所有widget的组件.通过widget的geo ...

  3. NGUI的原理机制:深入剖析UIPanel,UIWidget,UIDrawCall底层原理

    这是我去搜狐畅游面试时,面试官问的一个问题.问NGUI的机制原理是什么?就是这个插件是根据什么写出来的.当时没答上来,下面是我从转载过来的,可以研究研究. 之前项目中用的NGUI的版本是3.0.7 f ...

  4. Unity NGUI UIPanel下对粒子的剪裁

    使用 unity 做游戏开发时,有时需要在scroll view下使用粒子,但粒子是不会被 UIPanel 所裁剪的,本人提供了脚本 ParticleSystemClipper,用来处理这种情况.思路 ...

  5. 【Unity游戏开发】浅谈 NGUI 中的 UIRoot、UIPanel、UICamera 组件

    简介 马三最近换到了一家新的公司撸码,新的公司 UI 部分采用的是 NGUI 插件,而之前的公司用的一直是 Unity 自带的 UGUI,因此马三利用业余时间学习了一下 NGUI 插件的使用,并把知识 ...

  6. NGUI: UIPanel控件

    转自:http://blog.csdn.net/huang9012/article/details/19411703 http://bbs.9ria.com/thread-417659-1-1.htm ...

  7. NGUI UIPanel绘制原理学习

    NGUI底层绘制都是调用UIDrawCall来完成的,它会动态实例化出材质球,改变UV偏移和缩放(图集显示).并且全部是面片 UIPanel也是面片,但是内部物体遮罩比较特殊,经过查找发现,影响UIP ...

  8. NGUI所见即所得之深入剖析UIPanel,UIWidget,UIDrawCall底层原理

    NGUI所见即所得之深入剖析UIPanel,UIWidget,UIDrawCall底层原理 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 之 ...

  9. Unity NGUI 多个UIPanel对粒子的剪裁

    之前写过一篇单个 UIPanel 对粒子的裁剪,地址是:https://www.cnblogs.com/jietian331/p/5075487.html 但项目中有时会遇到多个UIPanel,如下面 ...

随机推荐

  1. win10安装.net3.5 报错解决

    在win10光盘里提取“microsoft-windows-netfx3-ondemand-package.cab”安装包 然后放在sxs目录 新建批处理...??Cls@ECHO OFFTITLE ...

  2. springboot: 使web项目支持jsp

    1.springboot为什么不推荐使用jsp? 参考地址:https://spring.io/blog/2012/10/30/spring-mvc-from-jsp-and-tiles-to-thy ...

  3. 2019Falg

    2019的Flag 2018 2018年对我来说是很重要的一年. 毕业--拿到硕士学位. 工作---成功转行进入互联网行业. 有了她. 上半年忙碌于毕业的各种事情,被毕业论文折磨的要疯,顺利走完所有流 ...

  4. spring加载bean报错:expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

    看具体报错日志: 警告: Unable to proxy interface-implementing method [public final void cn.wlf.selection.proto ...

  5. GPS数据包格式解析

    四种定位系统:1.美国的全球定位系统(Global Positioning System,GPS)2.俄罗斯的格罗拉斯(Global Nabigation Satellite System,GLONA ...

  6. windows环境vagrant修改静态资源文件,centos虚拟机中nginx的web环境下不生效

    最近上手krpano,本地修改了krpano.html文件或者xml文件,在虚拟机环境打开文件是修改过来了,在nginx中就是不生效. 修改nginx.conf中http{}中的 sendfile  ...

  7. laravel的phpstorm插件laravel-ide-helper

    地址https://github.com/barryvdh/laravel-ide-helper 简单记录下安装过程 项目目录下 composer require barryvdh/laravel-i ...

  8. Oracle拆分字符串函数与执行调用

    本函数可以将“目标字符串”以“指定字符串”进行拆分,并通过表结构返回结果.代码如下: ); CREATE OR REPLACE FUNCTION splitstr(p_string IN VARCHA ...

  9. Excel if函数无法正确对比大小

    我想完成以下操作 1.提取A列数字的第7-11位的数字 2.若此数字大于1993 3.则返回20,不然返回0 于是我在B和C列上写了两个函数,分别是 MID(A1,7,4)          IF(B ...

  10. Java 设计模式 之 中介者模式(Mediator)

    中介者的功能非常简单,就是封装对象之间的交互. 如果一个对象的操作会引起其他相关对象的变化,或者是某个操作需要引起其他对象的后续或连带操作,而这个对象又不希望自己来处理这些关系,那么久可以找中介者,把 ...