注意:本文翻译时NGUI版本已经更新到3.0.7
原文地址:http://www.tasharen.com/forum/index.php?PHPSESSID=95e796b8f47f1380d66f5486e28f9acc&topic=6710
总览
UIRoot总是位于NGUI UI层级的底部(或者顶部,这取决于你怎么看!)
它负责处理UI的缩放来使得它们更容易管理。由于小挂件(widget)的坐标通常以像素定义,一个800*400的挂件将是800*400单位,这好像有点大。。。UIRoot通过取屏幕高度的倒数来缩放它自身,这让挂件变小并更容易工作。
UIRoot有一些可供使用的缩放类型。最常见的是PixelPerfect。这个模式下,你的UI将以像素为单位,一个300*200的挂件将在屏幕上占据300*200像素。这也意味着你的UI在一些低分辨率的设备上看起来会比较大。而你的UI在一些高分辨率设备上看起来会比较小。这个设置的好处是你的UI将尽可能贴近美术的设计。
FixedSize是精确的对立面。当UIRoot设置了这个模式,你的屏幕不管多大,将一直保留相同的大小。这意味着如果300*200的挂件如果在你1920×1080分辨率的屏幕上占据25%的位置,当你分辨率降到1280×720的时候,它依然占据25%。如果你不关心你的UI将不同屏幕看起来是怎样的,而你也不管UI是否贴近美术设计,那你就选择这个选项。当选择这个选项的时候,不要忘记手动设置高度。
FixedSizeOnMobile设置混合了前面的两个。它使得这个设置在构建桌面版本的时候是“PixelPerfect”,而在移动平台却是“FixedSize”。
如果你没有选择FixedSize选项,不要忘记设置Minimum和Maximum Height的值。这些值用于让你的虚拟屏幕大小在一个合理的范围内。例如假设你的UI设置了PixelPerfect模式,而Minimum Height设置为720,那么当一些玩家尝试在800×600的分辨率上运行你的应用的时候,UI还是按720那样运行。
Pro-Tip
UIRoot通常使用2/ScreenHeight缩放它自身,当ScreenHeight是真实屏幕的高度时(在PixelPerfect模式下),或者是你手动设置的高度(在FixedSize模式下)。这样做能让Camera绘制UI的时候保留Orthographic Size的值为1。
如果你不需要UIRoot的自动缩放功能,你可以去掉这整个组件。
类文档
http://tasharen.com/ngui/docs/class_u_i_root.html
如果你有一些和这个组件相关的问题,也可以在下面讨论。
分享到:
相关推荐
NGUI 是专门针对 Unity 引擎、用 C#语言编写的一套插件,它已经成为了目前世界上应用最广、最成熟的 Unity 制作 UI 的插件,完美地弥补了 Unity 引擎原生 GUI 系统和 NewGUI 系统的各种不足。程序员可以利用它提供的...
Unity3d-NGUI-一键打包Texurepacker NGUI图集-文章代码 文章链接 http://blog.csdn.net/MAOMAOXIAOHUO/article/details/51325989
NGUI-Next-Gen-UI-v3.6.8
Unity插件-NGUI-3.9.1
NGUI-2021.zip
NGUI-Unity(2020-2021)亲测可用
NGUI - Next-Gen UI v3.11.4 (2017.1).unitypackage
NGUI Next-Gen UI v3.11.2 (u5)
最新NGUI-3.5.2, NGUI is a very powerful UI system and event notification framework. Features - Full Inspector integration - No need to hit Play to see the results - Supports all platforms - ...
unity NGUI-tablelist控件使用,可以明白怎么制作tablelist的过程,导入unity软件可以直接运行
NGUI 粒子效果与特效 无法正常显示解决方案
NGUI Next-Gen UI 3.12.1(基于unity)NGUI Next-Gen UI 3.12.1(基于unity)
NGUI Next-Gen UI v3.12.1.unitypackage NGUI Next-Gen UI v3.11.0 (u5).unitypackage NGUI Next-Gen UI 3.9.0b.unitypackage NGUI Next-Gen UI v3.7.6.unitypackage NGUI Next-Gen UI v3.7.0 (Aug 16, 2014).unity...
NGUI Next-Gen UI v3.6.8插件用于unity3d的开发
NGUI Next-Gen UI 3.9.2 NGUI是严格遵循KISS原则并用C#编写的Unity(适用于专业版和免费版)插件,提供强大的UI系统和事件通知框架。
Unity3D NGUI插件,适应于U3D 5.4版本
NGUI Next-Gen UI v3.11.2是目前最新完全版,里面包含所有DEMO项目,是一款免费的扩展插件,采用可视化开发工具,可以让用户进行编程的行为开发,大大简化编辑界面,可以帮助开发者制作出满意的UI界面,适用于安卓...
NGUI是严格遵循KISS原则并用C#编写的Unity(适用于专业版和免费版)插件,提供强大的UI系统和事件通知框架。其代码简洁,多数类少于200行代码。这意味着程序员可以很容易地扩展NGUI的功能或调节已有功能。对所有其他...
在Unity中对于NGUI的设计文档有助于你设计NGUI
- NEW: Added UICamera.first referencing the active NGUI event system. - FIX: Alpha should now work as expected with Linear lighting. - FIX: UICamera.isOverUI should now work properly for all types of ...