ARCore for Jetpack XR を使用して知覚によるアプリ エクスペリエンスを強化する

対象となる XR デバイス
このガイダンスは、次のようなタイプの XR デバイス向けのエクスペリエンスを構築する際に役立ちます。
[
XR Headsets
]
有線 XR グラス

Jetpack XR 用 ARCore は、さまざまな API を通じて現実世界を理解するための強力な認識機能をアプリに提供します。これらの API の一部は、XR ヘッドセットや有線 XR グラスなどのデバイスの没入型エクスペリエンスの強化に役立ち、AI グラスなどのデバイスの拡張エクスペリエンスの強化に役立ち、あらゆるタイプの Android XR デバイスのアプリ エクスペリエンスの強化に役立ちます。

たとえば、Jetpack XR 用 ARCore を使用して平面データを取得したり、空間内の固定位置にコンテンツを固定したり、地理空間ポーズを使用して現実世界の場所にコンテンツを固定したりできます。

ライブラリの依存関係を追加する

XR アプリで認識機能の使用を開始する前に、AR で強化するアプリ エクスペリエンスのタイプに応じて、必要な 依存関係を追加します。

セッションにアクセスする

Jetpack XR 用 ARCore の認識機能は、Session(Jetpack XR ランタイムを使用)に依存しています。

アプリがセッションにアクセスする方法は、認識機能で強化するアプリ エクスペリエンスのタイプによって異なります。

Jetpack XR ランタイムからセッションにアクセスする

Jetpack XR ランタイムからセッションにアクセスするには、セッションを作成します。

セッションを作成するには、Contextcreate() メソッドに渡します。この 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. */)
    }
}

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

セッションを構成する

一部の機能はデフォルトで無効になっている可能性があり、機能させるには構成する必要があります。セッションを構成するには、configure() を使用して、構成オプション を指定します。Sessionさまざまな AR 機能に必要な構成の詳細については、各 AR 機能の対応するページをご覧ください。

次のステップ

アプリにセッションが設定されたら、それを使用してさまざまな XR デバイスのアプリ エクスペリエンスを強化する方法を確認します。