ARCore für Jetpack XR

Mit Wahrnehmungsfunktionen können Sie digitale Inhalte in die reale Welt bringen.
Letzte Aktualisierung Stabile Release Releasekandidat Beta-Release Alpha-Release
21. Oktober 2026 1.0.0 - - 1.1.0-alpha01

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von ARCore für Jetpack XR hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Google-Repository bei Maven.

Fügen Sie die Abhängigkeiten für die benötigten Artefakte in der Datei build.gradle für Ihre App oder Ihr Modul hinzu:

Cool

dependencies {
    implementation "androidx.xr.arcore:arcore:1.1.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.xr.arcore:arcore:1.1.0-alpha01")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.

Neues Problem melden

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.1

Version 1.1.0-alpha01

21. Oktober 2026

androidx.xr.arcore:arcore-*:1.1.0-alpha01 ist veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

API-Änderungen

  • Die SpatialAnnotation API zum Erfassen von physischen 3D-Geometrien und ‑Objekten wurde eingeführt. SpatialAnnotationTrackingOptions und das entsprechende Builder-Muster wurden hinzugefügt, um das räumliche Tracking über Kamerabildpuffer zu konfigurieren. (I918ce)
  • SpatialAnnotation und SpatialAnnotationTrackingMode wurden in Jetpack XR ARCore eingeführt. Damit können Entwickler beliebige begrenzte 3D-Viereckgeometrien (Quad) konfigurieren und verfolgen, die auf physische räumliche Umgebungen in der realen Welt ausgerichtet sind. (I880e4)
  • TestSpatialAnnotation wurde hinzugefügt, um die programmatische Simulation von räumlichen Annotationen in automatisierten Tests zu ermöglichen. (If2335)
  • geospatialPose, horizontalAccuracy, verticalAccuracy und orientationYawAccuracy wurden als neue APIs hinzugefügt, um mehr Informationen im Geospatial-Status bereitzustellen. (If28f8)

Fehlerkorrekturen

  • Die Abhängigkeit androidx.lifecycle:lifecycle-runtime wurde auf 2.10.0 aktualisiert. Diese Version ist erforderlich, damit die gebündelten Lint-Prüfungen für die Lebenszyklus-Laufzeit mit AGP-Version 9.5.0-alpha04 oder höher ausgeführt werden können. (I99bfd, b/556807521)
  • Bei der Konfiguration von AugmentedImage wurde geprüft, ob die maximale Anzahl von Bildern 0 ist. Es wird UnsupportedOperationException ausgegeben, anstatt dass ein unerwarteter Fehler auftritt. I6ce439
  • Beheben Sie Speicherlecks und Nebenläufigkeitsprobleme in AugmentedImageRenderer, indem Sie Rendering-Jobs ordnungsgemäß verfolgen und abbrechen, Entitäten verwerfen und die Bildersammlung sicher ändern. Ie70760

Version 1.0

Version 1.0.0

21. Oktober 2026

androidx.xr.arcore:arcore-*:1.0.0 ist veröffentlicht. Version 1.0.0 enthält diese Commits.

Wichtige Funktionen von 1.0.0:

  • ARCore für Jetpack XR ist jetzt stabil. Die ARCore for Jetpack XR-Bibliothek bietet Funktionen zum Verschmelzen digitaler Inhalte mit der realen Welt. Diese Bibliothek umfasst Bewegungserkennung, persistente Anker, Trefferprüfung, Ebenenerkennung mit semantischen Labels (z. B. Boden, Wände und Tischplatten) und geospatialen Posen mithilfe des Visual Positioning System von Google.
  • Weitere Informationen finden Sie in unserem Entwicklerleitfaden und in der API-Referenz.

Version 1.0.0-rc02

7. Oktober 2026

androidx.xr.arcore:arcore-*:1.0.0-rc02 ist veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem OpenXrRuntime die Sitzung nicht konfigurieren konnte, wenn das Tracking von Augmented Images nicht unterstützt wurde. (I8b9759)
  • Mehrere Probleme wurden behoben, darunter: verbesserte Speicherverwaltung in XrInstanceManager durch Verwendung von applicationContext, Behebung potenzieller lebenszyklusbezogener Probleme durch Vereinfachung der Caching-Mechanismen von Session und Scene sowie Verbesserung von ReferenceCleaner, um threadsichere Bereinigungsregistrierungen und explizite Löschungen zu gewährleisten. (Id0b76c)

Version 1.0.0-rc01

9. September 2026

androidx.xr.arcore:arcore-*:1.0.0-rc01 ist veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

Version 1.0.0-beta02

12. August 2026

androidx.xr.arcore:arcore-*:1.0.0-beta02 ist veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Problem mit der Nebenläufigkeit bei der Persistenz von OpenXR-Ankern behoben. (I15c8b)
  • toString() wurde in weiteren Klassen für das Debugging implementiert. (I587e8)

Version 1.0.0-beta01

15. Juli 2026

androidx.xr.arcore:arcore-*:1.0.0-beta01 ist veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

API-Änderungen

  • Der Modifikator „resizable“ wurde aktualisiert, sodass jetzt ein ResizePolicy anstelle von zwei Modifikatoren verwendet wird (I7fb0f, b/496257436, b/519672992).
  • Verschiebbare Überladung mit dem Parameter movePolicy hinzugefügt und transformingMovable und movable eingestellt (Ic88c1, b/481781189)
  • TrackingState.TRACKING_DEGRADED wurde aus der öffentlichen API-Oberfläche entfernt. Stattdessen werden die beeinträchtigten Zustände der Kartenlaufzeit jetzt PAUSED zugeordnet. Aktualisieren Sie TrackingState, um Enums anstelle von int-Werten für die String- und Laufzeitkonvertierung zu verwenden. (I3eb5b, b/524326338)
  • „Session.create“ wurde in eine Sperrfunktion umgewandelt. (I5d27f)
  • ProjectedPermissionsResultContract wurde eingestellt (I141d5, b/515699436)
  • AnchorEntity wurde in AnchorSpace umbenannt (Ifa95e, b/513619219).

Version 1.0.0-alpha15

17. Juni 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha15 ist veröffentlicht. Version 1.0.0-alpha15 enthält diese Commits.

API-Änderungen

  • "HitResult.createAnchor" wurde entfernt. Entwickler können einen Anker erstellen, der die HitResult darstellt, wenn das trackbare Element des Ergebnisses eine Anchorable ist. Dazu müssen sie die Trefferposition an die Funktion createAnchor der Anchorable übergeben. (Ia851e)
  • "AnchorUnsupportedObject" wurde entfernt. Sie wird nicht mehr von einer JXR-ARCore-Laufzeit ausgelöst. (Ia851e)
  • androidx.xr.arcore.Anchor und androidx.xr.arcore.ArDevice implementieren jetzt androidx.xr.arcore.Trackable. (I57b65)
  • Depth.left, Depth.right und Depth.mono können jetzt nicht mehr null sein (I1fc5e)
  • Face.getUserFace ist jetzt nicht mehr nullfähig (I0eac1)
  • RenderViewpoint.left, RenderViewpoint.right und RenderViewpoint.mono können jetzt nicht mehr null sein (Icf7fa)
  • Hand.left und Hand.right sind nicht nullwertfähig (Icef37)
  • QrCode API wurde hinzugefügt (Ia0bbe)

Version 1.0.0-alpha14

19. Mai 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha14 ist veröffentlicht. Version 1.0.0-alpha14 enthält diese Commits.

API-Änderungen

  • GeospatialMode.VPS_AND_GPS wird zugunsten von GeospatialMode.SPATIAL eingestellt. Außerdem wird ein neuer Tracking-Modus mit geringerem Energieverbrauch eingeführt, GeospatialMode.INERTIAL, der nur IMU und GPS verwendet. (I1e6cd)
  • Benutzerdefinierte Anker-Ausnahmeklassen: AnchorInvalidUuidException, AnchorNotAuthorizedException, AnchorUnsupportedLocationException, AnchorRuntimeFailureException und AnchorUnsupportedObjectException sind jetzt RuntimeException-Instanzen, die nicht geprüft werden sollen. (I9356e)
  • ArCoreTestRule API hinzugefügt, einschließlich TestArDevice, TestAugmentableObject, TestDepthMap, TestEye, TestFace, TestGeospatial, TestHand, TestPlane, TestRenderViewpoint und TestTrackable (I0ad3c)
  • Entfernt AnchorLoadInvalidUuid, AnchorCreateUnsupportedObject, AnchorCreateUnsupportedLocation und AnchorCreateNotAuthorized. Alle diese Fehler sind jetzt Ausnahmen in der Laufzeit. Entfernt AnchorCreateIllegalState. Diese wurde in den meisten Fällen durch AnchorCreateTrackingUnavailable ersetzt. Fügt AnchorException und die abgeleiteten Klassen AnchorInvalidUuidException, AnchorNotAuthorizedException, AnchorUnsupportedLocationException, AnchorRuntimeFailureException und AnchorUnsupportedObjectException hinzu. (I4c4dd)

Externer Beitrag

  • AugmentedImage API für benutzerdefiniertes Markertracking hinzugefügt (I0cf09)

Version 1.0.0-alpha13

6. Mai 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha13 ist veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.

API-Änderungen

  • TrackingState und VpsAvailabilityResult wurden in androidx.xr.arcore package verschoben und die Typen in androidx.xr.runtime wurden verworfen. (Ic7930, b/480462213)
  • Plane.Type wurde in PlaneType umbenannt. (I8c90c, b/482675376)
  • Hand.HandSide wurde in HandSide umbenannt. (Ica562, b/482675376)
  • Plane.Label wurde in PlaneLabel umbenannt. (Ic6b67, b/482675376)
  • Geospatial.Surface wurde in GeospatialSurface umbenannt. (I1a8be, b/482675376)
  • Geospatial.State wurde in GeospatialState umbenannt. (I203fa, b/482675376)
  • NativeData-API in die xr:runtime:runtime-Bibliothek verschoben. (I87954, b/494251500)
  • Session.create und Session.configure sind jetzt unvollständig und erfordern else-Klauseln in when-Anweisungen. (I9885e, b/495805998, b/495805998)
  • androidx.xr.runtime.FieldOfView wurde verworfen. Verwenden Sie stattdessen androidx.xr.runtime.math.FieldOfView. (Ia01a0, b/480233045)
  • Orbiter wurde so geändert, dass entweder ein OrbiterAnchorPoint + VolumeOffset oder ein OrbiterPoseProvider anstelle von Position, Offset, OffsetType, Ausrichtung und Höhe verwendet wird. Außerdem wurde der Parameter shouldRenderInNonSpatial entfernt. Wenn der Entwickler nicht möchte, dass der Orbiter in einer nicht räumlichen Umgebung gerendert wird, sollte er den Orbiter in eine if-Anweisung einbinden und die SpatialCapabilities prüfen. (I9fbb3, b/462428503)
  • Verschiebbare Modifikatoren hinzugefügt. Diese Modifikatoren funktionieren derzeit gut für SpatialPanels und SpatialExternalSurface. In Kürze werden sie auch für SpatialGltfModels unterstützt. Es ist jedoch geplant, diese für alle SubspaceComposables zu unterstützen. (I9a3cd, b/479530787, b/478935063, b/478935063)
  • Entwickler sollten den ArDevice.state-Flow beobachten, um State.trackingState zu überwachen und das Rendering oder die Warnungen ihrer Anwendung entsprechend der Tracking-Genauigkeit anzupassen. (Ic00f0, b/445466590)
  • HandJointType Enum-Werte wurden umbenannt. (Ifbc83, b/482670596)
  • FaceConfidenceRegion Konstanten umbenannt. (Ia62d5, b/482670596)
  • FaceBlendShapeType Konstanten umbenannt. (I33b8b, b/482670596)
  • CreatePoseFromGeospatialPoseErrorInternal und CreateGeospatialPoseFromPoseErrorInternal wurden hinzugefügt. (I4bcf1, b/482666615)
  • DeviceTrackingMode.LAST_KNOWN wurde in SPATIAL_LAST_KNOWN umbenannt (mit einem verworfenen Fallback), INERTIAL_LAST_KNOWN wurde für das 3DoF-Tracking hinzugefügt und TRACKING_DEGRADED wurde zu TrackingState hinzugefügt. (Ie661c, b/445466590)
  • GroupEntity wurde eingestellt. Wenn Sie eine Entität mit nur der grundlegenden Entitätsfunktion haben möchten, rufen Sie Entity.create auf. Dadurch wird eine Entitätsschnittstelle zurückgegeben. (I4c450, b/473867483)
  • XrLog API hinzugefügt. Setzen Sie XrLog.isEnabled auf true, um das Logging in JetpackXR zu aktivieren, und verwenden Sie XrLog.Level, um die Logebene festzulegen. (I76a1f, b/463460895, b/487378441)

Fehlerkorrekturen

  • Unterstützung für den Geräte-Tracking-Status zu den OpenXR-Geräten hinzufügen. (I91485, b/445466590)

Version 1.0.0-alpha12

25. März 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha12 ist veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.

API-Änderungen

  • Config.augmentedObjectCategories wurde von einer Liste in eine Gruppe geändert. (I25a64, b/487376359)
  • Die Typen androidx.xr.arcore.Eye und androidx.xr.arcore.Hand. (I42438, b/449032900)
  • Die Überladung Session.create wurde hinzugefügt, um die Übergabe eines Android-Kontexts für die Ressourceneingrenzung zu ermöglichen. (I7d3fe, b/415805990, b/477386334)
  • Ändert FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMIT in FakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235)
  • Die TiltGesture API wird als experimentell eingestuft, da sie in Zukunft möglicherweise geändert oder entfernt wird. Wenn Sie diese API verwenden möchten, aktivieren Sie @ExperimentalGesturesApi (Ic9858)
  • Es wurde die Möglichkeit hinzugefügt, Kategorien für das AugmentedObject-Tracking in der Konfiguration festzulegen (I1f6e4, b/480220930).

Fehlerkorrekturen

  • Der Build von Chrome wurde korrigiert, indem die Datei „META-INF/services/“ mit dem tatsächlichen Speicherort von PerceptionRuntimeFactory aktualisiert wurde. (I7a801, b/481288291)

Version 1.0.0-alpha11

25. Februar 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha11 ist veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.

Version 1.0.0-alpha10

28. Januar 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha10 ist veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.

Neue Funktionen

  • Führt die TiltGesture API ein, die einen reaktiven Flow für die zuverlässige Erkennung des Geräteneigungsstatus (AUF/AB) mit Übergangsfortschritt bietet. (Ic269f, b/448152779)
  • ARCore für Jetpack XR verwendet jetzt den Logging-Mechanismus der XR-Laufzeit. Weitere Informationen finden Sie unter androidx.xr.runtime.Log. (l52735, b/448697662)

API-Änderungen

  • Geospatial.createPoseFromGeospatialPose funktioniert jetzt auf OpenXR-fähigen Geräten. (l362c6)

Version 1.0.0-alpha09

3. Dezember 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha09 ist veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

Version 1.0.0-alpha08

19. November 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha08 ist veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

Neue Funktionen

  • ARCore für Jetpack XR unterstützt jetzt Geräte, auf denen die Google Play-Dienste für AR verfügbar sind.
  • Geospatial APIs für VPS-Verfügbarkeit und Positionsumwandlung hinzugefügt (I144dc)

Version 1.0.0-alpha07

22. Oktober 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha07 ist veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

Fehlerkorrekturen

  • :xr:arcore:arcore-openxr wurde als Implementierungsabhängigkeit zu :xr:arcore:arcore hinzugefügt (I47315, b/446999229)

Version 1.0.0-alpha06

24. September 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha06 ist veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

API-Änderungen

  • Die Testunterstützung für ARCore wurde zum Modul xr:arcore:arcore-testing migriert. (I25469)
  • ArDevice und RenderViewpoint werden hinzugefügt, damit Anwendungen die Position und die Displaykonfiguration des Geräts für das Rendering abrufen können. (Ib7e3f)
  • Benennen Sie HandJointType-Enums mit dem Präfix HAND_JOINT_TYPE_ um. (I3f7cd)
  • HandJointType wurde von xr:runtime:runtime nach xr:arcore:arcore verschoben. (Iadb9c, b/409058039)
  • Hand.State stellt jetzt ein java.nio.FloatBuffer mit den Gelenkpositionen in einem Format bereit, das einen einfachen Zugriff auf leistungsorientierte Anwendungen ermöglicht. (I55e27)

Version 1.0.0-alpha05

30. Juli 2025

androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05 und androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 sind veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Neue Funktionen

  • getPrimaryHandSide hinzugefügt, damit der Entwickler die Informationen zur Handseite abrufen kann (I270bd)
  • API zur Prüfung der VPS-Verfügbarkeit für die Geodaten-API hinzufügen (I58573)
  • ARCore API für checkVpsAvailability (Idbded) hinzufügen
  • stateFlowable-Erweiterungsfunktionen wurden zu :xr:arcore:arcore-rxjava3 hinzugefügt, damit sie von Java-Entwicklern verwendet werden können. (I083aa, b/427247794)

API-Änderungen

  • Die Werte für die Konfiguration *Mode wurden umbenannt, um ihr Verhalten widerzuspiegeln. (I6d247, b/414648065)
  • Das Haupt-ARCore-Artefakt (xr:arcore:arcore) enthält nur asynchrone APIs im Kotlin-Stil. Java-Entwickler können die Bibliothek xr:arcore:arcore-rxjava3 verwenden, um auf kompatible APIs zuzugreifen. (Ia525e, b/422794329)
  • Das Hauptartefakt von ARCore (xr:scenecore:scenecore) enthält nur asynchrone APIs im Kotlin-Stil. Java-Entwickler können die Bibliothek xr:arcore:arcore-guava verwenden, um auf kompatible APIs zuzugreifen. (Iffcb4, b/422773524)
  • Anchor.persistAsync() wurde zu AnchorGuava hinzugefügt, damit Java-Entwickler es verwenden können. (I4af1c, b/425984631)
  • Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface) wurde zu EarthGuava hinzugefügt, damit Java-Entwickler es verwenden können. (I66357, b/425992992)
  • Java-Entwickler verwenden die Erweiterungsfunktionen für GltfModel.createAsync in GltfModel.kt. Asynchrone Funktionen in GltfModel werden gelöscht. (I0af60)
  • In dieser Bibliothek werden jetzt JSpecify-Annotationen für Nullsicherheit verwendet, die typbezogen sind. Kotlin-Entwickler sollten das folgende Compiler-Argument verwenden, um die korrekte Verwendung zu erzwingen: -Xjspecify-annotations=strict (dies ist die Standardeinstellung ab Version 2.1.0 des Kotlin-Compilers). (Ia8420, b/326456246)
  • subscribeAsFlowable-Erweiterungsfunktionen wurden zu :xr:arcore:arcore-rxjava3 hinzugefügt, damit sie von Java-Entwicklern verwendet werden können. (Id3e49, b/427277298)

Version 1.0.0-alpha04

7. Mai 2025

androidx.xr.arcore:arcore:1.0.0-alpha04 ist veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

API-Änderungen

  • Für Projekte, die mit Kotlin 2.0 veröffentlicht wurden, ist KGP 2.0.0 oder höher erforderlich. (Idb6b5)
  • TrackingState und HandJointType wurden von ARCore in die Laufzeit verschoben.
  • Hand.State.isActive (boolean) wurde in Hand.State.trackingState (androidx.xr.runtime.TrackingState) geändert.
  • Anchor.load gibt Anchor.AnchorLoadInvalidUuid zurück, wenn die UUID ungültig ist.

Version 1.0.0-alpha03

26. Februar 2025

androidx.xr.arcore:arcore:1.0.0-alpha03 wurde ohne nennenswerte Änderungen seit der letzten Alphaversion veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Version 1.0.0-alpha02

12. Februar 2025

androidx.xr.arcore:arcore:1.0.0-alpha02 ist veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Unterstützung für Handtracking hinzugefügt. Verwenden Sie Hand.left und Hand.right, um auf die Tracking-Informationen zuzugreifen.
  • APIs, die einen Anker generieren (Anchor.create, Anchor.load, Plane.createAnchor), geben jetzt alle AnchorCreateResult zurück und implementieren AnchorCreateResourcesExhausted ordnungsgemäß.

Diverse Fehlerkorrekturen

  • Anchor.detach verursacht keinen schwerwiegenden Absturz mehr, der auf eine Race-Bedingung mit dem Thread für die Sitzungsaktualisierung zurückzuführen ist.
  • Anchor.create ist stabiler, wenn es auf einem Emulator ausgeführt wird

Version 1.0.0-alpha01

12. Dezember 2024

androidx.xr.arcore:arcore-* 1.0.0-alpha01 ist veröffentlicht.

Funktionen der ersten Version

Die ARCore for Jetpack XR-Bibliothek wurde von der bestehenden ARCore-Bibliothek inspiriert und bietet Funktionen, mit denen digitale Inhalte mit der realen Welt verschmolzen werden können. Diese Bibliothek umfasst Bewegungserkennung, persistente Anker, Trefferprüfung und Ebenenerkennung mit semantischen Labels (z. B. Boden, Wände und Tischplatten). Weitere Informationen zur Arbeit mit ARCore für Jetpack XR finden Sie im Entwicklerleitfaden.

  • Session: ARCore für Jetpack XR verwendet im Hintergrund die Jetpack XR-Laufzeit, um die Funktionen bereitzustellen. Sie verwenden eine Sitzung, um mit den meisten ARCore for Jetpack XR APIs zu interagieren. Sehen Sie sich daher die entsprechende Dokumentation an.

  • Plane: Verwenden Sie Ebenen, um die Welt um Sie herum zu verstehen. Jede Ebene hat ein Label, das sie semantisch beschreibt. Sie können subscribe verwenden, um über die neuesten erkannten Flugzeuge benachrichtigt zu werden, oder state, um über Änderungen an einem bestimmten Flugzeug benachrichtigt zu werden.

  • Anchor: Eine Verknüpfung zwischen einem virtuellen Objekt und einem realen Ort. Anker können an einer bestimmten Position im Raum (mit create) oder an einer Trackable (mit createAnchor) angehängt werden.

    • Anker können sitzungsübergreifend wiederverwendet werden. Sie können persist verwenden, um sie zu speichern, getPersistedAnchorUuids, um sie aufzulisten, und load, um sie abzurufen. Achten Sie darauf, dass Sie sie unpersist, wenn sie nicht mehr verwendet werden.

    • Anker sind zwischen ARCore für Jetpack XR und Jetpack SceneCore interoperabel. Sie können einen AnchorEntity mit einem Anker erstellen oder, wenn Sie bereits eine AnchorEntity haben, getAnchor verwenden, um den zugrunde liegenden Anker abzurufen.

    • Natürliche Nutzerinteraktionen mit hitTest ermöglichen Bei einem hitTest wird ein Ray verwendet, um zu bestimmen, welche Inhalte sich überschneiden, und um von diesem Ort aus ein Anchor zu erstellen. Führen Sie einen hitTest von einem InputEvent aus.

Bekannte Probleme

  • Es kann zu einer Verzögerung zwischen dem Aufruf von unpersist und dem Entfernen der UUID aus den von getPersistedAnchorUuids zurückgegebenen Ergebnissen kommen.

  • create prüft nicht, ob das System genügend Ressourcen hat, um neue Anker zurückzugeben. Wenn Sie zu viele Anker erstellen, kann dies zu einem Absturz führen.

  • Das Speichern eines Ankers, der zuvor gespeichert und dann wieder gelöscht wurde, wird derzeit nicht unterstützt.

  • Die Verwendung im Emulator wird unterstützt, das Verhalten ist jedoch möglicherweise nicht so stabil wie auf einem echten Gerät. Insbesondere können Aufrufe von create mit einem Fehler im nativen Code fehlschlagen und die Aktivität sofort beenden.

  • Unter bestimmten Umständen kann beim Aufrufen von persist fälschlicherweise ein RuntimeException mit der Meldung „Anker wurde nicht beibehalten“ ausgegeben werden. In diesen Fällen wird die Funktion trotzdem erfolgreich ausgeführt und der Anker wird beibehalten. Wir empfehlen, den Aufruf von persist als Behelfslösung mit einem try-Block zu umschließen.