unity3D游戏开发十四之NGUI一

本文介绍了Unity3D中使用NGUI系统提升图形用户界面美感的过程。从创建NGUI层、UIWizard的使用,到UIRoot、UICamera、UIAnchor、UIWidget和UIPanel的属性详解,展示了NGUI如何帮助开发者高效地搭建和管理游戏UI。
摘要由CSDN通过智能技术生成

在Unity中,可以使用代码控制其自身所携带的GUI来实现图形界面的搭建。但是这些组件的搭建效率很低,而且已经无法满足现在市场对图形用户界面美感的要求,所以,引入了NGUI来增加所要开发的图形用户界面的美感。NGUI是一个功能强大的UI系统,其事件处理通常由开发人员编写C#脚本完成,并且是一个严格遵循KISS原则的Unity框架,该框架具有干净、简约的代码。

现在NGUI的各个版本很多,我这里用的是3.0.6版本,导入NGUI包,成功后,会在菜单栏中显示NGUI选项,如下图:


依次打开菜单栏,NGUI->Open->UI Wizard选项,如下图:


点击Layer下拉列表,选择Add Layer,创建一个叫NGUI的层,如下图:


Camera选项中有3个选项,None,Simple2D,Advanced3D,Simple2D新建一个简单的2D界面,没有Z轴效果,Advanced3D新建一个3D界面,有Z轴效果,并且可以3D旋转。我们点击Create Your UI按钮,创建一个UI界面,程序会自动为我们创建一个有节点层级关系的一些物体,分别是UI根节点,,一个相机节点,一个锚点节点,和一个用于盛放按钮等UI的Panel节点我们现在可以不用管这些节点的功能和作用,只要记住Panel节点即可,以后我们创建的所有按钮等UI都放在Panel层级下,如下图:


我们先来看看UIRoot,UIRoot总是放在NGUI UI层级的最上层。它用来使UI的缩放变得更容易。widget通常使用的是以像素为单位的坐标,但是一个800*400(dimensions的值)的widget会占用800*400个单位(Unity中的单位),这相当大。UIRoot通过屏幕高度的反比来进行缩放,因此widgets都会很小,并且操作起来更容易。属性如下图:


其中,Scaling Style(缩放类型,包含三种),UIRoot有几种缩放方式。最常见的就是PixelPerfect。这种方式下,你的UI一直都是以像素为基础,一个300*200的widget在屏幕上永远占用300*200像素。这就意味着,你的UI在低分辨率的机器上会显得非常大,在高分辨率的机器上就会显得很小。这个设置就是一直保持你的UI清晰。FixedSize是一个和它功能正好相反的设置。当UIRoot用了这个选项,你的屏幕永远都会保持NGUI所关心的尺寸,不管你的实际屏幕是多大。就是说一个300*200的widget占用了1920*1080的25%的屏幕,那么当分辨率降低到1280*720的时候,它同样占用25%的屏幕。如果你不介意你的UI看起来像是不同的尺寸,也不关心是否清晰(就是可能一个小的UI被拉伸很大),那么选择这个选项。选择它的时候,不要忘记设置Manual Height FixedSizeOnMobile是前两种的组合。选择这个选项后,会在pc或者mac等桌面设备上用“PixelPerfect”,在移动设备上用“FixedSize”。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值