Jetpack XR SDK を使用して開発する

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

Jetpack XR SDK には、Android XR デバイス向けに没入型エクスペリエンスと拡張エクスペリエンスを構築するために必要なツールとライブラリがすべて含まれています。

完全な没入型エクスペリエンスを構築する

XR ヘッドセットや有線 XR グラスなどの専用の高忠実度デバイスをターゲットにします。KotlinCompose などの最新の Android 開発ツールと、Java や Views などの前世代のツールを使用します。UI を 空間化し、3D モデルを読み込んでレンダリングし、現実世界をセマンティックに 理解できます。

Android でモバイルアプリや大画面アプリをすでに使用している場合、Jetpack XR SDK を使用すると、既存のレイアウトを空間化し、3D モデルと没入型環境でエクスペリエンスを強化することで、アプリを新しい次元に引き上げることができます。既存の Android アプリを空間化する際の推奨事項については、 品質に関するガイドラインをご覧ください。

拡張された便利なエクスペリエンスを構築する

軽量でスタイリッシュなオーディオ グラスとディスプレイ グラスをターゲットにします。最新の Android 開発ツール(KotlinJetpack Compose Glimmer など)を使用します。スマートフォンからグラスへのアプリ エクスペリエンスの投影を容易にする API を使用します。

Jetpack ライブラリを使用する

Jetpack XR SDK ライブラリは、リッチで 没入感のあるエクスペリエンス軽量で拡張されたエクスペリエンスなど、 あらゆるエクスペリエンスを構築するための包括的なツールキットを提供します。次のライブラリは Jetpack XR SDK の一部です。

  • Jetpack Compose for XR: Android XR's の空間機能を活用する空間 UI レイアウトを宣言的に構築します。
  • Material Design for XR: XR に適応するマテリアル デザイン コンポーネントとレイアウトを使用して構築します。
  • Jetpack SceneCore: Android XR シーングラフを構築して操作します 3D コンテンツを使用します。
  • ARCore for Jetpack XR: 知覚機能を使用してデジタル コンテンツを現実世界に取り込みます。
  • Jetpack Compose Glimmer: ディスプレイ グラス向けに最適化された、拡張 Android XR エクスペリエンスを構築するための UI ツールキットです。
  • **Jetpack Projected**: スマートフォンからオーディオ グラスまたはディスプレイ グラスへのアプリ エクスペリエンスの投影を容易にする API です。

デベロッパー プレビュー期間中の API 開発

Jetpack XR SDK ライブラリは Android XR デベロッパー プレビューの一部であり、これらの API は現在も開発中です。既知の問題については、ライブラリのリリースノートをご覧ください。

これらのリストにない問題が発生した場合は、バグを報告する か、フィードバックを送信してください

Jetpack Compose for XR

対象の XR デバイス: XR ヘッドセット、有線 XR グラス

Jetpack Compose for XR を使用すると、既存の 2D アプリを XR に移植する場合でも、XR アプリをゼロから作成する場合でも、Compose のコンセプトなど)を使用して、XR で空間 UI レイアウトを作成できます。

このライブラリには、空間パネルオービターなどのサブスペース コンポーザブルが用意されており、既存の 2D Compose または Views ベースの UI を空間レイアウトに配置できます。

詳細なガイダンスについては、Jetpack Compose for XR で UI を開発するをご覧ください。

UI XR コンポーネントのオービターの一般的な例を作成する

Compose for XR では、SceneCoreEntity サブスペース コンポーザブルが導入されています。これにより、 3D モデルなどのエンティティを UI に対して相対的に配置できます。

既存の Android アプリを空間化する方法については、こちらをご覧ください。詳細については、API リファレンス をご覧ください。

Material Design for XR

対象の XR デバイス: XR ヘッドセット、有線 XR グラス

マテリアル デザインには、XR に適応するコンポーネントとレイアウトが用意されています。アダプティブ レイアウトを使用して構築する場合。Material Design for XR の実装について詳しくは、こちらをご覧ください

Jetpack SceneCore

対象の XR デバイス: XR ヘッドセット、有線 XR グラス

Jetpack SceneCore ライブラリを使用すると、エンティティで定義された 3D コンテンツを、互いに相対的に、また環境に対して相対的に配置して配置できます。SceneCore を使用すると、次のことができます。

Jetpack SceneCore ライブラリは、Views を使用して構築されたアプリの空間化もサポートしています。詳しくは、ビューの操作に関するガイドをご覧ください 。

詳細については、API リファレンスをご覧ください。

ARCore for Jetpack XR

対象の XR デバイス: XR ヘッドセット、有線 XR グラス、オーディオ グラス、ディスプレイ グラス

既存の ARCore ライブラリにインスパイアされた ARCore for Jetpack XR ライブラリは、デジタル コンテンツを 現実世界にブレンドする機能を提供します。このライブラリには、モーション トラッキング、永続的なアンカー、ヒットテスト、セマンティック ラベル(床、壁、卓上など)による平面識別が含まれています。このライブラリは、OpenXR を基盤とする知覚スタック を活用しているため、幅広い デバイスとの互換性が確保され、アプリの将来性が保証されます。

詳しくは、ARCore for Jetpack XR を使用するをご覧ください。

Jetpack Compose Glimmer

対象の XR デバイス: ディスプレイ グラス

Jetpack Compose Glimmer は、ディスプレイ グラス向けに最適化された、拡張 Android XR エクスペリエンスを構築するための UI ツールキットです。一日中装着できるデバイス向けに、美しく、最小限で、快適な UI を構築します。

  • 一目でわかるように、読みやすく設計: スマートフォンとは異なり、メインの キャンバスは光学シースルー ディスプレイで、透明です。Jetpack Compose Glimmer には、グラス固有のテーマ設定簡略化されたカラー パレットタイポグラフィが用意されており、コンテンツを読みやすく、処理を高速化し、邪魔にならないようにします。
  • ウェアラブル固有の操作に最適化: グラスの使用方法に合わせて 操作モデルを最適化しました。Jetpack Compose Glimmer コンポーネントは、明確なフォーカス状態を備えています。たとえば、邪魔なリップル効果ではなく、最適化されたアウトラインなどです。また、タップ、フレームのスワイプ、音声などの一般的な 物理入力に対応するように構築されています。
  • 使い慣れた宣言型 UI パターンを使用: Jetpack Compose Glimmer は Jetpack Compose の上に構築されているため、Android での宣言型 UI の構築についてすでに知っていることをすべて使用できます。コアの組み込みコンポーズ可能な関数(TextIconButtonなど)と、TitleChipなどの特殊なコンポーネントの完全なセットが用意されており、すべてグラス環境向けに最適化されています。
UI XR コンポーネントのオービターの一般的な例を作成する

Jetpack Projected

対象の XR デバイス: オーディオ グラス、ディスプレイ グラス

オーディオ グラスとディスプレイ グラス向けに構築する場合、アプリは Android スマートフォンなどの コンパニオン ホストデバイスで実行され、アプリの XR エクスペリエンスが投影されます。Jetpack Projected を使用すると、ホストデバイスに XR 投影機能がある場合、これらの Android ホストデバイスはオーディオ グラスまたはディスプレイ グラスと通信できます。

  • 投影されたデバイスのハードウェアにアクセス: 投影された デバイス(オーディオ グラスまたはディスプレイ グラス)に関連付けられたデバイス コンテキスト。この投影されたコンテキスト により、カメラなどの投影されたデバイスのハードウェアにアクセスできます。オーディオ グラスまたはディスプレイ グラスに表示するために特別に作成された専用の アクティビティは、 すでに投影されたコンテキストとして機能しています。アプリの別の部分 (スマートフォンのアクティビティやサービスなど)がグラスのハードウェアにアクセスする必要がある場合は、投影されたコンテキストを取得できます
  • 権限リクエストを簡素化: オーディオ グラスとディスプレイ グラスは 標準の Android 権限モデルに従います。アプリがカメラなどのデバイスのハードウェアにアクセスするには、グラス固有の 権限を実行時にリクエストする必要があります。権限ヘルパーは、スマートフォンとグラスの両方のインターフェースでこれらの権限のリクエスト メカニズムを効率化し、一貫したリクエスト エクスペリエンスを提供します。
  • デバイスとディスプレイの機能を確認: 投影されたデバイスに ディスプレイがあるかどうか、ビジュアルを表示するディスプレイの状態を確認します。デバイスの機能に基づいてアプリを調整します。たとえば、デバイスにディスプレイがない場合やディスプレイがオフになっている場合は、より多くの音声コンテキストを提供できます。
  • アプリのカメラ操作にアクセス: アプリは、ユーザーのカメラ操作にアクセスできます。 たとえば、動画ストリーミング アプリでカメラのオン / オフを切り替えることができます。

OpenXR™ および OpenXR のロゴは、Khronos Group Inc. の商標であり、中国、 欧州連合、日本、英国で商標登録されています。