Version: 2021.1
Unity 中 UI 系统的对比
访问 UI 工具包

UI 工具包

UI 工具包是用于开发用户界面 (UI) 的特性、功能、资源和工具的集合。您可以使用 UI 工具包为 Unity 编辑器、运行时调试工具以及游戏和应用程序的运行时 UI 开发自定义 UI 和扩展。

UI 工具包的设计灵感来自标准 Web 技术。如果您有开发网页或应用程序的经验,您的大部分知识可能是可以移植的,并且许多核心概念可能似曾相识。

注意:
尽管 Unity 建议在一些新的 UI 开发项目中使用 UI 工具包,但它仍然缺少 Unity UI (uGUI) 和 IMGUI 中的功能。这些较旧的系统更适合特定用例,并且需要支持已弃用的项目。有关何时适合选择旧系统而不是 UI 工具包的信息,请参阅Unity 中 UI 系统的对比

UI 工具包概述

本节简要介绍了 UI 工具包的主要特性、功能、资源和工具,包括:

  • UI 系统:包含创建用户界面所需的核心特性和功能。
  • UI 资源:受标准 Web 格式启发的资源类型。使用它们来实现 UI 的构建和风格。
  • 工具和资源:创建和调试界面,以及学习如何使用 UI 工具包。

UI 系统

UI 工具包的核心是一种保留模式的 UI 的系统,基于公认的 Web 技术。它支持样式表以及动态和上下文事件处理。

UI 系统包括以下功能:

  • 视觉树定义您使用 UI 工具包构建的每个用户界面。视觉树是一个对象图,由轻量级节点组成,包含窗口或面板中的所有元素。
  • 控件标准 UI 控件库,例如按钮、弹出窗口、列表视图和拾色器。您可以按原样使用、自定义这些控件,或创建自己的控件。
  • 数据绑定系统将属性链接到修改其值的控件。
  • 布局引擎基于 CSS Flexbox 模型的布局系统。它根据布局和样式属性定位元素。
  • 事件系统将用户交互传达给元素;例如,输入、触摸和指针交互、拖放操作和其他事件类型。该系统包括分发程序、处理程序、合成程序和事件类型库。
  • UI 渲染器:直接构建在 Unity 图形设备层之上的渲染系统。
  • ** UI 工具包运行时支持(通过UI 工具包软件包):**包含创建运行时 UI 所需的组件。UI 工具包软件包当前处于预览状态。

UI 资源

UI 工具包提供了以下资源类型,您可以使用它们以类似于开发 Web 应用程序的方式构建用户界面:

  • UXML 文档 Unity 可扩展标记语言 (UXML) 是一种受 HTML 和 XML 启发的标记语言,可用于定义用户界面和可重用 UI 模板的结构。虽然您可以直接在 C# 文件中构建接口,Unity 建议在大多数情况下使用 UXML 文档。
  • Unity 样式表 (USS) 样式表允许您将视觉样式和行为应用于用户界面。它们类似于 Web 上使用的层叠样式表 (CSS),并支持标准 CSS 属性的子集。虽然您可以直接在 C# 文件中应用样式,Unity 建议使用 USS 文件。

UI 工具和资源

UI 工具包还包括以下工具和资源来帮助您创建 UI:

  • UI 调试器: UI 调试器是一种诊断工具,类似于 Web 浏览器的调试视图。使用它来探索元素的层级结构并获取有关其底层 UXML 结构和 USS 样式的信息。您可以在编辑器中找到: Window > UI Toolkit > Debugger
  • UI Builder (package): The UI Builder lets you visually create and edit UI Toolkit assets such as UXML and USS files. The UI Builder package is currently in preview. You can install it from the Package Manager window in the Unity Editor under Window > Package Manager.
  • UI 示例: UI 工具包含有一个 UI 控件的代码示例库,您可以在编辑器中查看:Window > UI Toolkit > Samples
Unity 中 UI 系统的对比
访问 UI 工具包