NGUI游戏界面的制作
在网上看到一篇关于 NGUI 游戏界面制作的文章,写得还不错,在此分享给大家。
关于 NGUI 的介绍,这里就不赘述了。由于 Unity3D 自带的界面绘制工具 GUI 效率较低,NGUI 得到了广泛应用。其原理相对简单,是将 UI 绘制到一个平面(plane)上,然后使用摄像机以平行投影的方式进行垂直摄像,这样就可以像处理普通 3D 物体一样处理 UI。不了解 NGUI 的朋友可以从雨松大神的文章入门:NGUI 研究院之开始学习制作第一个例子(一)。
接下来,重点介绍如何在 3D 世界中添加 NGUI 界面。本文使用的是 NGUI 2.6.4 版本,版本不同的读者请自行灵活处理。
一般的 NGUI 教程通常会建议删除 Main Camera 后再进行后续操作。刚开始看到这个建议时,着实让人头疼,因为场景都是基于 Main Camera 创建的,不可能直接删除。由于对 Unity 多摄像机(Multi - Camera)的使用不太了解,我进行了各种尝试。我曾尝试将 Main Camera 作为 NGUI 的摄像机,让 NGUI 的平面位于场景前方,虽然能实现一定效果,但界面会随着角色移动而抖动。经过多次尝试,最终意外发现,其实无需如此麻烦,Main Camera 和 NGUI 的摄像机可以同时存在,它们投影的场景都会绘制在屏幕上,且互不影响。希望不了解这一点的读者看到这里,能避免走弯路。
言归正传,我们不处理 Main Camera,而是新建一个 UI。具体操作是:选择“NGUI -> Open the UI Wizard”,在弹出的 UI Tool 中,保持默认设置,点击“Create Your UI”。
对于游戏 UI,我们通常希望它们分布在屏幕的四边,当然也可以根据需求布置在中央。NGUI 提供了一种出色的界面布局方法——Anchor(锚点),默认锚点设置为 Center(居中)。若要在界面的上下左右都布置 UI,可创建多个锚点。同时,为了方便统一对 UI 进行放大、缩小、位移等操作,所有 UI 应绘制在一个面板上。具体步骤如下:删除刚创建的摄像机下的锚点及其关联的面板,保留摄像机;然后选择“NGUI -> Create a panel”新建一个面板;在该面板下创建多个锚点,并在每个锚点下创建所需的 UI。
布局完成后,就可以往各个锚点添加所需的 UI 了。例如,左上角(LeftTop)可放置人物头像和血条,上方中间(Top)可放置怪物头像和血条,右上角(RightTop)可放置小地图,右下角(RightBottom)可放置技能按钮等。