部署到 Quest - MRTK2
需要 Meta Quest(1 或 2)。
为 Quest 设置项目
- 按照这些步骤确保项目已准备好在 Quest 上部署。
- 确保在设备上启用了开发人员模式。 安装 Oculus ADB 驱动程序是可选操作。
设置场景
- 创建一个新的 Unity 场景,或打开一个现有的场景,例如 HandInteractionExamples。
- 如果要创建新场景,请导航到“混合现实工具包”>“添加到场景并配置”,将 MRTK 添加到场景中。
MRTK 集成
MRTK 对 Quest 设备的支持是通过两种不同的源提供的:Unity 的 OpenXR 插件包(适用于 XR SDK 管道)和混合现实 OpenXR 插件包。 OpenXR XRSDK 数据提供程序支持使用这两种源,并且必须用于在 Quest 上部署 MRTK。
可以使用混合现实 OpenXR 插件将 MRTK 应用程序部署到 Quest。 启用 OpenXR 后,请确保启用任何必需的功能(可能是“手部跟踪”和“Meta Quest 支持”)。
确保使用 OpenXR 设备管理器设置配置文件(如果未使用 MRTK 默认值)。 有关确保配置文件已为 OpenXR 准备就绪的详细信息,请参阅为 XR SDK 管道配置 MRTK。
MRTK 对 Quest 设备的支持是通过两种不同的源提供的:Unity 的 Oculus 插件包(适用于 XR SDK 管道)和 Oculus Integration Unity 包。 Oculus XRSDK 数据提供程序支持使用这两种源,并且必须用于在 Oculus Quest 上部署 MRTK。
借助 Unity XR SDK 管道,可以通过 Quest 使用 Oculus Touch 控制器和头部跟踪。
此管道是在 Unity 2019.3 和更高版本中开发 XR 应用程序的标准。 若要使用此管道,请确保使用 Unity 2019.3 或更高版本。 只有这样,才能将 MRTK 应用程序部署到 Quest。
借助 Oculus Integration Unity 包,可以通过 Quest 使用手部跟踪和控制器模型。
为 Quest 设置 XR SDK 管道
确保“Oculus XR 插件”已安装在“窗口”-->“包管理器”下
转到“编辑”-->“项目设置”-->“XR 插件管理”-->“插件提供程序”,确保 Oculus 插件提供程序已包含在项目中
设置 Oculus Integration Unity 包以启用手部跟踪
从 Unity Asset Store 下载并导入 Oculus Integration。 已经过测试的最新版本是 39.0.0。 由于对 Oculus API 进行了更改,以前的版本将无法正常工作。 可以在此存档中找到 Oculus Integration Package 的所有版本。
导航到“混合现实工具包”>“实用工具”>“Oculus”>“集成 Oculus Integration Unity 模块”。 这会使用正常运行相关 Quest 代码所需的定义和引用来更新 asmdef。 它还将更新 csc 文件以筛选掉 Oculus Integration 资产生成的已过时警告。 MRTK 存储库包含一个将警告转换为错误的 csc 文件,这种转换会停止 MRTK-Quest 配置过程。
在导入的 Oculus 文件夹中(可在 Assets/Oculus 中找到),有一个名为 OculusProjectConfig 的可编脚本对象。 在该配置文件中,需要将 HandTrackingSupport 设置为“Controllers and Hands”。
使用 Oculus XR SDK 数据提供程序
- 将配置文件配置为使用 Oculus XR SDK 数据提供程序
- 如果不打算修改配置配置文件
- 使用任何默认的 MRTK 配置文件,所有这些配置文件已在 Unity 的各种 XR 管道中进行配置。 以前的 DefaultXRSDKConfigurationProfile 现已标记为过时。
- 转到生成项目并将其部署到 Quest。
- 否则请遵循以下步骤:
在层次结构中选择 MixedRealityToolkit 游戏对象,然后选择“复制和自定义”以克隆默认的混合现实配置文件。
选择“输入”配置配置文件。
在输入系统配置文件中选择“克隆”以启用修改。
打开“输入数据提供程序”部分,选择顶部的“添加数据提供程序”,然后新的数据提供程序将添加到列表末尾。 打开新的数据提供程序,将“类型”设置为“Microsoft.MixedReality.Toolkit.XRSDK.Oculus”>“OculusXRSDKDeviceManager”。
- 将配置文件配置为使用 Oculus XR SDK 数据提供程序
- 如果不打算修改配置配置文件
- 否则请遵循以下步骤:
在层次结构中选择 MixedRealityToolkit 游戏对象,然后选择“复制和自定义”以克隆默认的混合现实配置文件。
选择“输入”配置配置文件。
在输入系统配置文件中选择“克隆”以启用修改。
打开“输入数据提供程序”部分,选择顶部的“添加数据提供程序”,然后新的数据提供程序将添加到列表末尾。 打开新的数据提供程序,将“类型”设置为“Microsoft.MixedReality.Toolkit.XRSDK.Oculus”>“OculusXRSDKDeviceManager”。
- Oculus XR SDK 数据提供程序包含一个 OVR 相机装备预制件,该预制件可自动使用 OVR 相机装备和 OVR 手部配置项目,以正确路由输入。 将 OVR 相机装备手动添加到场景需要手动配置设置和输入。
从项目中删除 Oculus Integration
- 导航到“混合现实工具包”>“Oculus”>“单独的 Oculus Integration Unity 模块”
- 在此步骤中修改 Microsoft.MixedReality.Toolkit.Providers.Oculus.asmdef 和其他文件中的引用后,让 Unity 刷新
- 关闭 Unity
- 关闭 Visual Studio(如果已打开)
- 打开文件资源管理器并导航到 MRTK Unity 项目的根目录
- 删除 UnityProjectName/Library 目录
- 删除 UnityProjectName/Assets/Oculus 目录
- 删除 UnityProjectName/Assets/Oculus.meta 文件
- 重新打开 Unity
生成项目并将其部署到 Quest
通过 USB 3.0 转 USB C 数据线插入 Quest
导航到“文件”>“生成设置”
将部署更改为“Android”
确保已选择 Quest 作为适用的运行设备
选择“生成并运行”
- 首次选择“生成并运行”时,可能会遇到以下一系列生成错误。 它不应阻止部署。 有关详细信息和可能的缓解选项,请参阅问题 10449。
接受来自 Quest 内部的“允许 USB 调试”提示
在 Quest 内部查看场景
常见错误
Unity 无法识别 Quest
确保正确配置 Android 路径。 如果仍然遇到问题,请遵循此指南。
在“编辑”>“首选项”>“外部工具”>“Android”下进行查找: