Version: 6000.3
语言: 中文
UI 工具包
UI Toolkit 入门

UI 工具包简介

您可以使用 UI 工具包为 Unity 编辑器开发自定义 UI 和扩展,以及游戏和应用程序的运行时 UI。

受网络启发的设计

UI Toolkit 旨在实现跨平台的最佳性能和适应性,其灵感来自标准 Web 技术。如果您有开发网页或应用程序的经验,您可能熟悉 UI Toolkit 的核心概念。使用 UI Toolkit,您可以分离 UI 的结构、样式和行为,类似于使用 HTML、CSS 和 JavaScript 的方式。

UI Toolkit 使用以下资产,类似于 Web 开发:

UI 资产与 C# 代码之间的关系
UI 资产与 C# 代码之间的关系

UXML的

UXML 是一种受 HTML 和 XML 启发的标记语言,它定义了 UI 结构和可重用的模板。虽然你可以用C#构建UI,但建议使用UXML。

USS

USS 是将视觉样式和布局规则应用于 UI 的样式表。与 CSS 类似,USS 支持标准 CSS 属性的子集。虽然可以在 C# 中定义样式,但建议使用 USS。

保留模式架构

UI 工具包在保留模式架构中运行,这意味着 UI 构建分层结构并将其维护在内存中。该框架根据该树的状态处理对 UI 的渲染和更新。以下是保留模式的详细含义:

声明式结构

UI 组件被定义和管理为可视化树轻量级节点组成的对象图,用于保存窗口或面板中的所有元素。它定义了使用 UI 工具包构建的每个 UI。
请参阅术语表
.可视化树是由轻量级节点组成的对象图,用于保存窗口或面板中的所有元素。它定义了使用 UI Toolkit 构建的每个 UI。只需声明一次 UI 结构,UI 工具包就会根据对树的更改进行渲染和更新。

可视化树示例
可视化树示例

状态持久性

保留模式下的 UI 元素在创建后保留在内存中。您可以修改它们的属性,UI 工具包会反映下一个呈现周期中的更改。例如,如果您有一个按钮,则无需手动重新绘制它。更新其属性(例如位置或外观)就足够了。系统处理其余部分。

事件处理

单击、拖动或按键等事件会自动路由到相应的视觉元素实例化或派生自 C# 的可视化树的节点VisualElement类。您可以设置外观样式、定义行为并将其作为 UI 的一部分显示在屏幕上。更多信息
请参阅术语表
在树上。将处理程序附加到 UI 元素,UI 工具包会适当地传播事件。

数据绑定

UI Toolkit 支持数据绑定系统,允许您将 UI 元素的属性链接到数据源。这意味着当数据发生变化时,UI 会自动更新,反之亦然。这类似于 React 或 Angular 等框架在 Web 开发中处理数据绑定的方式。

数据绑定示例
数据绑定示例

布局引擎

UI Toolkit 使用基于 CSS Flexbox 模型的布局引擎。这使您可以定义 UI 元素在其父容器中的位置和大小。布局引擎根据元素的属性自动计算元素的大小和位置,从而更轻松地创建响应式设计。

使用柔性属性实现高效的空间分布、轻松重新排序和元素的绝对定位。布局引擎还支持对齐、对齐、换行等。

Flexbox 布局示例
Flexbox 布局示例

UI 控件库

UI 工具包提供了丰富的标准 UI 控件库,可用于构建界面,例如按钮、切换以及列表和树视图。您可以按原样使用它们、自定义它们或创建自己的控件

标准 UI 控件
标准 UI 控件

文本和字体

UI Toolkit 支持文本系统,允许您使用字体、样式和文本元素。您可以使用系统字体或导入自定义字体,并应用粗体、斜体或下划线等样式。文本系统旨在与布局引擎无缝协作,确保文本在 UI 中正确流动。

文本和字体示例
文本和字体示例

支持编辑器和运行时UI

UI 工具包允许你创建在编辑器运行时UI中无缝运行的UI。相同的 UI 元素、样式和布局系统适用于两种方案,从而减少重复并确保一致性。无论你是构建游戏内菜单、平视显示器(HUD)还是自定义编辑器工具,UI Toolkit都提供了针对不同上下文调整UI的功能。

饼图将显示在场景和编辑器窗口中。
饼图将显示在场景和编辑器窗口中。

UI 工具和资源

UI 工具包提供了一组工具和资源来帮助您设计、开发和调试 UI。

UI 调试器

UI 调试器是一种类似于 Web 浏览器调试视图的诊断工具。使用它来探索元素的层次结构,并获取有关其底层UXML结构和USS样式的信息。

UI 调试器示例
UI 调试器示例

UI 生成器

UI Builder 是一种可视化创作工具,可让您创建和编辑 UXML 和 USS 文件。您可以直观地设计 UI、拖放元素以及自定义样式,而无需编写代码。

UI Builder示例
UI Builder示例

UI 示例

UI控件的代码示例库,可在编辑器中的 窗口(Window) > UI 工具包(UI Toolkit) > 示例(Samples) 下查看。

UI 工具包示例
UI 工具包示例

角色和职责

在工作室中,UI Toolkit 可以跨不同学科使用,每个角色都为流程的特定部分做出贡献。

UX/UI设计师

UX/UI 设计师负责 UI 的整体外观和感觉。他们创建线框图、模型和原型来定义用户体验。

设计人员使用 UI Builder 直观地设计 UI,并创建用于结构和样式的 UXML 和 USS 文件。

开发 人员

开发人员实现UI的行为,并将其与游戏或编辑器逻辑集成。他们与设计师密切合作,确保 UI 符合设计规范并正确运行。

开发人员使用 C# 创建自定义功能、处理用户交互和绑定数据。他们还使用 UI Toolkit 的 API 与设计人员创建的 UI 控件进行交互,并开发设计人员可以在其设计中使用和自定义的自定义 UI 控件。

技术美术师

技术艺术家通常充当设计师和开发人员之间的桥梁。他们确保视觉资产针对性能进行优化并与 UI 很好地集成。

技术美术师协助创建 USS 样式并解决开发过程中出现的问题。

QA/测试

QA/测试人员测试 UI,以确保其正常运行并符合设计规范。

测试人员使用 UI 调试器检查 UI 层次结构并验证交互。

其他资源

UI 工具包
UI Toolkit 入门