Jetpack XR SDK を使用すると、Kotlin や Compose などの最新のツールや、Java や ビューなどの前世代のツールを使用して、没入型の XR エクスペリエンスを構築できます。UI を空間化したり、3D モデルを読み込んでレンダリングしたり、実世界をセマンティックに理解したりできます。
Android にモバイルアプリまたは大画面アプリをすでにお持ちの場合は、Jetpack XR SDK を使用して既存のレイアウトを空間化し、3D モデルと没入型環境でエクスペリエンスを強化することで、アプリを新しい次元に拡張できます。既存の Android アプリを空間化するための推奨事項については、品質に関するガイドラインをご覧ください。
Jetpack XR SDK は、次のライブラリで構成されています。これらを組み合わせることで、豊かで多様な空間化されたエクスペリエンスを構築するための包括的なツールキットが提供されます。また、これらは相互にシームレスに連携するように設計されています。
- Jetpack Compose for XR: Android XR の空間機能を活用する空間 UI レイアウトを宣言的に構築します。
- XR 向けマテリアル デザイン: XR に適応するマテリアル コンポーネントとレイアウトを使用して構築します。
- Jetpack SceneCore: 3D コンテンツを使用して Android XR シーングラフを構築して操作します。
- ARCore for Jetpack XR: 認識機能を使用してデジタル コンテンツを現実世界に組み込みます。
Jetpack Compose for XR
XR 向け Jetpack Compose を使用すると、既存の 2D アプリを XR に移植する場合でも、新しい XR アプリをゼロから作成する場合でも、行や列などの使い慣れた Compose のコンセプトを使用して、XR で空間 UI レイアウトを作成できます。
このライブラリには、SpatialPanel
や Orbiter
などのサブスペース コンポーザブル ウィジェットが用意されています。これにより、既存の 2D Compose またはビューベースの UI を空間レイアウトに配置できます。
詳細なガイダンスについては、XR 向け Jetpack Compose で UI を開発するをご覧ください。
Compose for XR では、Volume
サブスペース コンポーザブルが導入されました。これにより、3D モデルなどの SceneCore エンティティを UI に対して配置できます。
詳しくは、既存の Android アプリを空間化する方法を学習するか、API リファレンスをご覧ください。
XR 向けマテリアル デザイン
マテリアル デザインには、XR に適応するコンポーネントとレイアウトが用意されています。たとえば、アダプティブ レイアウトでビルドしていて、EnableXrComponentOverrides
ラッパーを使用して依存関係の最新のアルファ版に更新する場合、各ペインは SpatialPanel
内に配置され、ナビゲーション レールは Orbiter
内に配置されます。XR 用マテリアル デザインの実装の詳細
Jetpack SceneCore
Jetpack SceneCore ライブラリを使用すると、エンティティで定義された 3D コンテンツを、相互や環境に対して配置、配置できます。SceneCore を使用すると、次のことを行えます。
- 空間環境を設定する
- [
PanelEntity
][23] のインスタンスを作成する - 3D モデルを配置してアニメーション化する
- [空間オーディオのソースを指定][24]
- エンティティにコンポーネントを追加して、エンティティを移動、サイズ変更、現実世界に固定できるようにする
Jetpack SceneCore ライブラリは、ビューを使用して構築されたアプリの空間化もサポートしています。詳細については、[ビューの操作に関するガイド][25] をご覧ください。
詳細については、[API リファレンス][26] をご覧ください。
Jetpack XR 向け ARCore
既存の [ARCore ライブラリ][27]{:.external} を基に開発された ARCore for Jetpack XR ライブラリは、デジタル コンテンツを現実世界と融合させる機能を提供します。このライブラリには、モーション トラッキング、永続アンカー、ヒットテスト、セマンティック ラベルリングによる平面の識別(床、壁、テーブルトップなど)が含まれています。このライブラリは、[Android XR の OpenXR][28] を基盤とする認識スタックを利用します。これにより、幅広いデバイスとの互換性が確保され、アプリの将来の対応が容易になります。
詳細については、[Jetpack XR の ARCore を使用する][29] をご覧ください。
デベロッパー プレビューに関する注意事項
このリリースはデベロッパー プレビュー版の一部であり、これらの API はまだ開発中です。既知の問題については、リリースノートをご覧ください。
- [Jetpack Compose for XR リリースノート][30]
- [Jetpack XR 向け ARCore のリリースノート][31]
- [Jetpack SceneCore リリースノート][32]
- [Jetpack for SceneCore ランタイム リリースノート][33]
上記のリストにない問題が発生した場合は、[バグを報告するかフィードバックを送信してください][34]。
OpenXR™ と OpenXR のロゴは、Khronos Group Inc. が所有する商標であり、中国、欧州連合、日本、英国で商標として登録されています。