【Unity插件】NGUI核心组件之UIPanel .

摘要:
您不需要手动添加UIPanel-一旦创建控件,它将自动添加。参数PanelTool决定此面板是否显示在PanelTool中。动态创建的临时面板可以关闭此选项,例如HUD血条、滚动战斗文本等。为方便起见,每个DrawCall的面数也显示在Tips1中。默认情况下,如果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,他们会一直被重用,这样提高了一些效率。

免责声明:文章转载自《【Unity插件】NGUI核心组件之UIPanel .》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何在不接入微信API的情况下自定义分享内容(图片、链接、标题)c#分页工具类,完美实现List分页下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

unity探索者之微信分享所有流程,非第三方插件

版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/7560575.html  很久没有写新博客了,前段时间有些忙,这几天趟了几个微信分享的坑,写下来和大家分享下 接过微信分享的人,不论是直接接的微信自己的sdk还是使用了第三方插件,比如友盟、Mob之类的,估计都被微信官方恶心过。因为微信官方的...

Unity MeshRender更换材质球方法

https://blog.csdn.net/ystistheking/article/details/70207792 转载自CSDN布莱克汉; 干活的时候遇到了这样一个问题,当要用代码给这个模型换材质球的时候,单独获取renderer组件里的materials数组里的materials[1]或者materials[2]是无法改变材质球的,此时采用以下...

unity 协程与async、await

协程(Coroutine) 协程就像一个函数,能够暂停执行并将控制权返还给 Unity,然后在指定的时间继续执行。协程本质上是一个用返回类型 IEnumerator 声明的函数,并在主体中的某个位置包含 yield return 语句。yield return 是暂停执行并随后在下一个时间点恢复。注意:Fade 函数中的循环计数器能够在协程的生命周期内保持...

Unity添加视频的四种方式

两种 方式需要的前期准备时间较长,后两种 方式前期不需要准备只需要添加一个Unity内置的脚本,其中各有优劣前两种性能消耗较低后两种性能消耗较高前两种需要的时间较长后两种需要的时间较短(1).第一种方式:http://dl.pconline.com.cn/download/460355.html解压上面的文件,然后将要进行转换的 视频文件拖拽到打开的软件里面...

再议Unity优化

0x00 前言 在很长一段时间里,Unity项目的开发者的优化指南上基本都会有一条关于使用GetCompnent方法获取组件的条目(例如14年我的这篇博客《深入浅出聊Unity3D项目优化:从Draw Calls到GC》)。有时候还会发展为连一些Unity内部对象的属性访问器都要小心使用的注意事项,记得曾经有一段时间我们的项目组也会严格要求把例如trans...

Unity场景渲染相关实现的猜想

如下,很简单的一个场景,一个Panel,二个Cube,一个camera,一个方向光,其中为了避免灯光阴影的影响,关掉阴影,而Panel和二个Cube都是默认的材质,没做修改,我原猜,这三个模型应该都动态合并成一个,但是根据Unity的Frame Debug的显示,我们可以看下,只有同模型的地合并了。然后把模型A向前移动到Z小于0,神奇的看到,同模型的二个c...