使用 Unity 的 XR SDK 插件系统实现跨平台操作

通过 Unity 的 XR.WSA(VR/AR Windows 应用商店应用)API 针对 HoloLens 系列设备进行 World Locking Tools 的初始开发。 这是通常称为 Unity 旧版 XR 接口或 Unity 内置 VR 支持的一部分。

自此,Unity 引入了其 XR 插件体系结构,其目标是提供跨平台抽象,使开发人员在可用的 VR 和 AR 设备间访问常见功能。

在此转换阶段,WLT 支持用于 HoloLens 的旧版 XR 接口和用于实现跨平台的 AR Subsystems/XR Plugin Management。 请注意,旧版 XR 接口自 Unity 2019 起已弃用,自 Unity 2020 起不再受支持。

WLT 目前支持适用于 Unity 2019.4 (LTS) 的 AR 子系统版本 2.X.Y 和适用于 Unity 2020.3 (LTS) 的 XR 插件管理版本 4.0.7 及更高版本。 后续版本中将推出对更多版本的支持。

将 WLT 切换到目标 XR SDK

锁定 XR SDK 的 WLT 非常简单。 首先,将项目配置为使用 XR 插件系统。

如果使用 MRTK,请按这些说明操作。 后文有其他提示和说明。

如果不使用 MRTK,请遵循这些稍微复杂一些的说明

无论哪种情况,最终都会安装并启用 Unity 的 XR Plug-in Management 系统,且安装并选择适合平台的 XR Plug-in provider

安装必要的资源后,更改场景中世界锁定上下文中的定位点子系统类型。

自动选择

运行脚本 Mixed Reality => World Locking Tools => Configure scene 将基于项目和场景的配置方式选择正确的定位点子系统。 可以放心地重复运行 Configure scene 脚本。 如果场景已正确配置,则不会进行更改。

手动选择

  1. 转到初始(或全局)场景中的 WorldLockingManager GameObject。
  2. 在检查器中,找到 WorldLockingContext
  3. 打开定位点管理设置。
  4. 确保未选中“使用默认值”复选框。
  5. 将定位点子系统类型更改为 XRSDK

如果项目和场景设置为使用 AR Foundation,请改为选择 AR Foundation 定位点子系统。

上下文设置的定位点管理部分

在 XR SDK 上将 MRTK 与 WLT 配合使用

除了为在 VR 和 AR 中抽象用户交互提供了巨大价值外,MRTK 还极大地简化了通过 XR SDK 锁定设备的过程。 在设置 MRTK 以锁定特定设备时,下面的备注可能会很有帮助。

所有这些假设 WLT 定位点管理定位点子系统已正确设置,如上一部分所述。

更改插件目标时,请务必运行 Mixed Reality Toolkit => Utilities => UnityAR => Update Scripting Defines

安装 Windows XR 插件 (HoloLens)

请参阅 MRTK 和 XR SDK 入门中的完整说明。

如果在 WLT 项目中工作,首先可以使用 HoloLens2 上 WLT 提供的“WLT HL2 MRTKProfile”或移动设备上的“WLT AR MRTKProfile”。

WLT 使用 Windows XR 插件的情况已在 Unity 2019.4 和 Unity 2020.3 上经过测试,使用以下版本:

  • XR 插件管理:v3.2.16(预期与其配合使用的版本:v3.X.Y,X >= 2)
  • Windows XR 插件:v2.4.1(定位点在 v2.4.1 之前的版本损坏。预期运行版本 2.4.Y, Y>=1,v2.X.Y,X>=1)。
  • 混合现实 OpenXR 插件:v1.2.0(更早的版本也有效,但存在细微问题。强烈建议使用最新的 MR OpenXR 插件。)

只需要使用 Windows MR PluginMixed Reality OpenXR Plugin 中的一个。

安装 ARCore XR 插件 (Android)

若要获取驱动 MRTK AR 应用程序的 Android XR 插件,请按照如何为 iOS 和 Android 配置 MRTK 中的说明进行操作

注意:你需要以下各项:

  • XR 插件管理(已测试 v3.2.16,预期为 v3.X.Y,X>=2)。
  • AR 子系统(已测试 v2.1.3,预期为 v2.X.Y,X>1)。
  • AR Core XR 插件(已测试 v2.1.12,预期为 v2.X.Y,X>1)。
  • AR Foundation(已测试 v2.1.10,预期为 v2.X.Y,X>1)。

建议首先使用 WLT 提供的“WLT AR MRTKProfile”。

注意:如果收到有关清单合并失败的生成错误,请遵循适当的说明进行操作:https://developers.google.com/ar/develop/unity/android-11-build

安装其他 XR 插件(ARKit、Oculus 等)

其他平台的设置可能类似于 ARCore 的设置,但尚未经过测试。 如果你有权访问此类设备并有机会试用这些设备,任何反馈对社区都是有帮助的,并且非常珍贵。