Version: Unity 6.0 (6000.0)
语言 : 中文
用户界面 (UI)
UI 工具包

Unity 中 UI 系统的对比

UI 工具包是为新__ UI__ 开发项目打造的推荐 UI 系统。但是,在当前版本中,UI 工具包没有 Unity UI (uGUI)即时模式 GUI (IMGUI) 所支持的部分功能。uGUI 和 IMGUI 在特定用例中更具优势,并且是维护旧版项目的必备工具。

本页面提供了 UI 工具包、uGUI 和 IMGUI 的高级功能比较,以及介绍了它们各自的 UI 设计方法。

一般考虑因素

下表列出了适用于运行时和编辑器的推荐系统和替代系统:

Unity 6 建议系统 替代系统
运行时 Unity UI UI 工具包
编辑器 UI 工具包 IMGUI

角色和技能集

团队的技能集以及对不同技术的习惯程度也是一个重要的考虑因素。

下表列出了适用于不同角色的推荐系统:

角色 UI 工具包 Unity UI
(uGUI)
IMGUI 技能集
程序员 程序员可以使用任何游戏开发工具或 API。
技术美术师 部分支持 熟悉 Unity 基于游戏对象的工具和工作流程的技术美术师可能会习惯使用游戏对象、组件和场景 (Scene) 视图。

他们可能不习惯 UI 工具包类似于 Web 的方法或 IMGUI 的纯 C# 方法。
UI 设计师 部分支持 对于熟悉 UI 创建工具的设计师而言,UI 工具包基于文档的设计思路应该能让他们很容易上手,他们还能借助 UI Builder 直观地编辑 UI。

如果他们不熟悉基于游戏对象的工作流程,可能需要工程师或关卡设计师的帮助。

创新和开发

UI 工具包目前正处于积极的开发阶段,会频繁推出新功能。而 uGUI 和 IMGUI 是已经成熟且在实际生产中得到验证的 UI 系统,不过它们的更新频率较低。

如果您需要的功能在 UI 工具包中尚未提供,或者需要支持或复用旧的 UI 内容,那么 uGUI 和 IMGUI 可能是更好的选择。

运行时

如果您要创建能够在多种屏幕分辨率下运行的屏幕覆盖 UI,则 UI 工具包可以作为 Unity UI 的替代方案。可以考虑使用 UI 工具包来执行以下操作:

  • 使用大量用户界面进行创作
  • 要求美术师和设计师熟悉创作工作流程
  • 寻求无纹理 UI 渲染功能

Unity UI 是适用于以下情况的建议解决方案:

  • 在 3D 世界中定位和照亮的 UI
  • 具有自定义着色器和材质的 VFX
  • 易于从 MonoBehaviours 引用

用例

下表列出了适用于主要运行时用例的建议系统:

Unity 6 建议系统
密集型 UI 项目中的多分辨率菜单和 HUD UI 工具包
世界空间 UI 和__ VR__虚拟现实。更多信息
See in Glossary
Unity UI
需要自定义着色器和材质的 UI Unity UI

详细信息

下表列出了针对详细运行时功能的推荐系统:

Unity 6 UI 工具包 Unity UI
所见即所得的创作
嵌套可复用的组件
全局样式管理
布局和样式调试器
场景集成
富文本标签 是*
可缩放文本 是*
字体后备 是*
自适应布局
输入系统支持
序列化事件
可视化脚本支持
渲染管线兼容
屏幕空间 (2D) 渲染
世界空间 (3D) 渲染
自定义材质和着色器
精灵/精灵图集支持
动态纹理图集
无纹理元素
UI 抗锯齿
矩形裁剪
遮罩裁剪
嵌套遮罩
UI 过渡动画
与动画剪辑和时间轴集成

** 需要 TextMesh Pro 包*

编辑器

如果创建复杂的编辑器工具,建议使用 UI 工具包。UI 工具包还有以下推荐理由:

  • 更好的可复用性和解耦性
  • 用于创作 UI 的直观工具
  • 在代码维护和性能方面有更好的可扩展性

对于以下情况,IMGUI 可以作为 UI 工具包的替代方案:

  • 不受限制地访问编辑器可扩展功能
  • 用于在屏幕上快速渲染 UI 的轻量级 API

用例

下表列出了适用于主要编辑器用例的建议系统:

Unity 6 建议系统
复杂的编辑器工具 UI 工具包
属性绘制器 UI 工具包
与设计师合作 UI 工具包

详细信息

下表列出了针对详细编辑器功能的推荐系统:

Unity 6 UI 工具包 IMGUI
所见即所得的创作
嵌套可复用的组件
全局样式管理
布局和样式调试器
富文本标签
可缩放文本
字体后备
自适应布局
默认检视面板
检视面板编辑自定义对象类型
检视面板编辑自定义属性类型
检视面板混合值(多重编辑)支持
数组和列表视图控件
数据绑定序列化属性

其他资源

用户界面 (UI)
UI 工具包