开发手册 欢迎您!
软件开发者资料库

Unity - 从UI开始

Unity从UI开始 - 从简单和简单的步骤学习Unity,从基本到高级概念,包括简介,安装和设置,创建精灵,修改精灵,变换和对象育儿,内部资产,保存和加载场景,基本运动脚本,了解碰撞,刚体和物理,自定义碰撞边界,了解预制件和实例化,游戏对象销毁,协程,控制台,音频简介,从UI开始,按钮,文本元素,滑块,材质和着色器,粒子系统,使用资产商店。

在本节中,我们将了解Unity中用户界面或UI元素的设计过程.这包括基本设置,以及Unity附带的常见元素的概述.

在Unity中设计UI的工作流程遵循的路径与我们的路径略有不同到目前为止.对于初学者来说,UI元素不是标准的游戏对象,因此无法使用. UI元素的设计不同;如果设置不正确,以4:3分辨率看起来正确的菜单按钮可能会以16:9的分辨率显示拉伸或失真.

Unity中的UI元素不会直接放在现场.它们总是作为特殊GameObject的子项放置,称为画布. Canvas就像是场景中UI的"绘图表",所有UI元素都将呈现在其中.从没有现有Canvas的创建上下文菜单创建UI元素将自动生成一个.

Canvas

现在让我们看一下Canvas GameObject来了解其他新组件 :

Canvas GameObject

顶部的 Rect Transform 似乎有许多标准GameObject的Transform没有的新属性.

这是因为正常GameObject的变换在3D空间中描述了一个虚构的,而 RectTransform 定义了一个虚构的矩形.这意味着我们需要额外的属性来定义矩形的确切位置,大小和方向.

我们可以看到矩形的一些标准属性,如高度和宽度,以及两个名为 Anchors 的新属性.锚点是其他实体可以在"画布"中"锁定"的点.这意味着如果UI元素(例如,按钮)锚定到右侧的Canvas,则调整Canvas的大小将确保Button始终位于Canvas的相对右侧.

默认情况下,您将无法修改画布区域的形状,并且它将是场景周围相对巨大的矩形.

巨大的矩形

接下来是画布组件.这是主要组件,它包含了一些关于如何绘制UI的通用选项.

Canvas组件

我们看到的第一个选项是渲染模式.此属性定义用于将Canvas绘制到游戏视图上的方法.

我们在下拉列表中有三个选项.让我们在后续章节中了解选项.

屏幕空间 - 叠加

此模式是菜单,HUD等最标准的模式.它在场景中的其他所有内容上呈现UI,确切地说它是如何排列的,毫无例外.当屏幕或游戏窗口大小发生变化时,它还可以很好地扩展UI.这是画布中的默认渲染模式.

屏幕空间 - 摄像机

屏幕空间 - 摄像机创建一个虚构的投影平面,距离设置距离相机,并将所有UI投影到它上面.这意味着场景中UI的外观在很大程度上取决于相机使用的设置;这包括透视,视野等.

屏幕空间相机

世界空间

在世界空间模式中,UI元素的行为就像它们是放置在世界中的普通游戏对象一样.然而,它们与精灵类似,因此它们通常用作游戏世界的一部分而不是玩家,如游戏中的监视器和显示器.由于这种性质,您可以在此模式下直接修改Canvas RectTransform的值.

Canvas Scaler 是一组选项,可让您调整UI元素的缩放和外观以更明确的方式;它允许您在屏幕大小更改时定义UI元素调整大小的方式.例如,UI元素可以保持相同的大小,无论与屏幕大小的比例如何,或者它们可以根据参考分辨率进行缩放.

Graphics Raycaster主要处理光线投射(用于Raycasting的Unity文档的链接)UI元素,并确保用户启动的事件(如点击和拖动)正常工作.

)();