在Unity中怎样创建UI?

如题所述

在现在每一个软件应用中,用户界面(UI)都是核心的特征。游戏也没有抛弃这一规则。有非常多的游戏都使用UI来显示一些信息,比如生命值,技能,地图,武器的弹药,等等。Unity3D提供了许多UI组件,你都可以在你的游戏中使用它们。在这篇文章中,我会指导你在unity的菜单中如何创建一个简单的暂停菜单。这个暂停菜单将显示一个内容为『Paused』的text组件和三个按钮组件:分别是复位按钮『Resume』,重新开始按钮『Restart』,退出按钮『Quit』,并且还是显示游戏从场景加载到现在的时间。在这篇文章的最后,你应该创建出了类似下面的界面:

在unity如何创建一个简单的暂停菜单

让我们开始吧,打开unity并且创建一个空的工程,选择2D或者3D都可以。一旦项目创建了之后,保存你当前的场景并且给它命名一个你想要的名字。我命名我的场景为『Test』。现在让我们来做用户界面『UI』吧。

在层级视图『Hierarchy』右键然后选择UI->Canvas。

在unity中对于所有的UI组件都需要Canvas。本质上,canvas是你放置UI组件的容器。任意你创建的UI组件都必须是canvas的子对象。当你创建Canvas的时候,你会注意到在层级视图中也创建了一个名为『EventSystem』的对象。这个对象用来确定诸如鼠标输入的事件,这对UI组件来说也至关重要,比如按钮。

恰当地设置你的Canvas的小提示:

在层级视图中选择Canvas。

在检视视图中,找到『RenderMode』然后选择『ScreenSpace_Camera』。

从层级视图中拖拽主摄像机到检视视图中Canvas的『RenderMode』上。

关于Canvas的渲染模式『rendermodes』更详细的介绍请看这里。在本文中,我们将仅仅使用『ScreenSpace_Camera』来做一些简单的事情。这就确保我们的UI会一直显示在摄像机视图上。

现在我们想要在canvas上添加一个面板『Panel』。面板是UI组件中的一个基本组件。我之所以喜欢面板是因为你可以很容易地通过脚本打开或关闭而不影响一整个Canvas。这就允许你创建更多基于游戏状态动态改变的UI组件了。例如,你有一个多玩家的游戏,可以让一个玩家加入另一个玩家的工会,你想要一个菜单显示其他成员在工会里的名字以及他们的血量『HP』到用户界面上。但是,你还是想把所有普通的UI组件(地图,技能,血量,法力)显示在玩家的屏幕上。你可以使用一个面板组件,然后把玩家的名字和血量放到他们自己的菜单上,并且你可以基于玩家是否在工会中来切换菜单打开或是关闭。希望可以帮助到你,想要找unity插件可以到纳金论坛去找。

温馨提示:答案为网友推荐,仅供参考
相似回答