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 工具包来执行以下操作:
Unity UI 是适用于以下情况的建议解决方案:
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 工具包还有以下推荐理由:
对于以下情况,IMGUI 可以作为 UI 工具包的替代方案:
下表列出了适用于主要编辑器用例的建议系统:
| Unity 6 | 建议系统 |
|---|---|
| 复杂的编辑器工具 | UI 工具包 |
| 属性绘制器 | UI 工具包 |
| 与设计师合作 | UI 工具包 |
下表列出了针对详细编辑器功能的推荐系统:
| Unity 6 | UI 工具包 | IMGUI |
|---|---|---|
| 所见即所得的创作 | 是 | 否 |
| 嵌套可复用的组件 | 是 | 否 |
| 全局样式管理 | 是 | 是 |
| 布局和样式调试器 | 是 | 否 |
| 富文本标签 | 是 | 是 |
| 可缩放文本 | 是 | 否 |
| 字体后备 | 是 | 是 |
| 自适应布局 | 是 | 是 |
| 默认检视面板 | 是 | 是 |
| 检视面板编辑自定义对象类型 | 是 | 是 |
| 检视面板编辑自定义属性类型 | 是 | 是 |
| 检视面板混合值(多重编辑)支持 | 是 | 是 |
| 数组和列表视图控件 | 是 | 是 |
| 数据绑定序列化属性 | 是 | 是 |