Version: 2020.3
Unity 中 UI 系统的对比
Accessing UI Toolkit

UI 工具包

UI Toolkit is a collection of features, functionality, resources, and tools for developing user interfaces (UI). You can use UI Toolkit to develop custom UI and extensions for the Unity Editor, runtime debugging tools, and runtime UI for games and applications.

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

注意:
Although Unity recommends using UI Toolkit for some new UI development projects, it’s still missing features found in Unity UI (uGUI) and IMGUI. These older systems are more appropriate for certain use cases, and are required to support deprecated projects. For information about when it’s appropriate to choose an older system instead of the UI Toolkit, see the Comparison of UI systems in Unity.

UI 工具包概述

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

  • UI system: Contains the core features and functionality required to create user interfaces.
  • UI Assets: Asset types inspired by standard web formats. Use them to structure and style UI.
  • Tools and resources: Create and debug your interfaces, and learn how to use UI toolkit.

UI 系统

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

UI 系统包括以下功能:

  • Visual tree: Defines every user interface you build with the UI Toolkit. A visual tree is an object graph, made of lightweight nodes, that holds all the elements in a window or panel.
  • 控件标准 UI 控件库,例如按钮、弹出窗口、列表视图和拾色器。您可以按原样使用、自定义这些控件,或创建自己的控件。
  • 数据绑定系统将属性链接到修改其值的控件。
  • 布局引擎基于 CSS Flexbox 模型的布局系统。它根据布局和样式属性定位元素。
  • 事件系统将用户交互传达给元素;例如,输入、触摸和指针交互、拖放操作和其他事件类型。该系统包括分发程序、处理程序、合成程序和事件类型库。
  • UI 渲染器:直接构建在 Unity 图形设备层之上的渲染系统。
  • UI Toolkit Runtime Support (via the UI Toolkit package): Contains the components required to create runtime UI. The UI Toolkit package is currently in preview.

UI 资源

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

  • UXML 文档 Unity 可扩展标记语言 (UXML) 是一种受 HTML 和 XML 启发的标记语言,可用于定义用户界面和可重用 UI 模板的结构。虽然您可以直接在 C# 文件中构建接口,Unity 建议在大多数情况下使用 UXML 文档。
  • Unity Style Sheets (USS): Style sheets allow you to apply visual styles and behaviors to user interfaces. They’re similar to Cascading Style Sheets (CSS) used on the web, and support a subset of standard CSS properties. Although you can apply styles directly in C# files, Unity recommends using USS files.

UI 工具和资源

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

  • UI 调试器: UI 调试器是一种诊断工具,类似于 Web 浏览器的调试视图。使用它来探索元素的层级结构并获取有关其底层 UXML 结构和 USS 样式的信息。您可以在编辑器中找到: Window > UI Toolkit > Debugger
  • UI Builder(包) UI Builder 可让您直观地创建和编辑 UI 工具包资源,例如 UXML 和 USS 文件。UI Builder 包当前处于预览状态。在 Unity 编辑器中,可通过 Package Manager 窗口进行安装:Window > Package Manager
  • UI Samples: The UI Toolkit includes a library of code samples for UI controls that you can view in the Editor under Window > UI Toolkit > Samples.
Unity 中 UI 系统的对比
Accessing UI Toolkit