Jetpack XR 向け ARCore
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2024 年 12 月 12 日 | - | - | - | 1.0.0-alpha01 |
依存関係の宣言
Jetpack XR 用 ARCore の依存関係を追加するには、Google Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、 Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha01") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
バージョン 1.0
バージョン 1.0.0-alpha01
2024 年 12 月 12 日
androidx.xr.arcore:arcore-* 1.0.0-alpha01
がリリースされました。
初回リリースの機能
既存の ARCore ライブラリを基に開発された ARCore for Jetpack XR ライブラリは、デジタル コンテンツを現実世界と融合させる機能を提供します。このライブラリには、モーション トラッキング、永続アンカー、ヒットテスト、セマンティック ラベルリングによる平面の識別(床、壁、テーブルトップなど)が含まれています。Jetpack XR の ARCore の使用方法について詳しくは、デベロッパー ガイドをご覧ください。
Session
: Jetpack XR 向け ARCore は、内部で Jetpack XR ランタイムを使用して機能を強化します。ほとんどの ARCore for Jetpack XR API は Session を使用して操作するため、そのドキュメントをご覧ください。Plane
: 飛行機を使用して周囲の世界を把握します。各プレーンには、そのプレーンを意味的に記述するLabel
があります。subscribe
を使用すると、検出された最新の飛行機に関する通知を受け取ることができます。state
を使用すると、特定の飛行機の変更に関する通知を受け取ることができます。Anchor
: 仮想オブジェクトと現実世界の場所を結ぶリンク。アンカーは、空間内の特定の位置(create
を使用)またはTrackable
(createAnchor
を使用)に配置できます。アンカーはセッション間で再利用できます。
persist
を使用して保存し、getPersistedAnchorUuids
を使用して列挙し、load
を使用して取得できます。使用しなくなったら必ずunpersist
してください。アンカーは、Jetpack XR の ARCore と Jetpack SceneCore の間で相互運用できます。アンカーを使用して
AnchorEntity
を作成できます。また、既存の AnchorEntity がある場合は、getAnchor
を使用してそのバッキング アンカーを取得することもできます。hitTest
を使用して、自然なユーザー インタラクションを実現します。hitTest はRay
を使用して、どのコンテンツが交差しているかを判断し、その場所からAnchor
を作成します。InputEvent
からヒットテストを実施することを検討してください。
既知の問題
unpersist
を呼び出してから、getPersistedAnchorUuids
によって返された結果から UUID が削除されるまでに時間がかかることがあります。create
は、新しいアンカーを返すための十分なリソースがシステムにあることを検証しません。アンカーを過度に作成すると、クラッシュが発生する可能性があります。以前に保持されていて保持解除されたアンカーの保持は現在サポートされていません。
エミュレータでの使用はサポートされていますが、実際のデバイスで実行する場合ほど動作が安定しない場合があります。特に、
create
の呼び出しがネイティブ コードエラーで失敗し、アクティビティがすぐに終了する可能性があります。特定の状況では、
persist
を呼び出すときに「アンカーが保持されませんでした」というメッセージとともにRuntimeException
が誤ってスローされることがあります。このような場合でも、関数は正常に実行され、アンカーは保持されます。回避策として、persist
の呼び出しをtry
ブロックでラップすることをおすすめします。