Jetpack XR 用 ARCore
| 最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
|---|---|---|---|---|
| 2026 年 5 月 6 日 | - | - | - | 1.0.0-alpha13 |
依存関係の宣言
Jetpack XR 用 ARCore への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、 Google の Maven リポジトリ をご覧ください。
アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha13" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha13" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha13") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha13") implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha13") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
バージョン 1.0
バージョン 1.0.0-alpha13
2026 年 5 月 6 日
androidx.xr.arcore:arcore-*:1.0.0-alpha13 がリリースされました。バージョン 1.0.0-alpha13 に含まれる commit については、こちらをご覧ください。
API の変更
TrackingStateとVpsAvailabilityResultがandroidx.xr.arcore packageに移動し、androidx.xr.runtimeの型が非推奨になりました。(Ic7930、b/480462213)Plane.Typeの名前をPlaneTypeに変更しました。(I8c90c、b/482675376)Hand.HandSideの名前をHandSideに変更しました。(Ica562、b/482675376)Plane.Labelの名前をPlaneLabelに変更しました。(Ic6b67、b/482675376)Geospatial.Surfaceの名前をGeospatialSurfaceに変更しました。(I1a8be、b/482675376)Geospatial.Stateの名前をGeospatialStateに変更しました。(I203fa、b/482675376)NativeDataAPI をxr:runtime:runtimeライブラリに移動しました。(I87954、b/494251500)Session.createとSession.configureが包括的ではなくなり、when ステートメントに else 句が必要になりました。(I9885e、b/495805998、b/495805998)androidx.xr.runtime.FieldOfViewが非推奨になりました。代わりにandroidx.xr.runtime.math.FieldOfViewを使用してください。(Ia01a0、b/480233045)- Orbiter が、位置、オフセット、alignment、elevation ではなく、
OrbiterAnchorPoint + VolumeOffsetまたはOrbiterPoseProviderを使用するように変更しました。また、shouldRenderInNonSpatialパラメータを削除しました。デベロッパーが、非空間で Orbiter をレンダリングしないようにする場合は、Orbiter を if ステートメントでラップし、SpatialCapabilitiesを確認する必要があります。(I9fbb3、b/462428503) - 移動可能な修飾子を追加しました。これらの修飾子は、現時点では
SpatialPanelsとSpatialExternalSurfaceで適切に機能します。まもなくSpatialGltfModelsでもサポートされる予定です。ただし、これらはすべてのSubspaceComposablesで適切にサポートされることを目指しています。(I9a3cd、b/479530787、b/478935063、b/478935063) - デベロッパーは、
ArDevice.stateFlow を監視してState.trackingStateをモニタリングし、トラッキングの忠実度に基づいてアプリケーションのレンダリングや警告を適宜調整する必要があります。(Ic00f0、b/445466590) HandJointTypeenum 値の名前を変更しました。(Ifbc83、b/482670596)FaceConfidenceRegion定数の名前を変更しました。(Ia62d5、b/482670596)FaceBlendShapeType定数の名前を変更しました。(I33b8b、b/482670596)CreatePoseFromGeospatialPoseErrorInternalとCreateGeospatialPoseFromPoseErrorInternalを追加しました。(I4bcf1、b/482666615)DeviceTrackingMode.LAST_KNOWNの名前をSPATIAL_LAST_KNOWNに変更し(非推奨のフォールバック付き)、3DoF トラッキング用にINERTIAL_LAST_KNOWNを追加し、TRACKING_DEGRADEDをTrackingStateに追加しました。(Ie661c、b/445466590)GroupEntityを非推奨にしました。基本 Entity 機能のみを持つ Entity を作成するには、Entity.createを呼び出します。これにより、Entity インターフェースが返されます。(I4c450、b/473867483)XrLogAPI を追加しました。XrLog.isEnabledをtrueに設定して JetpackXR でのロギングを有効にし、XrLog.Levelを使用してログレベルを設定します。(I76a1f、b/463460895、b/487378441)
バグの修正
- デバイス トラッキング状態のサポートを openxr デバイスに追加しました。(I91485、b/445466590)
バージョン 1.0.0-alpha12
2026 年 3 月 25 日
androidx.xr.arcore:arcore-*:1.0.0-alpha12 がリリースされました。バージョン 1.0.0-alpha12 に含まれる commit については、こちらをご覧ください。
API の変更
Config.augmentedObjectCategoriesを List から Set に変更しました。(I25a64、b/487376359)- 型
androidx.xr.arcore.Eyeとandroidx.xr.arcore.Hand。(I42438、b/449032900) Session.createオーバーロードを追加して、リソース スコープ設定用に Android Context を渡せるようにしました。(I7d3fe、b/415805990、b/477386334)FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITをFakeRuntimeAnchor.anchorResourceLimitに変更しました。(I90841、b/431992235)- 今後変更または削除される可能性があるため、
TiltGestureAPI を試験運用版にしました。この API を使用するには、@ExperimentalGesturesApiをオプトインします(Ic9858)。 - Config で
AugmentedObjectトラッキングのカテゴリを設定する機能を追加しました(I1f6e4、b/480220930)。
バグの修正
PerceptionRuntimeFactoryの実際の場所で META-INF/services/ ファイルを更新して、Chrome のビルドを修正しました。(I7a801、b/481288291)
バージョン 1.0.0-alpha11
2026 年 2 月 25 日
androidx.xr.arcore:arcore-*:1.0.0-alpha11 がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-alpha10
2026 年 1 月 28 日
androidx.xr.arcore:arcore-*:1.0.0-alpha10 がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。
新機能
TiltGestureAPI を導入しました。これにより、遷移の進捗状況とともにデバイスの傾き(上/下)の状態を安定して検出するためのリアクティブFlowが提供されます。(Ic269f、b/448152779)- Jetpack XR 用 ARCore で XR Runtime ロギング メカニズムを使用するようになりました。詳しくは、
androidx.xr.runtime.Logをご覧ください。(l52735、b/448697662)
API の変更
Geospatial.createPoseFromGeospatialPoseが OpenXR 対応デバイスで動作するようになりました。(l362c6)
バージョン 1.0.0-alpha09
2025 年 12 月 3 日
androidx.xr.arcore:arcore-*:1.0.0-alpha09 がリリースされました。バージョン 1.0.0-alpha09 に含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-alpha08
2025 年 11 月 19 日
androidx.xr.arcore:arcore-*:1.0.0-alpha08 がリリースされました。バージョン 1.0.0-alpha08 に含まれる commit については、こちらをご覧ください。
新機能
- Jetpack XR 用
ARCoreで、Google Play 開発者サービス(AR)が利用可能なデバイスがサポートされるようになりました。 - VPS の可用性とポーズ変換用の Geospatial API を追加しました(I144dc)。
バージョン 1.0.0-alpha07
2025 年 10 月 22 日
androidx.xr.arcore:arcore-*:1.0.0-alpha07 がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。
バグの修正
:xr:arcore:arcore-openxrを:xr:arcore:arcoreに実装依存関係として追加しました(I47315、b/446999229)。
バージョン 1.0.0-alpha06
2025 年 9 月 24 日
androidx.xr.arcore:arcore-*:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。
API の変更
ARCoreのテストのサポートがxr:arcore:arcore-testingモジュールに移行しました。(I25469)ArDeviceとRenderViewpointを追加して、アプリケーションがレンダリング目的でデバイスのポーズと表示構成を取得できるようにしました。(Ib7e3f)HAND_JOINT_TYPE_接頭辞を使用してHandJointTypeenum の名前を変更しました。(I3f7cd)HandJointTypeがxr:runtime:runtimeからxr:arcore:arcoreに移動しました。(Iadb9c、b/409058039)Hand.Stateが、パフォーマンス重視のアプリケーションで簡単にアクセスできる形式でジョイント ポーズを含むjava.nio.FloatBufferを公開するようになりました。(I55e27)
バージョン 1.0.0-alpha05
2025 年 7 月 30 日
androidx.xr.arcore:arcore:1.0.0-alpha05、androidx.xr.arcore:arcore-guava:1.0.0-alpha05、androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。
新機能
- デベロッパーが手の側面情報を取得できるように
getPrimaryHandSideを追加しました(I270bd)。 - Geospatial チェック VPS 可用性 API を追加しました(I58573)。
checkVpsAvailability用の ARCore API を追加しました(Idbded)。- Java デベロッパーが使用できるように、
stateFlowable拡張関数を:xr:arcore:arcore-rxjava3に追加しました。(I083aa、b/427247794)
API の変更
- 動作を反映するように Config
*Modevals の名前を変更しました。(I6d247、b/414648065) - メインの ARCore アーティファクト(xr:arcore:arcore)には、Kotlin スタイルの非同期 API のみが含まれます。Java デベロッパーは、互換性のある API にアクセスするために
xr:arcore:arcore-rxjava3ライブラリに依存できます。(Ia525e、b/422794329) - メインの ARCore アーティファクト(
xr:scenecore:scenecore)には、Kotlin スタイルの非同期 API のみが含まれます。Java デベロッパーは、互換性のある API にアクセスするためにxr:arcore:arcore-guavaライブラリに依存できます。(Iffcb4、b/422773524) - Java デベロッパーが使用できるように、
Anchor.persistAsync()をAnchorGuavaに追加しました。(I4af1c、b/425984631) - Java デベロッパーが使用できるように、
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)をEarthGuavaに追加しました。(I66357、b/425992992) - Java デベロッパーは、
GltfModel.ktでGltfModel.createAsyncの拡張関数を使用します。GltfModelの非同期関数は削除されます。(I0af60) - このライブラリで、型使用の JSpecify null 可能性アノテーションを使用するようになりました。Kotlin デベロッパーは、正しい使用を強制するために、次のコンパイラ引数を使用する必要があります:
-Xjspecify-annotations=strict(これは Kotlin コンパイラのバージョン 2.1.0 以降のデフォルトです)(Ia8420、b/326456246) - Java デベロッパーが使用できるように、
subscribeAsFlowable拡張関数を:xr:arcore:arcore-rxjava3に追加しました。(Id3e49、b/427277298)
バージョン 1.0.0-alpha04
2025 年 5 月 7 日
androidx.xr.arcore:arcore:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。
API の変更
- Kotlin 2.0 でリリースされたプロジェクトを使用するには、KGP 2.0.0 以降が必要です。(Idb6b5)
TrackingStateとHandJointTypeが ARCore から Runtime に移動しました。Hand.State.isActive (boolean)がHand.State.trackingState (androidx.xr.runtime.TrackingState)に変更されました。- UUID が無効な場合、
Anchor.loadはAnchor.AnchorLoadInvalidUuidを返します。
バージョン 1.0.0-alpha03
2025 年 2 月 26 日
androidx.xr.arcore:arcore:1.0.0-alpha03 がリリースされました。前回のアルファ版からの重要な変更はありません。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-alpha02
2025 年 2 月 12 日
androidx.xr.arcore:arcore:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
- ハンド トラッキングのサポートを追加しました。トラッキング情報にアクセスするには、
Hand.leftとHand.rightを使用します。 - アンカーを生成する API(
Anchor.create、Anchor.load、Plane.createAnchor)がすべてAnchorCreateResultを返すようになり、AnchorCreateResourcesExhaustedが適切に実装されるようになりました。
バグの修正
Anchor.detachで、Session 更新スレッドとの競合状態による致命的なクラッシュが発生しなくなりました。- エミュレータで実行する場合の
Anchor.createの安定性が向上しました。
バージョン 1.0.0-alpha01
2024 年 12 月 12 日
androidx.xr.arcore:arcore-* 1.0.0-alpha01 がリリースされました。
初回リリースの機能
既存の ARCore ライブラリをベースにした Jetpack XR 用 ARCore ライブラリは、デジタル コンテンツを現実世界に融合する機能を提供します。このライブラリには、モーション トラッキング、永続アンカー、ヒットテスト、セマンティック ラベル(床、壁、卓上など)による平面識別が含まれています。Jetpack XR 用 ARCore の使用について詳しくは、デベロッパー ガイド をご覧ください。
Session: Jetpack XR 用 ARCore は、Jetpack XR Runtime を使用して機能を強化しています。Session を使用して、ほとんどの Jetpack XR 用 ARCore API とやり取りします。ドキュメントをご覧ください。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から hitTest を実行することを検討してください。
既知の問題
unpersistの呼び出しと、getPersistedAnchorUuidsから返される結果から UUID が削除されるまでに遅延が生じる可能性があります。createは、新しいアンカーを返すのに十分なリソースがシステムにあることを検証しません。アンカーを過剰に作成すると、クラッシュする可能性があります。以前に永続化され、永続化解除されたアンカーの永続化は、現時点ではサポートされていません。
エミュレータでの使用はサポートされていますが、実際のデバイスで実行する場合ほど動作が安定しない可能性があります。特に、
createの呼び出しがネイティブ コードエラーで失敗し、アクティビティがすぐに終了する可能性があります。状況によっては、「Anchor was not persisted」というメッセージで
RuntimeExceptionが誤ってスローされることがあります。その場合でも、関数は成功し、アンカーは永続化されます。persist回避策として、persistの呼び出しをtryブロックでラップすることをおすすめします。