zoukankan      html  css  js  c++  java
  • 【Unity插件】NGUI核心组件之UIPanel .

    转自:http://blog.csdn.net/daiguangda/article/details/7840084

     

    UIPanel负责创建实际的集合图形。你不需要手动的添加UIPanel-一旦你创建一个控件,它会自动被添加。如果你想将你的UI渲染拆分到不同的Draw Call中,你可以手动创建你自己的UIPanel,例如你要创建一个分屏的游戏,每个屏用一个摄像机进行渲染,这种秦光下你就需要2个UIPanel来避免控件互相重叠。

    参数

    Panel Tool 决定这一个Panel是否会显示在Panel Tool中。那些动态创建的临时Panel可以将这个选项关掉,比如那些HUD血条,滚动战斗文字等。

    Normals 标志让你选择UI的几何图形是否会受到法线和切线的影响。如果你的UI会受光照影响,那么这个选项需要被选上。

    Depth Pass 让你添加一个额外的之渲染深度的Draw Call。打开这个选项可以节省部分填充率,因为在你的不透明的控件后面的物体都不会再被渲染。

    -----------------

    Widgets 告诉你这个Panel渲染了多少个控件

    Draw Calls 告诉你这个Panel会消耗多少个Draw Call。这个数值越低,效率越高

    Debug Info 让你选择显示哪种调试信息

    Clipping 让你选择是否需要裁切功能。默认情况下不会有裁切。裁切是使用Shader来实现的,当选择了任意一种不是None的裁切模式之后,NGUI会尝试自动的获取一个裁切版本的shader,并更新材质。

    如果选择了裁切模式,你可以选择裁切区域的中心点和大小,单位是像素。如果不修改这些参数的默认值,那么会按照整个屏幕的大小来裁切,这个跟没有裁切是一样的效果。

    如果裁切模式选择了SoftAlpha,你可以改变Softness参数,这个参数决定了被裁切内容淡出的边缘宽度,这个在整个裁切区域的四个边都是相等的

    Material 是一个只读的值。你可能会看到1个以上的material,每个material会消耗一个Draw Call。为了方便,每个Draw Call的面数也显示在这里

    Tips

    1. 在默认情况下,如果UIPanel不存在,它会在最根层的控件中自动创建。因此,最好将你的UI整理到一个通用的父节点。

    2. 你可以通过将UIPanel使用的texture和font整理到同一个atlas来减少UIPanel使用的material数量

    3. 你可以放心的删除那些没有使用的或者显示了0个widgets的UIPanel

    4. 如果你删除了一个还管理了其他widgets的UIPanel,这些widgets会消失。点击Play或者disable掉这些widgets再enable它们,就可以重新显示(实际上是又重新添加了一个新的UIPanel)

    5. 只要没有东西发生改变,已经创建好的几何图形不会重建。意思就是如果你的UI一直保持不动,那么这些几何图形不会每一帧都update,他们会一直被重用,这样提高了一些效率。

  • 相关阅读:
    OOAD-2 UML建模、类、接口、类图的详细介绍
    OOAD-1 GOF中的23种设计模式的分类和功能
    java核心技术第四章疑问点
    数据结构中的遇到的一些小知识整理
    springboot中一次坑爹的打包体验
    mybatis中@param的使用与否
    mybatis 防止sql注入
    java窗口
    java异常处理
    第三次上级作业
  • 原文地址:https://www.cnblogs.com/zjw520/p/3046635.html
Copyright © 2011-2022 走看看