存取工作階段,建立空間化 UI 和實體

適用的 XR 裝置
這份指南可協助您為這類 XR 裝置打造體驗。
XR 頭戴式裝置
有線 XR 眼鏡

Session 是應用程式空間化功能的主要介面。每個空間化 Activity 都必須建立並保留 Session 的執行個體。應用程式建立工作階段後,即可使用 Session 介面建立面板或 3D 模型等空間化內容實體,以及設定空間環境識別使用者位置,並將內容錨定至現實世界

從 Jetpack Compose for XR 存取工作階段

使用 Jetpack Compose for XR 時,系統會為您建立工作階段,並可使用 LocalSession.current 存取。請參閱以下範例:

@Composable
fun ComposableUsingSession() {
    val session = LocalSession.current
}

從 Jetpack XR 執行階段存取工作階段

如果您要透過 Jetpack SceneCore 程式庫建立空間化實體,則必須建立工作階段。

如要建立工作階段,請將 [Context] 傳遞至 create() 方法。這可以是沉浸式 XR 裝置或行動裝置上的ContextActivity,也可以是投影的內容

建立 ARCore 工作階段可能會耗用大量資源,因此應在背景處理,如下列範例所示:

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

工作階段的活動遭到刪除時,系統會刪除與該工作階段相關聯的所有空間 UI 和 3D 內容,且該工作階段會失效。

另請參閱