OpenXR 入门

你可在桌面上的 HoloLens 2 或 Windows Mixed Reality 沉浸式头戴显示设备上使用 OpenXR 进行开发。 如果你无法访问头戴显示设备,可以改用 HoloLens 2 仿真器或 Windows Mixed Reality 模拟器。

开始使用适用于 HoloLens 2 的 OpenXR

若要开始开发适用于 HoloLens 2 的 OpenXR 应用程序,请执行以下操作:

  1. 设置 HoloLens 2 设备安装 HoloLens 2 仿真器的最新版本

就这么简单! OpenXR API 运行时预装在 HoloLens 2 设备上,通过 Microsoft Store 接收自动更新。

若要确保获得最新的 OpenXR 运行时和所有扩展,可以从 HoloLens 设备或仿真器启动 Microsoft Store 应用。 打开 Microsoft Store 应用右上角的菜单,选择“下载和更新”,然后选择“获取更新”

注意

如果使用仿真器,则每次启动仿真器时都会重置仿真器映像,因此最好的办法是确保获得最新版本的 HoloLens 2 仿真器映像

开始使用适用于 Windows Mixed Reality 头戴显示设备的 OpenXR

若要开始开发适用于 Windows Mixed Reality 沉浸式头戴显示设备的 OpenXR 应用程序,请执行以下操作:

  1. 确保至少运行 Windows 10 2020 年 10 月更新 (20H2),这是 Windows Mixed Reality 最终用户运行 OpenXR 应用程序所支持的最低操作系统版本。 早期版本的 Windows 10 仍适用于 OpenXR,但可能达不到理想的性能或运行质量。 如果使用早期版本的 Windows 10,可以使用 Windows 10 更新助手进行升级。
  2. 设置 Windows Mixed Reality 头戴显示设备启用 Windows Mixed Reality 模拟器

就这么简单! Windows Mixed Reality OpenXR 运行时已安装,并已自动为所有 Windows Mixed Reality 用户激活。 然后,Microsoft Store 会使该运行时保持最新。

如果已经在电脑上使用了多个 VR 头戴显示设备,请记住,活动的 OpenXR 运行时可能会被其他供应商的系统软件更改。 要重新激活 Windows Mixed Reality OpenXR 运行时,请在“开始”菜单上启动“混合现实门户”,然后选择窗口顶部的“修复”。 如果未看到该按钮,则表示 OpenXR 运行时已激活。

获取适用于 Windows Mixed Reality 的 OpenXR 工具

如果你正在为 HoloLens 2 或电脑 VR 开发 OpenXR 应用程序,那么适用于 Windows Mixed Reality 的 OpenXR 工具应用会非常有用。 它提供了各种 OpenXR 功能的演示和一个 OpenXR 运行时页面,其中包含有关活动运行时和当前头戴显示设备的关键信息。

若要查找和安装 OpenXR 工具应用,请在 HoloLens 2 上,转到 Microsoft Store 应用并搜索“OpenXR”。

使用 HoloLens 2 仿真器时,安装适用于 Windows Mixed Reality 的 OpenXR 工具的最简单方法是使用 Windows 设备门户。 在门户中,导航到“OpenXR”页,然后在“开发人员功能”下,选择“安装”按钮。 这也适用于物理 HoloLens 2 设备。

OpenXR Tools for Windows Mixed Reality app

浏览 OpenXR API 和示例应用

如果尚未安装 OpenXR 开发所需的工具,请务必进行安装。

BasicXrApp 项目显示了一个简单的 OpenXR 示例,其中包含 Visual Studio 中的 Win32 和 UWP HoloLens 2 项目文件。 由于该解决方案包含一个 HoloLens UWP 项目,因此需要在 Visual Studio 中安装通用 Windows 平台开发工作负载才能完全打开它。

虽然 Win32 和 UWP 项目文件因为打包和部署差异而独立提供,但每个项目内部的应用代码几乎完全相同!

有关 OpenXR API 的导览,请观看 Visual Studio 中这段 60 分钟的 BasicXrApp 示例视频。 该视频演示了如何在你自己的引擎中使用 OpenXR API 的每个主要组件,并演示了当今基于 OpenXR 生成的一些应用程序:

运行 OpenXR 应用

生成 OpenXR Win32 桌面 .EXE 后,可以在支持 OpenXR 的任何桌面 VR 平台上将此文件用于 VR 头戴显示设备,无论头戴显示设备类型如何。

生成 OpenXR UWP 应用包后,可将该包部署到 HoloLens 2 设备或 HoloLens 2 仿真器。

在现有项目中使用 OpenXR

若要在现有项目中开始使用 OpenXR,请包含 OpenXR 加载程序。 该加载程序发现设备上的活动 OpenXR 运行时,并提供对其实现的核心功能和扩展功能的访问。

可以从 Visual Studio 项目引用官方 OpenXR NuGet 包,或者从 Khronos GitHub 存储库包含官方 OpenXR 加载程序源代码。 无论采用哪种方法,都可以访问 OpenXR 1.0 核心功能,以及已发布的 KHREXTMSFT 扩展。

如果你还有兴趣体验 MSFT_preview 扩展,可以从混合现实 GitHub 存储库中复制预览 OpenXR 标头

引用官方 OpenXR NuGet 包

OpenXR.Loader NuGet 包是在 Visual Studio C++ 解决方案中引用预生成 OpenXR 加载程序 .DLL 的最简单方法。 这样,你便可以访问 OpenXR 1.0 核心功能以及已发布的 KHREXTMSFT 扩展。

若要将 OpenXR.Loader NuGet 包引用添加到 Visual Studio C++ 解决方案,请执行以下操作:

  1. 在“解决方案资源管理器”中,右键单击要使用 OpenXR 的项目,然后选择“管理 NuGet 包...”
  2. 切换到“浏览”选项卡,搜索“OpenXR.Loader”
  3. 选择“OpenXR.Loader”包,然后在右侧的详细信息窗格中选择“安装”
  4. 选择“确定”以接受对项目的更改。
  5. #include <openxr/openxr.h> 添加到源文件以开始使用 OpenXR API。

若要查看 OpenXR API 的操作示例,请查看 BasicXrApp 示例应用。

包含官方 OpenXR 加载程序源代码

若要自行生成加载程序(例如,为了避免额外的加载程序 .DLL),可将官方 Khronos OpenXR 加载程序源代码拉入项目中。 这样,你便可以访问 OpenXR 1.0 核心功能以及已发布的 KHREXTMSFT 扩展。

此时若要开始,请按照 GitHub 上的 Khronos OpenXR-SDK 存储库中的说明操作。 项目已设置为使用 CMake 生成 - 如果你使用 MSBuild,需要将代码复制到自己的项目中。

使用预览扩展

扩展路线图中列出的 MSFT_preview 扩展是正在预览的以收集反馈的试验性供应商扩展。 这些扩展仅适用于开发人员设备,当真正的扩展交付时将被删除。

如果你有兴趣试用可用的 MSFT_preview 扩展,请按照以下步骤更新项目:

  1. 按照上述任一方法将 OpenXR 加载程序集成到项目中。
  2. 将项目中的标准 OpenXR 标头替换为 GitHub 上混合现实 OpenXR 存储库中的预览标头

然后在目标 HoloLens 2 或台式机上激活预览扩展支持:

  1. 为确保获得最新的 OpenXR 运行时和所有扩展,请从目标设备或仿真器启动“Store”应用,打开右上方的菜单,选择“下载和更新”,然后选择“获取更新”
  2. 从 Microsoft Store 将适用于 Windows Mixed Reality 应用的 OpenXR 工具安装到目标设备并运行它。
  3. 导航到“设置”选项卡,并启用“使用最新的预览版 OpenXR 运行时”。 这会在已激活预览扩展的设备上启用预览运行时。 OpenXR Tools for Windows Mixed Reality app Settings tab
  4. 确认适用于 Windows Mixed Reality 的 OpenXR 工具的“OpenXR 运行时”选项卡上显示的运行时版本,是否与你打算试用的预览扩展所需的版本匹配。 如果匹配,则会在“扩展”列表中看到该扩展。 发布稳定扩展后,将删除其预览扩展。
    OpenXR Tools for Windows Mixed Reality app OpenXR Runtime tab

请参阅混合现实 OpenXR 存储库,获取这些预览扩展的文档及其用法示例。

疑难解答

如果在开发中启动和运行 OpenXR 时遇到问题,请查看故障排除提示