ARCore für Jetpack XR
Letzte Aktualisierung | Stabile Version | Release-Kandidat | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
12. Februar 2025 | - | – | - | 1.0.0-alpha02 |
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 Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:
Cool
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha01") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.0
Version 1.0.0-alpha02
12. Februar 2025
androidx.xr.arcore:arcore:1.0.0-alpha02
wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Neue Funktionen
- Unterstützung für Handtracking hinzugefügt. Mit
Hand.left
undHand.right
können Sie auf die Tracking-Informationen zugreifen. - APIs, die einen Anker generieren (
Anchor.create
,Anchor.load
,Plane.createAnchor
), geben jetzt alleAnchorCreateResult
zurück und implementierenAnchorCreateResourcesExhausted
ordnungsgemäß.
Fehlerkorrekturen
Anchor.detach
führt aufgrund einer Race-Condition mit dem Sitzungsaktualisierungs-Thread nicht mehr zu einem schwerwiegenden Absturz.Anchor.create
ist stabiler, wenn es in einem Emulator ausgeführt wird
Version 1.0.0-alpha01
12. Dezember 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01
wird veröffentlicht.
Funktionen der Erstversion
Die ARCore for Jetpack XR-Bibliothek wurde von der ARCore-Bibliothek inspiriert und bietet Funktionen zum Einbinden digitaler Inhalte in die reale Welt. Diese Bibliothek umfasst Bewegungsverfolgung, persistente Anker, Treffertests und die ebenene Identifikation 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 nutzt die Jetpack XR-Laufzeit, um seine Funktionen zu ermöglichen. Sie verwenden eine Sitzung, um mit den meisten ARCore for Jetpack XR APIs zu interagieren. Lesen Sie sich daher die entsprechende Dokumentation durch.Plane
: Mit Ebenen die Welt um Sie herum besser verstehen. Jede Ebene hat einenLabel
, der sie semantisch beschreibt. Mitsubscribe
werden Sie über die zuletzt erkannten Flugzeuge benachrichtigt. Mitstate
werden Sie über Änderungen an einem bestimmten Flugzeug benachrichtigt.Anchor
: Eine Verknüpfung zwischen einem virtuellen Objekt und einem Ort in der realen Welt. Anker können an einem bestimmten Ort im Raum (mitcreate
) oder an einemTrackable
(mitcreateAnchor
) befestigt werden.Anker können sitzungsübergreifend wiederverwendet werden. Sie können sie mit
persist
speichern, mitgetPersistedAnchorUuids
aufzählen und mitload
abrufen. Denken Sie daran, sie zuunpersist
, sobald 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. Wenn Sie bereits eine AnchorEntity haben, können Sie mitgetAnchor
den zugehörigen Anker abrufen.Bieten Sie mit
hitTest
natürliche Nutzerinteraktionen. Bei einem HitTest wird einRay
verwendet, um zu bestimmen, mit welchen Inhalten er sich überschneidet, und an dieser Stelle einenAnchor
zu erstellen. Sie können einen HitTest von einemInputEvent
aus durchführen.
Bekannte Probleme
Zwischen dem Aufruf von
unpersist
und dem Entfernen der UUID aus den vongetPersistedAnchorUuids
zurückgegebenen Ergebnissen kann es zu einer Verzögerung kommen.Mit
create
wird nicht geprüft, ob das System genügend Ressourcen hat, um neue Anker zurückzugeben. Das Erstellen einer übermäßigen Anzahl von Ankern kann zu einem Absturz führen.Das Speichern eines Ankers, der zuvor gespeichert und 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 bei der Ausführung auf einem echten Gerät. Insbesondere Aufrufe von
create
können mit einem Native-Code-Fehler fehlschlagen und die Aktivität sofort beenden.Unter bestimmten Umständen kann beim Aufruf von
persist
fälschlicherweise eineRuntimeException
mit der Meldung „Der Anker wurde nicht gespeichert“ ausgegeben werden. In diesem Fall wird die Funktion trotzdem ausgeführt und der Anker wird gespeichert. Wir empfehlen als Problemumgehung, den Aufruf vonpersist
in einentry
-Block einzufügen.