《Unity 3D NGUI 实战教程》一2.1 导入NGUI插件

本节书摘来异步社区《Unity 3D NGUI 实战教程》一书中的第2章,第2.1节,作者: 高雪峰 责编: 张涛,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.1 导入NGUI插件

Unity 3D NGUI 实战教程

2.1.1 NGUI版本介绍

NGUI插件目前较新的版本是3.6以后的版本。

在NGUI 3.0以前的时期,底层的事件通信体系完全依赖于SendMessage,这是一个效率比较低下的发消息方式,那个时期大多数Unity的开发者都在使用当时很流行的NGUI 2.6版本,甚至目前还有少数开发者在使用。

在NGUI 3.0及以后的版本中,NGUI进行了大革新,其中革命性的就是将整个的底层消息机制全部换为效率高的EventDelegate。并且开始重视NGUI的性能优化,一直到3.6时期,NGUI相比以前,提高了事件分发的效率,将性能优化到了极致,整合了大量的相近功能,并大大丰富了NGUI的功能类型。

在本书中,将使用比较新的NGUI 3.6.8版本进行讲解,书中可能部分截图并不是3.6.8的版本,但是NGUI 3.6.0及以后的版本几乎都一样,本书的知识点通用于NGUI 3.6.0及以后的所有版本,读者大可放心。

2.1.2 NGUI的下载和购买

NGUI本身是一个付费插件,开发者可以从Unity官方的AssetStore(官方提供的Unity资源买卖平台,里面有很多第三方的资源和插件出售,有的收费有的免费)中去购买,售价大约95美金(折合人民币591元)。用户可以从Unity引擎的编辑器界面的顶部Window菜单中选择Asset Store进入,如图2.1所示。也可以在浏览器中输入网址https://www.assetstore.unity3d.com/进入。

因为NGUI正版插件价格不菲,如果仅仅是为了学习和练习,开发者可以从网上去下载他人购买的NGUI插件包来使用,效果是一样的。不管是从官方购买的还是自己从第三方网站上下载的NGUI插件,它都应该是一个格式为“.unitypackage”的Unity资源包文件,如图2.2所示。


《Unity 3D NGUI 实战教程》一2.1 导入NGUI插件

2.1.3 导入NGUI插件应用

当下载好NGUI的插件资源包之后,下面要做的就是将NGUI资源包导入到引擎中进行使用。

如图2.3所示,在Unity编辑器顶部菜单栏中的Assets菜单中选中Import Package,然后选择Custom Package(自定义资源包),弹出图2.4所示的资源路径窗口,在其中找到NGUI资源包所在的位置,单击“打开”按钮即可。


《Unity 3D NGUI 实战教程》一2.1 导入NGUI插件

特别注意:请将NGUI资源包放在一个没有中文的路径下再进行导入(例如F:DownLoad NGUI-Next-Gen-UI-v3.6.8)。因为Unity导入外部资源时,将无法导入带有中文路径的资源,例如F:下载NGUI-Next-Gen-UI-v3.6.8因为将NGUI放在了中文名文件夹“下载”之下,将导致NGUI资源包无法成功导入。

单击“打开”按钮后,等待Unity引擎解压资源包,然后将会在Unity引擎界面中弹出图2.5所示的窗口,展示该资源包的内容列表,让用户选择导入哪些资源(默认情况下是全部选择),此时因为其已经默认全部选择,可以直接单击Import按钮,将其全部导入。


《Unity 3D NGUI 实战教程》一2.1 导入NGUI插件

导入成功后,可以看到NGUI文件在Project视图中的结构图(如图2.6所示),其中Editor文件夹是编辑器所用的,不用管它;Examples文件夹是Unity制作的一些基本案例,读者可以从Examples下面的Scenes文件夹中选择它制作的范例场景来参看一些基础功能的制作,如图2.7所示。Resources文件夹存储着NGUI自带范例所用到的资源。最后就是整个NGUI对于开发者来说最核心的文件夹:Scripts,这里面是NGUI已经封装好的各个功能模块的脚本,当需要使用时只要把相应的脚本变成UI物体的组件就可以进行相关的操作了,本书在后文将会介绍更简单的使用方式。


《Unity 3D NGUI 实战教程》一2.1 导入NGUI插件

另外,导入之后还会注意到Unity编辑器顶部菜单栏中多了一项NGUI菜单,如图2.8所示,这个菜单将会是以后使用NGUI制作UI系统最常用的一个菜单。


《Unity 3D NGUI 实战教程》一2.1 导入NGUI插件

好了,到这里就已经说明你已经成功地导入了NGUI插件,这个插件包大约12MB,不过完全不用担心它会让你的项目安装包增大很多,因为NGUI插件包导入后并不存在于Resources文件夹下面,所以在项目工程最后发布时,它只会将NGUI资源包中你所用到的部分纳入打包资源,对项目发布的游戏安装包体积的影响几乎可以忽略不计。

2.1.4 导入常见问题

(1)如果我的工程文件中已经导入过一次NGUI的资源包了,此时我再导入一个新的NGUI资源包会有什么结果?

答:会根据路径替换掉同名文件,并导入额外的新文件。

(2)导入解压后,并没有弹出图2.5所示的资源包内容预览窗口,而是在Unity编辑器窗口底部报出了一行如图2.9所示的错误,怎么办?


《Unity 3D NGUI 实战教程》一2.1 导入NGUI插件

答:这是因为你将NGUI资源包放在了一个带有中文名称的文件夹路径下,Unity导入任何带有中文路径的资源包时,都会弹出这个错误导致无法导入。请将你要导入的资源包放在一个没有任何中文的路径下再进行导入。

(3)我怎样查看我的NGUI版本是多少?

答:在Project窗口中,选择Assets文件夹下面的NGUI文件夹,然后会看到一个ReadMe的版本说明文件,这个文件名会带有版本号,如图2.10所示。


《Unity 3D NGUI 实战教程》一2.1 导入NGUI插件