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 Compose for XR,透過空間 UI 強化沉浸式體驗,請透過 Jetpack Compose for XR 存取工作階段。
- 在其他情況下,您可以使用 Jetpack XR Runtime 建立工作階段,詳情請參閱本頁後續章節。
使用 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 裝置的應用程式體驗:
- 使用 ARCore for Jetpack XR 偵測平面
- 使用 ARCore for Jetpack XR 建立錨點
- 使用 ARCore for Jetpack XR 追蹤手部動作
- 使用 ARCore for Jetpack XR 在應用程式中整合臉部追蹤功能
- 使用 ARCore for Jetpack XR 在應用程式中擷取深度資訊
- 使用 ARCore for Jetpack XR 追蹤裝置姿勢