使用 MRTK 设置新的 OpenXR 项目

为混合现实设置Unity项目的最简单方法是使用 混合现实 工具包 (MRTK) 。 适用于Unity的 MRTK 是一种开源的跨平台开发工具包,旨在轻松构建出色的混合现实应用程序。

显示混合现实工具包的一些功能的信息图。

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 设备

要考虑的其他非 OpenXR 配置选项

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

旧版 XR

如果仍在使用 Unity 2019 或更早版本,Microsoft建议使用旧版内置 XR 支持。

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

OpenXR 入门:创建新的Unity项目

  1. 启动 Unity 中心

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

    “项目”选项卡中Unity中心的屏幕截图,其中突出显示了“新建项目”按钮。

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

    Unity中心的屏幕截图,其中显示了“编辑器版本”下拉列表。

  4. 确保所选模板为 3D 核心

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

  6. 在“ 位置 ”框中,单击文件夹图标,然后导航到要在其中保存项目的文件夹并将其选中。 还可以创建新文件夹。

    Unity中心的屏幕截图,其中突出显示了“3D”、“项目名称”、“位置”和“创建”。

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

    在 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项目上选中:

    Unity 编辑器中打开的“生成设置”窗口的屏幕截图,其中突出显示了电脑、Mac & 独立平台

    如果你的目标是HoloLens 2

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

    生成类型:D3D 项目

    目标 SDK 版本:最新安装

    最低平台版本:10.0.10240.0

    Visual Studio 版本:最新安装

    Unity 编辑器中打开的“生成设置”窗口的屏幕截图,其中突出显示了通用 Windows 平台。

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

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

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

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

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

  2. 下载完成后,导航到可执行文件MixedRealityFeatureTool.exe,然后使用它启动混合现实功能工具。

    打开 MixedRealityFeatureTool 的屏幕截图。

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

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

    混合现实功能工具打开屏幕的屏幕截图。

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

    打开项目

    注意

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

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

    混合现实功能“工具项目路径”屏幕的屏幕截图。

  3. 选择“ 发现功能”。

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

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

    混合现实功能工具中的包main组

  5. 单击 混合现实 Toolkit 左侧的“+”按钮, (10) 中的 0,然后选择最新版本的 混合现实 Toolkit Foundation

    注意

    混合现实 Toolkit Foundation 包是唯一必须导入和配置的包,才能将 MRTK 用于项目。 此包包括创建混合现实应用程序所需的核心组件。

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

    混合现实功能工具中包选择的屏幕截图。

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

  8. 选择“ 验证” 以验证所选包。 应会看到一个对话框,指出 未检测到验证问题。 执行此作时,单击“ 确定”。

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

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

  11. 选择“ 批准”。

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

配置输入后端设置

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

    Unity重启选项的屏幕截图。

通过项目验证 (MR OpenXR 1.6+) 为HoloLens 2配置项目

如果要针对桌面 VR 进行开发,请跳过此部分,转到 为桌面 VR 配置项目

  1. 在菜单栏上,单击“混合现实>项目验证设置>HoloLens 2应用程序 (UWP) ”,为HoloLens 2启用验证规则。 对于 1.9 版之前的 MR OpenXR 插件,可用的菜单项混合现实 > Project > Apply 推荐HoloLens 2项目设置
  2. 在弹出的项目验证窗口中,确保位于“UWP 平台”选项卡上, (Windows 徽标) 指示,然后单击“ 全部修复 ”以解决验证问题。 请注意,单击“ 全部修复”后可能存在问题。 在这种情况下,请尝试再次单击“ 全部修复 ”,如果有任何) ,请忽略标记为“特定于场景” (的任何问题,并浏览其余问题 (是否有任何) ,以查看是否有任何建议的更改。
  3. 此时,项目已HoloLens 2部署准备就绪。 继续执行下一步的 “配置播放器设置 ”。

手动为HoloLens 2配置项目

如果要针对桌面 VR 进行开发,请跳过此部分,转到 为桌面 VR 配置项目

  1. 确保“ 项目设置” 窗口处于打开状态。 如果没有,请在菜单栏上选择“ 编辑>项目设置”。

  2. “项目设置”窗口中,确保位于“XR 插件管理”页和“通用 Windows 平台”选项卡中。

    打开到“XR 插件管理页和通用 Windows 平台”选项卡的“项目设置”窗口的屏幕截图。

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

    通用 Windows 平台内“项目设置”窗口的屏幕截图,其中选择了“启动时初始化 XR”,并突出显示了“OpenXR 插件”。

  4. 加载 OpenXR 插件,然后在 OpenXR 下面显示多个项。 选择“Microsoft HoloLens功能组”。

    项目设置窗口的屏幕截图,其中突出显示了 OpenXR 插件和Microsoft HoloLens功能组。

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

通过项目验证为桌面 VR 配置项目 (MR OpenXR 1.9+)

  1. 在菜单栏上,单击“混合现实>项目验证设置 > Win32 应用程序 (独立) 为桌面 XR 应用启用验证规则。
  2. 在弹出的项目验证窗口中,确保位于“独立平台”选项卡上,然后单击“ 全部修复 ”以解决验证问题。 请注意,单击“ 全部修复”后可能存在问题。 在这种情况下,请尝试再次单击“ 全部修复 ”,如果有任何) ,请忽略标记为“特定于场景” (的任何问题,并浏览其余问题 (是否有任何) ,以查看是否有任何建议的更改。

手动为桌面 VR 配置项目

  1. 确保“ 项目设置” 窗口处于打开状态。 如果没有,请转到菜单栏,选择 “编辑>项目设置”。

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

    打开到“XR 插件管理页和电脑、Mac & Linux 独立”选项卡的“项目设置”窗口的屏幕截图。

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

    电脑内的“项目设置”窗口的屏幕截图,其中 Mac & Linux 独立选项卡,其中选中了“启动时初始化 XR”,并突出显示了“OpenXR 插件”。

  4. OpenXR 插件加载,然后 OpenXR 下面会显示两个项目。 选择第一个,Windows Mixed Reality功能组

    “项目设置”窗口的屏幕截图,其中突出显示了 OpenXR 插件和Windows Mixed Reality功能组。

请注意, OpenXR 旁边现在有一个黄色警告三角形。 这表示存在需要解决的不兼容设置。 若要了解如何解决此问题,请继续学习下一部分: 解决不兼容的设置

解决不兼容的设置

重要

本部分中的图像显示了“通用 Windows 平台”选项卡中的选项。但是,“桌面 VR”选项卡的说明相同,除非另有说明。

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

    有关不兼容设置的警告的屏幕截图。

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

    OpenXR 项目验证窗口中“全部修复”按钮的屏幕截图。

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

    “项目设置”窗口的屏幕截图,其中显示了 OpenXR 设置。

  4. “交互配置文件”下,记下加号 (+) 按钮。

    “添加交互配置文件”按钮的屏幕截图。

  5. 单击该按钮三次,每次选择其他配置文件:

    眼睛凝视交互配置文件

    Microsoft手部交互配置文件

    Microsoft运动控制器配置文件

    应添加的交互配置文件的屏幕截图。

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

    眼睛凝视交互配置文件的“修复”按钮的屏幕截图。

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

    如果你位于“桌面 VR”选项卡:

    Windows Mixed Reality

    手部跟踪

    运动控制器模型

    “桌面 VR”选项卡的 OpenXR 功能组的屏幕截图。

    如果位于“通用 Windows 平台”选项卡中:

    Microsoft HoloLens

    手部跟踪

    运动控制器模型

    OpenXR 的选定功能的屏幕截图。

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

    为深度提交模式选择了“深度 16 位”的屏幕截图。

    提示

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

    注意

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

配置播放器设置

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

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

    Unity发布设置的屏幕截图,其中填写了“项目名称”框。

    提示

    若要使应用在开发过程中更易于查找,请在名称前面添加下划线,将其排序到任何列表的顶部。

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

    Unity发布设置的屏幕截图,其中填充了包名称框。

    注意

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

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

现在,你已准备好开始在 Unity 中使用 OpenXR 进行开发!

Unity示例项目

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

另请参阅