使用 ARCore for Jetpack XR,透過感知功能提升應用程式體驗

適用的 XR 裝置
本指南可協助您為這類 XR 裝置打造體驗。
XR 頭戴式裝置
有線 XR 眼鏡
音訊和
顯示型眼鏡

ARCore for Jetpack XR 提供強大的感知功能,可讓應用程式透過各種 API 瞭解真實世界。部分 API 可協助您提升 XR 頭戴式裝置和有線 XR 眼鏡等裝置的沉浸式體驗,部分 API 可協助您提升 AI 眼鏡等裝置的擴增實境體驗,部分 API 則可協助您提升所有類型 Android XR 裝置的應用程式體驗。

舉例來說,您可以使用 ARCore for Jetpack XR 擷取平面資料、將內容錨定在空間中的固定位置,或使用地理空間姿勢將內容錨定在實際位置。

新增程式庫依附元件

在 XR 應用程式中使用感知功能前,請先根據要透過 AR 強化哪種應用程式體驗,新增必要的依附元件。

存取工作階段

ARCore for Jetpack XR 的感知功能仰賴 Session,後者會使用 Jetpack XR 執行階段。

應用程式存取工作階段的方式,取決於您要透過感知功能強化的應用程式體驗類型:

使用 Jetpack XR Runtime 建立工作階段

如要建立工作階段,請將 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 裝置的應用程式體驗: