使用 ARCore for Jetpack XR 通过感知功能增强应用体验

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

ARCore for Jetpack XR 为您的应用带来了强大的感知功能,可通过各种 API 理解现实世界。其中一些 API 可帮助您提升 XR 头戴设备和有线 XR 眼镜等设备的沉浸式体验,一些可帮助您提升 AI 眼镜等设备的增强体验,还有一些可帮助您提升所有类型 Android XR 设备的应用体验。

例如,您可以使用 ARCore for Jetpack XR 检索平面数据、将内容锚定到空间中的固定位置,或使用地理空间姿态将内容锚定到现实世界中的位置。

添加库依赖项

在开始在 XR 应用中使用感知功能之前,请添加必要的依赖项,具体取决于您要通过 AR 增强的应用体验类型。

访问会话

ARCore for Jetpack XR 中的感知功能依赖于 Session,后者使用 Jetpack XR 运行时。

应用应如何访问会话取决于您使用感知功能增强的应用体验类型:

使用 Jetpack XR 运行时创建会话

如需创建会话,请将 Context 传递给 create() 方法。此 Context 可以是沉浸式 XR 设备或移动设备上的 Activity,也可以是智能眼镜上的投影上下文。

创建 ARCore 会话可能是一项开销很大的任务,应在后台处理,如以下示例所示:

lifecycleScope.launch {
    when (val result = Session.create(context)) {
        is SessionCreateSuccess -> {
            val xrSession = result.session
            // ...
        }
        else ->
            TODO(/* A different unhandled exception was thrown. */)
    }
}

create() 函数可以使用可选的 LifecycleOwner 参数,该参数允许由其他 LifecycleOwner 管理会话的生命周期。LifecycleOwner 必须在所提供上下文的范围内开始和结束其生命周期,否则 Session 可能会容易发生泄漏。

配置会话

某些功能可能默认处于停用状态,必须进行配置才能正常运行。如需配置会话,请使用 configure() 并指定 Session 所需的配置选项。如需详细了解不同 AR 功能所需的配置,请参阅每个 AR 功能的对应页面。

后续步骤

应用具有会话后,您可以探索如何使用会话来提升不同 XR 设备上的应用体验: