UICamera-可以添加到任何相机,包含事件系统.
UICamera是每个UI的重要组成部分.它负责发送Camera中所有NGUI的活动.如果场景中仅有一个Camera,要确保它附有UICamera脚本.如果有多个相机,确保至少用来渲染UI的相机有UICamera脚本.当将这个脚本放在主相机上时,在游戏场景中的所有都将有OnClick, OnHover, OnDrag等事件.
参数
Tooltip Delay:设定悬停与对象多少秒才执行OnTooltip事件.
如果使用Orthographic Projection相机,建议将相机的Size的尺寸设置为当前分辨率高度的一半.比如针对iPad的屏幕1024*768分辨率,就设置Size为384.另外一种方法是保持Size是1,缩放UI的Root为该值的倒数,比如在iPad上获得完美尺寸你需要设置Root的缩放到1/384或者0.002604167.第二种方法比较容易实行,不过物体在场景视图中照比其他物体会比较小.
如果你仍旧不知道怎么设置正交相机的尺寸,那么尝试看看下面这图.
UIAtlas-定义精灵的纹理图
UIAtlas是一个容器,它包含了一堆sprite的坐标信息.如果你不熟悉这个概念.你可以这样认为:使用一张包含很多小贴图的大贴图比用若干张小贴图更有效率.而大贴图中的小的贴图被称作为精灵(sprite),大纹理成为图集(atlas).
你使用NGUI之前都需要创建一个图集(或使用现有的).可以从这里了解图集的做法.当然也可以直接使用UITexture,但它并不能应对所有问题.
Material:是描述绘制本图集的材料.通常推荐用unlit着色器,比如用.Unlit – Transparent Colored为NGUI.
TP Import:用于导入从TexturePacker导出的精灵.只需要拖拽输出的Txt文件和所有精灵即可.
Coordinates:这允许你从基于像素的坐标系切换为基于UV的坐标系.通常都是以像素坐标系制作,但如果你需要重新调整纹理,则要先切换为纹理坐标.
New Sprite:允许已当前选择的精灵为范本创建新的精灵.
Delete:删除所选精灵.
Sprite:可以通过下拉列表选择所有正在使用的精灵.
Edit Name:重命名精灵的名称.
Outer Rect:设置精灵的外边框.
Inner Rect 设置精灵的内边框,如果你不使用UISlicedSprite,可以跳过这个设置.
Padding:微调校正精灵的偏移量
Correction:基础的校正精灵的坐标使用完美整数像素.
Show:检查精灵在图集中的位置.
提示
可以将精灵组织成组创建多个图集.只要图集共享相同的材质,那么控件仍旧会使用很少的DrawCall.
为达到最佳效果,推荐将纹理的wrap模式设置为"Clamp"和将格式设置为"Truecolor".
将类似的纹理做成一个图集是很好的方式,但是要尽量减少同时使用的图集数量.
如果你是使用Texture Packer工具来创建图集,要在输出设置中选择Unity3D.
如果你是用Photoshop创建图集,你能通过选择工具配合info panel面板来找出精灵的位置和尺寸.
UIFont-字体图集
UIFont可以设置UI所使用的字体数据和材质.可以使用免费的BMFont,或使用更专业的Glyph Designer.一般只做一次字体,保存为一个预设,作为新标签所用的字体.参数:
Import Font:用于导入Glyph Designer.或BMFont输出的FNT(改后缀为TXT)数据.
UIAtlas:用来设置字体纹理所在的图集,根据是否已选定UIAtlas,你会看到一下选项
如果UIAtlas已指定,你可以选择使用字体的精灵.
如果没有指定UIAtlas,你可以选择用来绘制字体的材质.在NGUI中通常用"Unlit"类别下的着色器,如“Unlit – Transparent Colored".
你可以调整字体在材质纹理内的像素矩形.
快速校正完美像素坐标,四舍五入到最近的像素值.
Spacing:可以调整字符之间的间距.
Show:检查字体在纹理贴图中的位置.
提示
为达到最佳效果,推荐将纹理的wrap模式设置为"Clamp"和将格式设置为"Truecolor".
可以将多个字体合并为一个图集.这样整个UI使用这些字体,仍旧会保持一个DrawCall.
你可以给字体增加斜角,阴影,描边等效果,只要确保BMFont导出之前你设置好足够的边距和间距就可以了.
UISprite-从图集中画一个精灵
UISprite是第二个不常用的插件(第一个是UITexture),它唯一用途就是绘制地图集的一部分.
参数
Transform:是很重要的一个组件,每个控件都可以通过Transform来进行位置和大小的调整.它也会影响到"Make Pixel-Perfect".你可以在它和UICamera之间任选一个来进行"完美像素"的调整.
UIAtlas:用来指定所使用的图集.拖拽或者按下左侧的按钮选择最近使用的图集.
Sprite:选择图集中使用的精灵.选择好精灵后.点击一下"Make Pixel-Perfect"会自动为你调整Transform的尺寸.
Depth是避免用Unity的Z排序(效率不好),而且如果你要旋转UI窗口.单纯的通过调整每个控件的Transform的Z轴来排序是不行的.所以要用这个深度来排序.
Color Tint:用来调整色调.
Make Pixel-Perfect:让你快速调整控件的尺寸到实际像素尺寸.
Pivot:选择部件的坐标原点位置.
Preview:预览精灵的纹理.
提示:
如果你看到两个控件有闪烁,意味着你设置了同样的Depth导致了重叠,你要调整不同的深度,让它们不重叠.
不要把多个控件混在一起,否则会影响到完美像素这个功能.添加新控件时要注意保持创建新的子对象.
也可以在使用完美像素按钮后再移动组合控件.
Label-用指定的字体绘制一个文本标签
UILabel被用来显示文字.支持多行,只需要用"\n"换行即可.允许用[RrGgBb]来建立彩色文字.
参数:
Transform:是很重要的一个组件,每个控件都可以通过Transform来进行位置和大小的调整.它也会影响到"Make Pixel-Perfect".你可以在它和UICamera之间任选一个来进行"完美像素"的调整.
UIFont:你可以选择用于这个标签的字体.你可以拖拽预设或者按下按钮选择最近使用的字体.
可以通过使用"\n"来决定标签是多行还是单行,同样可以用16进制颜色值来定义彩色文字,以[RrGgBb]开始,以[-]结束.如"Hello [FF0000]World[-]!",最后的结果是World是红色的文字.
Line Width:用来指定文字行的最大宽度,如果是单行文本则切掉超出的.如多行文本则会根据宽度自动换行.
Multi-line:选择该项后标签达到最大宽度后会自动换行.
Password:勾选后字符将自动转为星号.
Encoding:勾选后会关闭特殊字符处理,一般用于输入框.
Depth:改边标签控件的层级.
Color Tint:更改文本的主色调.
Make Pixel-Perfect: 让你快速调整控件的尺寸到实际像素尺寸.
Pivot:选择部件的坐标原点位置.
Preview:预览精灵的纹理.
提示:
如果你看到文本闪烁或看到被其他控件覆盖了.那么就要调整它的深度.
如果遇到复杂字符串(如斜体,标点,括号混合的)需要增加行宽度避免超宽.
用"\n"和颜色,仅一个标签就可以做到下面的效果.
分享到:
相关推荐
【Unity界面插件NGUI基础教程】 Unity是一款广泛应用于游戏开发的3D引擎,而NGUI则是一个专门针对Unity设计的界面插件。这个插件提供了丰富的用户界面元素和交互功能,使得开发者能够轻松地创建出美观且高效的2D和...
NGUI(Next Gen UI)是Unity3D早期流行的一款UI插件,提供了丰富的UI组件和功能,帮助开发者创建出精美且高效的用户界面。 NGUI 3.9.9 and 3.6.8 是两个不同版本的NGUI插件,它们都有各自的特性和改进。NGUI v3.6.8...
Unity的插件NGUI是Unity引擎中一个广泛使用的用户界面(UI)系统,尤其在早期版本中非常流行。NGUI3.9.9是该插件的一个特定版本,提供了丰富的功能来帮助开发者创建复杂的2D和3D游戏界面。在这个版本中,开发者可以...
Unity NGUI插件是针对Unity游戏引擎的一个用户界面(UI)解决方案,专为构建高性能、交互性强的2D和3D界面而设计。版本v3.11.2表明该插件已经经过优化,能够兼容Unity的高版本,特别是Unity 2017及其以上版本,包括...
Unity3D是一款强大的游戏开发引擎,而NGUI(Next-Generation User Interface)是Unity3D中的一款界面插件,用于创建复杂且高效的2D用户界面。这篇带图详解的教程旨在帮助初学者掌握NGUI的基础知识,从创建界面到添加...
在Unity3D中,用户界面(UI)的创建和管理是至关重要的,而NGUI则是一个专为Unity3D设计的高级UI系统插件。这款插件为开发者提供了丰富的UI组件和工具,使得在Unity3D中构建美观、高效的用户界面变得更加容易。 ...
NGUI,全称Next-Gen User Interface,是Unity3D中的一款高级用户界面插件,旨在提供高效、灵活且可扩展的UI解决方案。NGUI在早期版本的Unity中特别流行,尽管Unity现在已经内置了Unity UI系统(Canvas),但NGUI在...
Unity3D是一款广泛应用于游戏开发的三维引擎,其在2018版本中依旧支持丰富的扩展功能,其中包括了NGUI这一强大的用户界面插件。NGUI是为Unity设计的高效UI解决方案,尤其适用于那些需要复杂交互和视觉效果的游戏或...
NGUI(Next-Gen User Interface)是一款为Unity引擎设计的用户界面系统插件,它提供了丰富的界面元素和交互功能,让开发者能够轻松创建出复杂的2D和3D用户界面。这款插件以其高效、易用和灵活性而备受赞誉,特别适合...
NGUI,全称为Next-Gen UI,是一款专为Unity3D设计的用户界面系统框架,它极大地简化了UI的设计和管理,是Unity3D项目中的常用插件之一。 NGUI 3.0.2是这个框架的一个具体版本,它在前代基础上进行了改进和优化,...
在Unity3D中,NGUI(Next-Gen User Interface)是一个流行的游戏用户界面插件,它提供了丰富的组件和工具来创建高效、美观的界面。在本篇内容中,我们将聚焦于两个关键概念:Atlas和Font的制作及在Unity3D中的运用。...
总的来说,Unity3D 2018插件NGUI v3.12.1是一个强大的UI工具,能够帮助开发者快速构建美观且高效的用户界面。然而,随着技术的进步,开发者也需要不断学习和适应新的工具,如Unity UI,以保持项目的先进性和兼容性。
NGUI是由Tasharen Entertainment开发的插件,它为Unity提供了更高级别的用户界面设计工具。这个插件在Unity 2017到2020版本之间是兼容的,这表明它经过了多个版本的测试和优化,能够稳定地在这些版本中运行。NGUI的...
没有DLL,也不依赖于其他外部资源NGUI的使用方式与Unity的使用方式一样。使用Widget Tool可快速创建模板化的控件,或者从基本组件创建你自己的控件。可以按照你的意愿拷贝/粘贴,把你的窗口保存为prefabs。所有...
而NGUI(Next-Gen UI)是一款专为Unity设计的用户界面(UI)系统插件,旨在提供更高效、更灵活的UI解决方案。在Unity插件-NGUI-3.9.1这个版本中,我们重点关注其核心功能和特点。 NGUI的主要优势在于其对复杂的UI...
1. **组件化设计**:NGUI使用一系列可组合的UI组件,允许开发者灵活地构建复杂界面。 2. **层级系统**:UI元素可以按照层级关系进行组织,实现遮罩、Z轴排序等功能。 3. **自动布局**:NGUI提供了一套自动布局系统,...
在Unity3D中,UI系统的构建是项目开发的重要环节,而NGUI(Next-Generation User Interface)正是一个专为Unity设计的插件,用于创建高效、美观且易于管理的用户界面。 NGUI v2.2.2是该插件的一个特定版本,它提供...
通过这个项目,你可以了解Unity3D的基础操作,以及NGUI组件的工作原理。 首先,我们需要在Unity3D中创建一个新的项目,并导入NGUI插件。NGUI通常包含一系列的资源文件,如预制件、材质、纹理等,你需要将这些文件...
而NGUI(Next Generation User Interface)是Unity早期流行的一款用户界面(UI)系统插件,尤其适用于2D游戏开发。尽管Unity现在已经有内置的UI系统(Unity UI),但NGUI因其独特的特性和广泛的应用,仍被许多开发者...
Unity插件NGUI 3.6.9是针对Unity游戏引擎的一个强大且广泛使用的用户界面(UI)系统。NGUI是“Next-Generation User Interface”的缩写,它为开发者提供了在Unity中创建复杂、高性能且美观的用户界面的工具。在版本...