ARCore for Jetpack XR は、アプリがさまざまな API を通じて現実世界を理解するための強力な認識機能を提供します。これらの API の中には、XR ヘッドセットや有線 XR グラスなどのデバイスの没入型エクスペリエンスを強化するもの、AI グラスなどのデバイスの拡張エクスペリエンスを強化するもの、すべてのタイプの Android XR デバイスのアプリ エクスペリエンスを強化するものがあります。
たとえば、ARCore for Jetpack XR を使用して、平面データを取得したり、空間内の固定位置にコンテンツをアンカーしたり、地理空間ポーズを使用して現実世界の場所にコンテンツをアンカーしたりできます。
ライブラリの依存関係を追加する
XR アプリで知覚機能を使用する前に、AR で強化するアプリ エクスペリエンスの種類に応じて、必要な依存関係を追加します。
セッションにアクセスする
Jetpack XR 向け ARCore の知覚機能は、Jetpack XR ランタイムを使用する Session に依存しています。
アプリがセッションにアクセスする方法は、認識機能で強化するアプリ エクスペリエンスの種類によって異なります。
- Jetpack Compose for XR を使用して空間 UI で没入型エクスペリエンスを強化している場合は、Jetpack Compose for XR からセッションにアクセスします。
- それ以外のすべての状況では、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 デバイスでアプリ エクスペリエンスを向上させる方法を確認します。
- Jetpack XR 向け ARCore を使用して平面を検出する
- Jetpack XR 向け ARCore でアンカーを作成する
- Jetpack XR 向け ARCore を使用して手を操作する
- ARCore for Jetpack XR を使用してアプリに顔追跡を組み込む
- ARCore for Jetpack XR を使用してアプリで深度情報を取得する
- ARCore for Jetpack XR を使用してデバイスのポーズを追跡する