使用 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
脚本。 如果场景已正确配置,则不会进行更改。
手动选择
- 转到初始(或全局)场景中的 WorldLockingManager GameObject。
- 在检查器中,找到 WorldLockingContext。
- 打开定位点管理设置。
- 确保未选中“使用默认值”复选框。
- 将定位点子系统类型更改为
XRSDK
。
如果项目和场景设置为使用 AR Foundation
,请改为选择 AR Foundation
定位点子系统。 Azure 空间定位点示例展示的是使用 AR Foundation
(目前是一项 ASA 要求)的正确配置。
在 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 Plugin
或 Mixed 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 的设置,但尚未经过测试。 如果你有权访问此类设备并有机会试用这些设备,任何反馈对社区都是有帮助的,并且非常珍贵。