想了解如何使用__ UI__(即用户界面,User Interface)让用户能够与您的应用程序进行交互。Unity 目前支持三种 UI 系统。更多信息
See in Glossary Builder 创建 UI 吗?请从使用此示例开始。
要在 UI Builder 中创建 UI,请执行以下操作:
在开始之前,请熟悉以下内容:
此示例为创建列表视图运行时 UI 示例创建主视图。它创建一个作为背景的根元素,其中包含两个容器。一个容器用于存放角色名称列表,另一个容器用于存放角色详细信息。在角色详细信息容器中,可以添加背景和前景帧。最后,为角色名称添加两个标签。此示例不会创建角色名称列表条目 UI。
创建一个新项目,然后创建一个覆盖整个屏幕的根视觉元素。将根元素设置为具有背景颜色并将所有子元素居中到屏幕中间。
使用任何模板在 Unity 中创建项目。
选择窗口 (Window) > UI 工具包 (UI Toolkit) > UI Builder。
在 UI Builder 窗口的视口 (Viewport) 窗口的左上角,选择 文件 (File) > 新建 (New) 以创建新的 UXML 文档。
将其命名为 MainView.uxml 并保存。
将 VisualElement 从库 (Library) 拖入层级结构 (Hierarchy) 面板。
提示:还可以双击某个控件将其添加到层级结构 (Hierarchy) 面板。
从层级结构 (Hierarchy) 中选择该元素。
在检视面板 (Inspector) 窗口中,确保灵活 (Flex) > 增长 (Grow) 为 1。这会将 flex-grow 属性设置为 1,使其覆盖整个屏幕。
要将所有子元素居中,请将对齐项目 (Align Items) 和对齐内容 (Justify Content) 都设置为 Center。
将背景 (Background) > 颜色 (Color) 设置为 #732526。
注意:默认情况下,颜色的 Alpha 值为 0,这会使颜色完全透明。要使颜色不透明,需将 Alpha 值设置为 255。
在根元素下方创建一个新的 VisualElement。此元素成为 UI 左右两部分的父容器。
将 VisualElement 从 库 (Library) 拖到 层级结构 (Hierarchy) 面板中的根 VisualElement。
从层级结构 (Hierarchy) 中选择该元素。
在检视面板 (Inspector) 窗口中,将灵活 (Flex) > 方向 (Direction) 设置为 row。
将灵活 (Flex) > 增长 (Grow) 设置为 0。
将大小 (Size) > 高度 (Height) 设置为 350 个像素。
添加 ListView 作为容器的子元素来保存角色名称。
将 ListView 从库 (Library) 拖到层级结构 (Hierarchy) 面板中的容器 VisualElement 上。
从层级结构 (Hierarchy) 中选择该元素。
在检视面板 (Inspector) 窗口中,将名称 (Name) 设置为 CharacterList。
将大小 (Size) > 宽度 (Width) 设置为 230 个像素。
将间距 (Spacing) > 边距 (Margin) > 右 (Right) 设置为 6 个像素。
将背景 (Background) > 颜色 (Color) 设置为 #6E3925。
将边框 (Border) > 颜色 (Color) 设置为 #311A11。
将边框 (Border) > 宽度 (Width) 设置为 4 个像素。
将边框 (Border) > 半径 (Radius) 设置为 15 个像素。
在与 #CharacterList 相同的父级下添加新的 VisualElement 以容纳角色详细信息容器。目的是当用户从左侧列表中选择角色时,会显示角色的肖像、名称和类。
将 VisualElement 从库 (Library) 拖到 层级结构 (Hierarchy) 面板中的容器元素上。这是容纳右侧所有元素的容器。
从层级结构 (Hierarchy) 中选择该元素。
在检视面板 (Inspector) 窗口中,将对齐 (Align) > 对齐项目 (Align Items) 设置为 flex-end。
将对齐 (Align) > 对齐内容 (Justify Content) 设置为 space-between。
将另一个 VisualElement 添加为右容器的子项。
从层级结构 (Hierarchy) 中选择该元素。
将灵活 (Flex) > 增长 (Grow) 设置为 0。
将大小 (Size) > 宽度 (Width) 设置为 276 个像素。
在对齐 (Align) 部分,将 对齐项目 (Align Items) 和对齐内容 (Justify Content) 都设置为 center。
将间距 (Spacing) > 填充 (Padding) 设置为 8 个像素。
将背景 (Background) > 颜色 (Color) 设置为 #AA5939。
角色详细信息容器将使用与角色名称列表容器相同的边框样式。创建一个 USS 类以应用于这两个容器。
MainView.uss 并选择保存 (Save)。.border。.border 选择器将显示在 StyleSheet 面板中。.border。#311A11。4 个像素。15 个像素。.border从 StyleSheet 面板拖到角色详细信息容器 VisualElement 上。.border 从 StyleSheet 面板拖动到 #CharacterList。UI 布局现在如下所示:
将各个 UI 控件添加到角色详细信息容器中。第一步是添加角色纵向背景。
将 VisualElement 从库 (Library) 拖到角色详细信息容器中。
从层级结构 (Hierarchy) 中选择该元素。
在大小 (Size) 部分中,将宽度 (Width) 和高度 (Height) 都设置为 120 个像素。
将间距 (Spacing) > 填充 (Padding) 设置为 4 个像素。
将背景 (Background) > 颜色 (Color) 设置为 #FF8554。
将边框 (Border) > 颜色 (Color) 设置为 #311A11。
将边框 (Border) > 宽度 (Width) 设置为 2 个像素。
将边框 (Border) > 半径 (Radius) 设置为 13 个像素。
接下来,在角色详细信息容器中,为实际图像添加前景。
将 VisualElement 从库 (Library) 拖到角色详细信息容器中。
从层级结构 (Hierarchy) 中选择该元素。
将名称 (Name) 设置为 CharacterPortrait。
将灵活 (Flex) > 增长 (Grow) 设置为 1,以便图像可以使用所有可用空间。
将背景 (Background) > 缩放模式 (Scale Mode) 设置为 scale-to-fit,这样可以在保持正确纵横比的同时缩放图像,使其与元素大小匹配。
将两个标签控件添加到角色详细信息容器以显示所选角色的名称和类。
将标签 (Label) 从库 (Library) 拖动到层级结构 (Hierarchy) 面板中的字符详细信息容器。
将 Name 设置为 CharacterName。
将标签 (Label) 从库 (Library) 拖动到层级结构 (Hierarchy) 面板中的字符详细信息容器。
将 Name 设置为 CharacterClass。
选择 #CharacterName 元素。
将文本 (Text) > 字体样式 (Font Style) 设置为 B。
将文本 (Text) > 大小 (Size) 设置为 18 个像素。
在视口 (Viewport) 窗口中,选择文件 (File) > 保存 (Save) 以将更改保存到 MainView.uxml。
在 UI Builder 中,当元素数量较少时,可以创建元素,仅用内联样式来进行尝试。构建更复杂的 UI 时,使用样式表来管理样式会更加轻松便捷。您可以在 UI Builder 中将内联样式提取到样式表。
.background 作为类名称。.background 类选择器,并更新根视觉元素的 UI 文档 (UXML),以便从内联样式改为使用该类选择器。如果要继续创建列表视图运行时 UI 示例,可对其余所有元素重复样式提取步骤,并按照说明创建示例。