开始使用适用于 Unity 的 Android XR 交互框架

适用的 XR 设备
本指南可帮助您为以下类型的 XR 设备打造优质体验。
扩展现实头戴设备
有线扩展现实眼镜

Android XR 互动框架 (AXRIF) 为 Android XR 上的 OpenXR 应用提供熟悉的高级 互动。AXRIF 弥合了系统级互动与应用内互动之间的差距,提供了一种直观且连贯的方式来处理用户输入。

按照本指南中的说明设置 AXRIF 并开始在 Unity 中使用它。

前提条件

在开始之前,请确保您的开发环境满足以下要求:

设置和配置 Unity

您需要先为 AXRIF 设置和配置 Unity,然后才能试用示例场景。按照以下部分中的步骤完成此过程。

导入 AXRIF 软件包

首先,安装 AXRIF 软件包及其依赖项:

  1. 依次前往 Window > Package Manager
  2. Package Manager 工具栏中打开添加菜单。
  3. 在用于添加软件包的选项中,点击 + (加号)。
  4. 从下拉菜单中选择 Install package from git 网址

    使用 AXRIF 软件包的 Git 网址导入该软件包。

  5. 输入以下网址:

    https://github.com/android-xr/android-xr-interaction-framework-unity-package.git

  6. 点击安装

    Unity 的 Package Manager 中的 AXRIF 软件包详细信息。

检查 XR Interaction Toolkit 版本

AXRIF 软件包与 Unity XR Interaction Toolkit (XRIT) 协同工作,不会取代后者。由于 AXRIF 软件包定义了对 XRIT 的依赖项,因此当您在之前的步骤中安装 AXRIF 软件包时,Unity 应该已安装 XRIT。不过,您应该在 Unity 编辑器中依次前往 Window > Package Manager > Unity Registry > XR Interaction Toolkit ,检查是否安装了 3.3.1 或更高版本。

图 1.在 Unity 编辑器中检查 XR Interaction Toolkit 的已安装版本。

选择 Android XR build 配置文件

选择 Android XR build 配置文件,为 Android XR 启用适当的 OpenXR 扩展程序和 build 设置:

  1. 依次前往 File > Build Profiles
  2. 点击 Android XR ,然后点击 Switch Platform

    在 Unity 的设置中选择 Android XR build profile。

配置 OpenXR 设置

配置 Unity 的 OpenXR 设置,以便 Unity 可以访问必要的 OpenXR 数据:

  1. 依次前往 Edit > Project Settings > XR Plug-in Management > OpenXR
  2. Android 标签页 中,点击 Enabled Interaction Profiles 部分的 + (加号)。
  3. 根据应用的需求添加以下任何配置文件:

    • Eye Gaze Interaction Profile
    • Hand Interaction Profile
    • Oculus Touch Controller Profile
    • Android XR Mouse Interaction Profile
  4. XR Plug-in Management > OpenXR 的功能列表中,启用以下功能:

    • Android XR (Extensions): Passthrough Composition Layer
    • Android XR (Extensions): Session Management
    • Android XR Support
    • Android XR: AR Camera
    • Android XR: AR Session
    • Android XR: AR Hand Mesh Data
    • Composition Layers Support
    • Hand Tracking Subsystem

执行项目验证

执行项目验证,以修复项目配置中的任何 OpenXR 错误:

  1. 依次前往 Edit > Project Settings > XR Plug-in Management > Project Validation
  2. 修复所有未解决的提醒或警告,以确保运行时错误不会影响编译。

    通过执行项目验证来解决所有未解决的 OpenXR 问题。

使用示例场景

完成初步设置和配置后,您就可以使用 AXRIF 示例场景了。按照以下部分中的步骤获取示例场景并试用。

导入 XRIT 示例软件包和 AXRIF 示例

AXRIF 示例场景依赖于 Unity 的 XR Interaction Toolkit (XRIT) Starter Assets 和 Hands Interaction Demo 示例软件包。

导入 XRIT 示例软件包

导入 AXRIF 示例所依赖的 XRIT 示例软件包:

  1. 依次前往 Window > Package Manager
  2. 从软件包列表中选择 XR Interaction Toolkit
  3. Samples 标签页中,点击 Starter AssetsHands Interaction Demo 旁边的导入

    在导入 AXRIF 示例软件包之前,请先导入所需的 XRIT 示例软件包。

导入 AXRIF 示例

导入 AXRIF 示例以获取示例场景:

  1. 依次前往 Window > Package Manager
  2. 从软件包列表中选择 Android XR Interaction Framework
  3. Samples 标签页中,点击 Axrif Sample 旁边的导入

    在 Unity 的软件包管理器中导入 AXRIF 示例。

打开场景

导入所需的示例软件包后,您可以打开场景:

  1. 依次前往 Assets > Samples > Android XR Interaction Framework > [AXRIF 版本号] > Axrif Sample
  2. 打开 AxrifDemoScene

    在 Unity 的软件包管理器中导入 AXRIF 示例软件包。

探索预制件

该场景已使用位于 Packages > Android XR Interaction Framework > Prefabs 下的模块化预制件进行预配置。

Interactor 预制件

Axrif Interactor 预制件使用以下列表中的相应输入模态驱动 Unity XRIT interactor 机制:

  • Hand/Controller Ray
    • Axrif Left Interactor - 使用左手光线投射或控制器。
    • Axrif Right Interactor - 使用右手光线投射或控制器。
  • Gaze Pinch
    • Axrif Left GazePinch Interactor - 使用眼动注视和左手捏合时的动作。
    • Axrif Right GazePinch Interactor - 使用眼动注视和右手捏合时的动作。
    • Axrif Gaze Interactor - 仅使用眼动注视进行指向。
  • Hand Poke
    • Axrif Left Poke Interactor - 在触摸可互动对象时使用左手食指。
    • Axrif Right Poke Interactor - 在触摸可互动对象时使用右手食指。
  • Mouse
    • Axrif Mouse Interactor - 使用 Android XR 空间鼠标。

Axrif Interaction Manager 和 Origin 预制件

  • Axrif Interaction Manager:此预制件是场景中 AXRIF 的中央枢纽。该预制件包含 Axrif Interaction Manager 组件,该组件旨在与 XRIT XR Interaction Manager 协同工作。 此预制件负责:

    • 在运行时初始化和管理核心 AXRIF 子系统。
    • 使用 Interaction Framework Input Adapter 处理和路由来自 OpenXR 的输入数据。
    • 使用 Interaction Framework Scene Integrator 观察界面和碰撞器状态。
  • Axrif XR Origin:充当主要角色和相机驱动程序,并 管理手部网格可视化工具。

配置输入操作

如需将 OpenXR 运行时数据与 Unity 的输入操作相关联,请注册项目范围内的映射绑定:

  1. 依次前往 Packages > Android XR Interaction Framework > InputActions
  2. 找到 AndroidXRInteractionFramework Input Actions
  3. 点击分配为项目范围内的输入操作

    配置 Unity 的输入操作,以将运行时数据与 Unity 的输入操作相关联。

修改互动

使用 Axrif Interaction Manager 预制件,您可以启用或停用不同的输入模态。AXRIF 支持以下输入模态:

  • Controller Raycasting
  • Pinch and Gaze
  • Hand Raycasting
  • Direct Hand
  • Mouse Interactions

您可以直接在 Inspector 中配置输入模态,具体位于 Interaction Framework Manager 组件的 Configurations 部分。

图 2.在 Inspector 中配置输入模态。

构建示例

如需构建示例,请在 Unity 编辑器中点击 BuildBuild and Run