使用 MRTK 设置新的 OpenXR 项目

为混合现实设置 Unity 项目的最简单方法是使用 混合现实工具包 (MRTK) 。 MRTK for Unity 是一个开源的跨平台开发工具包,旨在简化卓越的混合现实应用程序的构建。

Infographic showing some of the features of the Mixed Reality Toolkit.

MRTK 提供跨平台的输入系统、基础组件以及用于空间交互的通用构建基块。 它可以帮助你加快 Microsoft HoloLens、Windows Mixed Reality 沉浸式 (VR) 头戴显示设备和其他许多 VR/AR 设备的应用程序开发。 该项目旨在降低进入门槛,使每个人都能生成混合现实应用程序,并在我们共同成长的过程中回馈社区。

MRTK 支持各种平台,包括:

  • Microsoft HoloLens

  • Microsoft HoloLens 2

  • Windows Mixed Reality 头戴显示设备

  • OpenVR 头戴显示设备 (HTC Vive/Oculus Rift)

  • Ultraleap 手部跟踪

  • Android 和 iOS 设备

注意

从 MRTK3 开始,我们将新的混合现实设计语言引入开发人员。 有关详细信息,请参阅 MRTK3 文档

其他非 OpenXR 配置选项

Windows XR:Microsoft 不建议将 Windows XR 插件用于 Unity 2020 中的任何新项目。 而应使用混合现实 OpenXR 插件。 但是,如果你使用的是 Unity 2019,需要 AR Foundation 2.0 来兼容 ARCore/ARKit 设备,则可使用此插件来启用该支持。

重要

在 Unity 2019 中使用此插件与 Azure 空间定位点不兼容。

旧版 XR:如果仍在 Unity 2019 或更早版本,Microsoft 建议使用旧版内置 XR 支持。 虽然 Windows XR 插件在 Unity 2019 上正常运行,但我们不建议使用它,因为它与 Unity 2019 上的 Azure 空间定位点不兼容。

如果正在启动新项目,建议改为安装 Unity 2020,并使用混合现实 OpenXR 插件。

创建新的 Unity 项目

  1. 启动 Unity Hub。

  2. 在“项目”选项卡中,单击“新建项目”。

    Screenshot of Unity Hub in Projects tab with the New Project button highlighted.

  3. 单击“新建项目”下面的下拉列表,然后选择你需要的编辑器版本。

    Screenshot of Unity Hub with the Editor version drop-down displayed.

  4. 确保所选模板为 3D Core。

  5. 在“项目名称”框中,输入项目的名称,例如“MRTK 教程”。

  6. 在“位置”框中,单击文件夹图标,然后导航到要在其中保存项目的文件夹,然后选择它。 也可以新建一个文件夹。

    Screenshot of Unity Hub with 3D, Project Name, Location, and Create highlighted.

  7. 单击“创建项目”。 这会在 Unity 中打开项目。

    Screenshot of your project open in Unity.

注意

在 Windows 上创建项目时,MAX_PATH 限制为 255 个字符。 Unity 受到这些限制的影响;如果任何文件路径的长度超过 255 个字符,就可能无法编译。 因此,建议将 Unity 项目存储在尽可能靠近驱动器根目录的位置。

设置生成目标

  1. 在菜单栏上,选择“文件”>“生成设置…” 。

    若要为 Windows Mixed Reality 生成应用,必须选择生成目标。 通用 Windows 平台 (UWP 的生成设置) 面向任何设备,包括 HP 混响 G2 等沉浸式耳机。 如果要为 HoloLens 2 构建,这是最佳选择;但是,如果你面向桌面 VR,我们建议使用 电脑、Mac & Linux 独立 平台。

  2. 执行下列操作之一:

    如果你的目标是桌面 VR

    • 保留电脑 、Mac & Linux 独立 平台,默认情况下在新的 Unity 项目中选中:

    Screenshot of Build Settings window open in the unity editor with PC, Mac & Standalone platform highlighted

    如果你的目标是 HoloLens 2

    • “平台”下,选择 “通用 Windows 平台”。 确保以下设置处于活动状态:

    目标设备:HoloLens

    体系结构:ARM64

    生成类型:D3D 项目

    目标 SDK 版本:已安装最新版本

    最低平台版本:10.0.10240.0

    Visual Studio 版本:已安装最新版本

    生成和运行位置:本地计算机

    生成配置:发布(调试存在已知性能问题)

    Screenshot of Build Settings window open in the unity editor with Universal Windows Platform highlighted.

  3. 单击“切换平台”按钮。 Unity 在切换平台时会显示进度栏。

  4. 切换平台过程完成后,关闭“生成设置”窗口。

下载并安装混合现实功能工具

发现、更新和导入功能包的最佳方法是使用混合现实功能工具。 你可以按名称或类别搜索包,查看其依赖项,以及在导入之前查看项目清单文件的建议更改。

  1. 请从 Microsoft 下载中心下载混合现实功能工具的最新版本。

  2. 下载完成后,解压缩文件并将其保存到桌面。

    注意

    在运行混合现实功能工具之前,必须安装 .NET 5.0 运行时

  3. 在解压缩的文件夹中,导航到可执行文件 MixedRealityFeatureTool.exe,然后使用它启动混合现实功能工具。

    Screenshot of Opening MixedRealityFeatureTool.

导入混合现实工具包和 OpenXR 包

  1. 在混合现实功能工具中,选择“启动”。

    Screenshot of the Mixed Reality Feature Tool opening screen.

  2. 选择“浏览”按钮(它是下图中的“三个点”按钮),导航到你的项目,然后将其打开。

    Open your project

    注意

    工具中的 “项目路径 ”框必须包含一个值,因此它默认插入反斜杠 (“_”) 。

    选择文件夹后,该工具会进行检查以确保它是有效的 Unity 项目文件夹。

    Screenshot of the Mixed Reality feature Tool Project Path screen.

  3. 选择“发现功能”。

    注意:工具刷新源中的包时可能需要等待几秒钟。

  4. 在“发现功能”页上,请注意有 6 个包组的列表。

    The main groups of packages in the Mixed Reality Feature Tool

  5. 单击“混合现实工具包(0/10)”左侧的“+”按钮,然后选择“混合现实工具包基础版”的最新版本。

    注意

    “混合现实工具包基础”包是唯一的包,必须将它导入并进行配置后,才能在项目中使用 MRTK。 此包中有创建混合现实应用所需的核心组件。

  6. 单击“平台支持(0/5)”左侧的“+”按钮,然后选择“混合现实 OpenXR 插件”的最新版本。

    Screenshot of package selections in the Mixed Reality Feature Tool.

  7. 做出选择后,请单击“获取功能”。

  8. 选择“验证”以验证所选的包。 应会看到一个对话框,显示“未检测到任何验证问题”。 完成后,单击“确定”。

  9. 在“导入功能”页上,左侧列的“功能”将显示你刚刚选择的包。 右侧列的“必需依赖项”显示所有依赖项。 可以单击其中任一项的“详细信息”链接,了解相关详细信息。

  10. 准备好继续时,选择“导入”。在“查看和批准”页上,可以查看有关包的信息。

  11. 选择“批准”。

  12. 返回到 Unity 编辑器,并单击 UI 中的空白区域。 你将看到一个进度栏,告知你正在导入你的包。

配置 OpenXR 设置

  1. Unity 导入包后,会出现一条警告,询问你是否要通过重启编辑器来启用后端。 选择 “是”

    Screenshot of Unity Restart Option.

  2. Unity 重新打开后,应显示 MRTK 项目配置器。 如果未显示,请手动打开它:在菜单栏上,选择“混合现实”>“工具包”>“实用程序”>“为 MRTK 配置项目”:

    Screenshot of the menu bar command for opening the MRTK Configurator.

  3. 选择“Unity OpenXR 插件”以启用 XR 插件管理,并将 Unity OpenXR 插件添加到项目。

    Screenshot of MRTK project configurator window with OpenXR selected.

  4. OpenXR 项目验证随即打开。 暂时可以忽略此问题。

  5. 在“欢迎使用 MRTK!”屏幕上,选择“显示 XR 插件管理设置”。

    Screenshot of the Show XR Plug-In Management Settings button.

    这将打开 “项目设置” 窗口。

为桌面 VR 配置项目

如果要针对 HoloLens2 进行开发,请跳过本部分并转到下一部分, 为 HoloLens 2 配置项目

  1. “项目设置” 窗口中,确保你位于 “XR 插件管理 ”页和 电脑的“Mac & Linux 独立 ”选项卡中。

    Screenshot of the Project Settings Window open to the XR Plugin Management Page and PC, Mac & Linux Standalone tab.

  2. 确保选中“在启动时初始化 XR”,然后在“插件提供程序”下单击“打开 XR”。

    Screenshot of the Project Settings Window, inside the PC, Mac & Linux Standalone tab, with Initialize XR on Startup selected and the OpenXR Plugin highlighted.

  3. 加载 OpenXR 插件,然后在“OpenXR”下方出现两个项目。 选择第一个 Windows Mixed Reality 功能组

    Screenshot of Project Settings Window the OpenXR Plugin and Windows Mixed Reality feature group highlighted.

请注意,现在 OpenXR 旁边有一个黄色的警告三角形。 这表示你具有需要解析的不兼容设置。 若要了解如何解决此问题,请跳过有关配置 HoloLens 2 的下一部分,并继续执行以下部分“ 解决不兼容的设置”。

为 HoloLens 2 配置项目

  1. “项目设置” 窗口中,确保你位于 “XR 插件管理 ”页上, (“Windows 徽标”选项卡) 选中通用 Windows 平台设置。

    Screenshot of the Project Settings Window open to the XR Plugin Management Page and Universal Windows Platform tab.

  2. 确保选中“在启动时初始化 XR”,然后在“插件提供程序”下单击“打开 XR”。

    Screenshot of Project Settings Window 3.

  3. OpenXR 下方会显示两个项目。 选择第一个,即“Microsoft HoloLens 功能组”。

请注意, OpenXR 旁边有一个黄色警告三角形。 这表示你具有需要解析的不兼容设置。

解析不兼容的设置

本部分中的图像显示通用 Windows 平台选项卡中的选项。但是,“桌面 VR”选项卡的说明相同,但未指出。

  1. 将光标悬停在 OpenXR 旁边的黄色警告三角形上,然后在弹出窗口中读取消息,然后选择三角形。

    Screenshot of warning about incompatible settings.

  2. 在“OpenXR 项目验证”窗口中,列出了几个问题。 选择“全部修复”按钮。 注意:此列表可能有所不同,具体取决于你所在的选项卡。

    Screenshot of the Fix All button in the OpenXR Project Validation window.

  3. 一个问题仍然存在,并告诉你必须添加至少一个交互配置文件。 为此,请单击“编辑”。 这会转到“项目设置”窗口中“OpenXR”插件的设置。

    Screenshot of the Project Settings window with the OpenXR settings displayed.

  4. 在“交互配置文件”下方,请注意加号 (+) 按钮。

    Screenshot of the Add Interaction Profile button.

  5. 单击该按钮三次,每次选择不同的配置文件:

    眼睛注视交互配置文件

    Microsoft 手势交互配置文件

    Microsoft 运动控制器配置文件

    Screenshot of interaction profiles that should be added.

    如果“眼睛凝视交互配置文件”或其他任何配置文件旁边出现黄色三角形,请选择该三角形,然后在“OpenXR 项目验证”窗口中,单击“修复”按钮。 完成后,关闭“OpenXR 项目验证”窗口。

    Screenshot of the Fix button for the Eye Gaze interaction profile.

  6. 在“项目设置”窗口的“OpenXR 功能组”下,确保选中以下各项:

    Microsoft HoloLens

    手部跟踪

    运动控制器模型

    Screenshot of selected features for OpenXR.

  7. 单击“深度提交模式”下拉列表,然后选择“深度 16 位”。

    Screenshot of Depth 16 Bit selected for Depth Submission Mode.

    提示

    将深度格式减少到 16 位是可选的,但这可能会提高项目中的图形性能。 若要了解详细信息,请参阅深度缓冲区共享 (HoloLens)

    注意

    “呈现模式”设置位于“深度提交模式”上方,默认设置为“单通道实例化”。 在混合现实应用中,场景会渲染两次:为每只眼睛渲染一次。 结果是“立体视觉”。这会使必要的计算量翻倍,因此在 Unity 中选择最有效的渲染路径以节省 CPU 和 GPU 时间非常重要。 单通道实例化渲染是这里的最佳选择,我们建议默认为每个项目启用它。 若要详细了解此内容,请参阅 Unity 文档

  8. 关闭 MRTK 项目配置器 窗口。

配置播放器设置

  1. 在“项目设置”窗口的左侧列中,选择“播放器”。

  2. 请注意,在 “播放器 ”窗口中, “产品名称 ”框已填充。 这取自项目名称,将是 HoloLens“开始”菜单中显示的名称。

    Screenshot of Unity Publishing Settings with the Project Name box filled in.

    提示

    为了使应用在开发期间更易于查找,请在名称前添加一个下划线,以将其排列到任何列表的顶部。

  3. 单击“ 发布设置” 下拉列表,然后在 “包名称 ”字段中输入合适的名称。

    Screenshot of Unity Publishing Settings with the package name box filled in.

    注意

    包名称是应用的唯一标识符。 如果要避免覆盖以前安装的同名应用版本,则应在部署应用之前更改此标识符。

  4. 关闭“项目设置”窗口。

Optimization

如果要针对 HoloLens 2 进行开发,请在菜单栏上,选择 HoloLens 2 的混合现实 > 项目 > 应用推荐的项目设置 ,以获得更好的应用性能。

Screenshot of the mixed reality menu item open with OpenXR selected

你现在已准备好开始通过 Unity 中的 OpenXR 进行开发!

Unity 示例项目

请查看 OpenXR 混合现实示例存储库中的示例 Unity 项目,这些示例项目展示了如何使用混合现实 OpenXR 插件为 HoloLens 2 或混合现实头戴显示设备生成 Unity 应用程序。

另请参阅