空間化された 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 ライブラリから空間化されたエンティティを作成する場合は、セッションを作成する必要があります。

セッションを作成するには、次の例に示すように、アクティビティを create() メソッドに渡します。

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

セッションのアクティビティが破棄されると、そのセッションに関連付けられているすべての空間 UI と 3D コンテンツが破棄され、セッションは無効になります。

関連ドキュメント