Jetpack XR SDK には、Android XR デバイス向けの没入型エクスペリエンスと拡張エクスペリエンスを構築するために必要なツールとライブラリがすべて含まれています。
没入感のあるエクスペリエンスを構築する
XR ヘッドセットや有線 XR グラスなどの専用の高忠実度デバイスをターゲットにします。Kotlin や Compose などの最新の Android 開発ツールと、Java や Views などの前世代のツールを使用します。UI を空間化したり、3D モデルを読み込んでレンダリングしたり、実世界を意味的に理解したりできます。
Android でモバイルアプリや大画面アプリをすでにリリースしている場合は、Jetpack XR SDK を使用して、既存のレイアウトを空間化し、3D モデルや没入型環境でエクスペリエンスを強化することで、アプリを新たな次元に引き上げることができます。既存の Android アプリを空間化するための推奨事項については、品質に関するガイドラインをご覧ください。
拡張された便利なエクスペリエンスを構築する
軽量でスタイリッシュな AI グラスをターゲットにしています。Kotlin や Jetpack Compose Glimmer などの最新の Android 開発ツールを使用します。スマートフォンから AI グラスへのアプリ エクスペリエンスの投影を容易にする API を使用します。
Jetpack ライブラリを使用する
Jetpack XR SDK ライブラリは、リッチな没入型エクスペリエンス、軽量な拡張エクスペリエンス、その間のあらゆるものを構築するための包括的なツールキットを提供します。次のライブラリは Jetpack XR SDK の一部です。
- XR 向け Jetpack Compose: Android XR の空間機能を活用する空間 UI レイアウトを宣言的に構築します。
- XR 向けマテリアル デザイン: XR に適応するマテリアル コンポーネントとレイアウトを使用して構築します。
- Jetpack SceneCore: 3D コンテンツを使用して Android XR シーングラフを構築、操作します。
- ARCore for Jetpack XR: 認識機能を使用して、デジタル コンテンツを現実世界に表示します。
- Jetpack Compose Glimmer: 拡張 Android XR エクスペリエンスを構築するための UI ツールキット。ディスプレイ AI グラス向けに最適化されています。
- Jetpack Projected: スマートフォンから AI グラスへのアプリの投影体験を容易にする API。
デベロッパー プレビュー期間中の API 開発
Jetpack XR SDK ライブラリは Android XR デベロッパー プレビューの一部であり、これらの API は現在も開発中です。既知の問題については、ライブラリのリリースノートをご覧ください。
- Jetpack Compose for XR リリースノート
- ARCore for Jetpack XR リリースノート
- Jetpack SceneCore リリースノート
- XR ランタイム リリースノート
- Jetpack Compose Glimmer リリースノート
- Jetpack Projected リリースノート
これらのリストに記載されていない問題が発生した場合は、バグを報告するか、フィードバックを送信してください。
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 を開発するをご覧ください。
Compose for XR には、Volume サブスペース コンポーザブルが導入されています。これにより、UI を基準として 3D モデルなどの SceneCore エンティティを配置できます。
詳しくは、既存の Android アプリを空間化する方法をご覧ください。API リファレンスもご覧ください。
XR のマテリアル デザイン
対象の XR デバイス: XR ヘッドセット、有線 XR グラス
マテリアル デザインには、XR に適応するコンポーネントとレイアウトが用意されています。たとえば、アダプティブ レイアウトでビルドしていて、EnableXrComponentOverrides ラッパーを使用して依存関係の最新のアルファ版に更新すると、各ペインは SpatialPanel 内に配置され、ナビゲーション レールは Orbiter 内に配置されます。XR 向けマテリアル デザインの実装の詳細をご覧ください。
Jetpack SceneCore
対象の XR デバイス: XR ヘッドセット、有線 XR グラス
Jetpack SceneCore ライブラリを使用すると、エンティティで定義された 3D コンテンツを、互いに対して、また環境に対して配置して配置できます。SceneCore を使用すると、次のことができます。
- 空間環境を設定する
PanelEntityのインスタンスを作成する- 3D モデルを配置してアニメーション化する
- 空間オーディオのソースを指定する
- エンティティにコンポーネントを追加して、移動、サイズ変更、現実世界へのアンカー設定を可能にする
Jetpack SceneCore ライブラリは、View を使用して構築されたアプリの空間化もサポートしています。詳しくは、ビューの操作に関するガイドをご覧ください。
詳細については、API リファレンスをご覧ください。
Jetpack XR 向け ARCore
対象の XR デバイス: XR ヘッドセット、有線 XR グラス、AI グラス
既存の ARCore ライブラリに触発された ARCore for Jetpack XR ライブラリは、デジタル コンテンツと現実世界をブレンドする機能を提供します。このライブラリには、モーション トラッキング、永続アンカー、ヒットテスト、セマンティック ラベリングによる平面識別(床、壁、卓上など)が含まれています。このライブラリは、OpenXR を利用した基盤となる認識スタックを活用しています。これにより、幅広いデバイスとの互換性が確保され、アプリを将来も有効に使い続けることができます。
詳しくは、Jetpack XR で ARCore を使用するをご覧ください。
Jetpack Compose Glimmer
対象の XR デバイス: AI グラス
Jetpack Compose Glimmer は、Android XR の拡張エクスペリエンスを構築するための UI ツールキットです。ディスプレイ AI グラス向けに最適化されています。一日中装着するデバイス向けに、美しく、シンプルで、快適な UI を構築します。
- 一目でわかるように、読みやすいように設計: スマートフォンとは異なり、メイン キャンバスは光学的に透けて見えるディスプレイで、透明です。Jetpack Compose Glimmer は、メガネ専用のテーマ設定、簡素化されたカラーパレット、タイポグラフィを提供し、コンテンツを読みやすく、処理を速く、邪魔にならないようにします。
- ウェアラブル固有の操作に最適化: 人々がメガネを使用する方法に合わせて操作モデルを最適化しました。Jetpack Compose Glimmer コンポーネントは、気を散らすリップル効果ではなく最適化されたアウトラインなど、明確なフォーカス状態を備えており、タップやフレーム上のスワイプなどの一般的な物理入力や、もちろん音声にも対応するように構築されています。
- 使い慣れた宣言型 UI パターンを使用する: Jetpack Compose Glimmer は Jetpack Compose 上に完全に構築されているため、Android での宣言型 UI 構築についてすでに知っていることをすべて使用できます。Text、Icon、Button、TitleChip などの特殊なコンポーネントなど、コアの事前構築済みコンポーザブル関数をフルセットで提供しています。これらはすべて、メガネ環境向けに最適化されています。
Jetpack Projected
対象の XR デバイス: AI グラス
AI グラス用にビルドすると、アプリはコンパニオンのホストデバイス(Android スマートフォンなど)で実行され、アプリの XR エクスペリエンスが投影されます。Jetpack Projected を使用すると、ホストデバイスに XR 投影機能がある場合、これらの Android ホストデバイスが AI グラスと通信できるようになります。
- 投影デバイスのハードウェアにアクセスする: 投影デバイス(AI グラス)に関連付けられたデバイス コンテキスト。この投影されたコンテキストは、カメラなどの投影されたデバイスのハードウェアへのアクセスを提供します。AI グラスに表示するために特別に作成された専用のアクティビティは、すでに投影されたコンテキストとして機能しています。アプリの別の部分(電話アクティビティやサービスなど)が AI グラスのハードウェアにアクセスする必要がある場合は、投影されたコンテキストを取得できます。
- 権限リクエストの簡素化: AI グラスは標準の Android 権限モデルに準拠しており、アプリがカメラなどのデバイス ハードウェアにアクセスする前に、グラス固有の権限を実行時にリクエストする必要があります。権限ヘルパーは、スマートフォンと AI グラスの両方のインターフェースで権限リクエスト メカニズムを効率化し、一貫したリクエスト エクスペリエンスを提供します。
- デバイスとディスプレイの機能をチェックする: 投影されるデバイスにディスプレイがあるかどうか、また、映像を表示するディスプレイの状態を確認します。デバイスの機能に基づいてアプリを適応させます。たとえば、デバイスにディスプレイがない場合やディスプレイがオフになっている場合は、音声コンテキストをより多く提供することが望ましいでしょう。
- アプリのカメラ操作にアクセスする: アプリは、ユーザーのカメラ操作にアクセスできます。たとえば、動画ストリーミング アプリでカメラのオン / オフを切り替えることができます。
OpenXR™ および OpenXR のロゴは、Khronos Group Inc. が所有する商標であり、中国、欧州連合、日本、英国で商標として登録されています。