Neue und wichtige Änderungen in ARCore.
Neu in ARCore v1.50.0
Änderungen an targetSdkVersion
des ARCore SDK
Das targetSdkVersion
von ARCore wurde auf Android-API-Level 36 aktualisiert. Wenn in Ihrer App kein targetSdkVersion
angegeben ist, wird targetSdkVersion
Ihrer App aufgrund des Zusammenführens von Manifesten auf 36 festgelegt.
In Unity wird der targetSdkVersion
-Wert von ARCore überschrieben, wenn Sie in den Projekteinstellungen > Player > Android > Weitere Einstellungen Ihres Unity-Projekts eine Target API Level (Ziel-API-Level) angeben.
Neu in ARCore v1.49.0
Verschiedene Fehlerkorrekturen und Leistungsverbesserungen
Neu in ARCore v1.48.0
Unterstützung für Unity 6 und AR Foundation 6 ist vollständig verfügbar
ARCore Extensions for Unity – AR Foundation unterstützt jetzt AR Foundation 6. Verwenden Sie die folgenden Installationsmethoden, um eine kompatible Version von ARCore Extensions für AR Foundation zu erhalten:
- Über
Add package from git url...
: Verwenden Siehttps://github.com/google-ar/arcore-unity-extensions.git#arf6
, - Über
Add package from tarball...
: Verwenden Sie ein Release, das auf der Seite „Releases“ mitarf6
gekennzeichnet ist.
Informationen zum Aktualisieren Ihres Projekts von AR Foundation 5 auf AR Foundation 6 finden Sie in dieser Anleitung.
Nicht abwärtskompatible Änderungen und Änderungen beim Verhalten
- Das SDK unterstützt keine Bereitstellungsziele für iOS-Versionen unter 13.0 mehr.
Neu in ARCore v1.47.0
Betasupport für Unity 6 und AR Foundation 6
ARCore Extensions for Unitys AR Foundation bietet jetzt Betasupport für AR Foundation 6, um Unity 6 zu unterstützen. Verwenden Sie die folgenden Installationsmethoden, um eine kompatible Version von ARCore Extensions für AR Foundation zu erhalten:
- Über
Add package from git url...
: Verwenden Siehttps://github.com/google-ar/arcore-unity-extensions.git#arf6
, - Über
Add package from tarball...
: Verwenden Sie ein Release, das auf der Seite „Releases“ mitarf6
gekennzeichnet ist.
Informationen zum Aktualisieren Ihres Projekts von AR Foundation 5 auf AR Foundation 6 finden Sie in dieser Anleitung.
Fehlerkorrekturen
- Die Ebene im Cloud Anchor-Beispiel ist in Unity 6 nicht mehr transparent.
Sonstige Änderungen
- Der
main
-Zweig des ARCore Extensions-GitHub-Repositorys wurde so geändert, dass er demarf5
-Zweig folgt.
Neu in ARCore v1.46.0
Änderungen an targetSdkVersion
des ARCore SDK
Das targetSdkVersion
von ARCore wurde auf Android-API-Level 35 aktualisiert. Wenn in Ihrer App kein targetSdkVersion
angegeben isttargetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
targetSdkVersion
�
In Unity wird der targetSdkVersion
-Wert von ARCore überschrieben, wenn Sie in den Projekteinstellungen > Player > Android > Weitere Einstellungen Ihres Unity-Projekts eine Target API Level (Ziel-API-Level) angeben.
Neu in ARCore v1.45.0
Flash Mode API
ARCore unterstützt jetzt das Aktivieren des Taschenlampenmodus des Geräts, was eine bessere Wahrnehmung in dunklen Umgebungen ermöglicht.
Android (Kotlin/Java)
Config.FlashMode
: Konfigurationsoption zum Aktivieren oder Deaktivieren des Blitzgeräts auf dem Gerät.- Weitere Informationen zum Erkennen von Blitzfunktionen und zum Aktivieren des Taschenlampenmodus finden Sie im Entwicklerleitfaden.
Android NDK (C)
ArFlashMode
: Konfigurationsoption zum Aktivieren oder Deaktivieren des Blitzgeräts auf dem Gerät.- Weitere Informationen zum Erkennen von Blitzfunktionen und zum Aktivieren des Taschenlampenmodus finden Sie im Entwicklerleitfaden.
ARCore Extensions for Unitys AR Foundation unterstützt AR Foundation 5
ARCore Extensions für AR Foundation unterstützt jetzt offiziell AR Foundation 5. Wenn Sie AR Foundation 5 (die bestätigte Version für Unity-Versionen 2022 und 2023) verwenden, können Sie eine kompatible Version von ARCore Extensions for AR Foundation mit den folgenden Installationsmethoden abrufen:
- Über
Add package from git url...
: Verwenden Siehttps://github.com/google-ar/arcore-unity-extensions.git#arf5
. - Über
Add package from tarball...
: Verwenden Sie ein Release, das auf der Seite „Releases“ mitarf5
gekennzeichnet ist.
Für Projekte, die weiterhin AR Foundation-Version 4 verwenden, sind die folgenden Installationsmethoden verfügbar:
- Über
Add package from git url...
: Verwenden Siehttps://github.com/google-ar/arcore-unity-extensions.git#arf4
. - Über
Add package from tarball...
: Verwenden Sie ein Release, das auf der Seite „Releases“ mitarf4
gekennzeichnet ist.
Informationen zum Upgrade Ihres Projekts von AR Foundation 4 auf AR Foundation 5 finden Sie im Migrationsleitfaden.
Benutzerdefinierte Scriptingsymbole wie ARCORE_USE_ARF_5
aus der Betasupport werden nicht mehr verwendet.
Neu in ARCore v1.44.0
Diese Version enthält keine neuen Funktionen.
Neu in ARCore v1.43.0
Migration der Places API in Geospatial Creator
Die Suchfunktion von Geospatial Creator verwendet jetzt die New Places API von Google. Wenn Sie die Suchfunktion verwenden möchten, müssen Sie die Places API (New) in der Google Cloud Console aktivieren.
Neu in ARCore v1.42.0
„Snap to Tile“ in Geospatial Creator für Unity
Dem Bereich „Editor Inspector“ wurde die Schaltfläche „An Kachel ausrichten“ hinzugefügt.ARGeospatialCreatorAnchor
Mit dieser Schaltfläche wird der nur im Editor sichtbare Höhenwert eines Geländes oder Dachankers auf die Oberseite der 3D-Kachelgeometrie am aktuellen Breiten- und Längengrad des Ankers festgelegt. Diese Eigenschaft hat keine Auswirkungen auf das Verhalten zur Laufzeit. So kann die Position des Ankers im Editor an seine Position zur Laufzeit angepasst werden.
Neu in ARCore v1.41.0
Geospatial Creator API
Geospatial Creator für Unity unterstützt jetzt das Erstellen und Bearbeiten von Geospatial Creator-Objekten im Editormodus. Die neu verfügbaren Klassen und APIs werden im Geospatial Creator API Guide beschrieben.
Unterstützung von AR Foundation-Versionen 5.x (Beta)
ARCore Extensions for Unity AR Foundation unterstützt jetzt AR Foundation-Versionen 5.x. Informationen zum Migrieren eines vorhandenen Projekts zu AR Foundation finden Sie in der Migrationsanleitung.
Neu in ARCore v1.40.0
Szenensemantik auf iOS-Geräten
Die Scene Semantics API ist jetzt im ARCore SDK for iOS sowie in ARCore Extensions for Unity’s AR Foundation für die iOS-Plattform verfügbar. Mit der Scene Semantics API können Entwickler die Umgebung des Nutzers in Echtzeit analysieren und Pixel in 11 Klassen von Outdoor-Komponenten einteilen. Weitere Informationen finden Sie unter Einführung in die Szenensemantik.
iOS
Unity (AR Foundation)
Nach Points of Interest in Geospatial Creator for Unity suchen
Geospatial Creator für Unity unterstützt jetzt die Textsuche, um die Ansicht von fotografischen 3D-Kacheln zu positionieren. Weitere Informationen finden Sie unter Points of Interest in Geospatial Creator suchen.
Neu in ARCore v1.39.0
Diese Version enthält keine neuen Funktionen.
Neu in ARCore v1.38.0
Diese Version enthält keine neuen Funktionen.
Neu in ARCore v1.37.0
Szenensemantik
Die Funktion „Szenensemantik“ liefert detailliertere Informationen zur Umgebung, sodass Nutzer die Welt um sich herum besser verstehen können. Bei „Scene Semantics“ wird ein ML-Modell auf den Kamerabildfeed angewendet. Das Ergebnis ist ein semantisches Bild, bei dem jedes Pixel einem von elf Labels für Outdoor-Konzepte entspricht.
Weitere Informationen finden Sie unter Einführung in die Szenensemantik und in der Beispiel-App „semantics_java“.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
iOS
Straßenansichtsgeometrie
Streetscape Geometry ist eine neue ARCore Geospatial API, die die Geometrie von Gebäuden und Gelände in einem Bereich um den Nutzer herum bereitstellt, wenn die Geospatial API aktiviert ist.
Android (Kotlin/Java)
Weitere Informationen finden Sie im Entwicklerleitfaden zur Streetscape Geometry API (Kotlin/Java). Außerdem wurde die geospatial_java-Beispiel-App aktualisiert und enthält jetzt auch Streetscape Geometry.
Android NDK (C)
Weitere Informationen finden Sie im Entwicklerleitfaden für Streetscape Geometry (C).
Unity (AR Foundation)
Weitere Informationen finden Sie im Entwicklerleitfaden für Streetscape Geometry (Unity).
iOS
Weitere Informationen finden Sie im Entwicklerleitfaden zur Streetscape Geometry API (iOS). Außerdem wurde die GeospatialExample-App aktualisiert und enthält jetzt auch Streetscape Geometry.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
bietet 3D-Meshes.GARStreetscapeGeometry.meshTransform
bietet die Ursprungstransformation der Geometrie relativ zum Weltraum der Sitzung.GARStreetscapeGeometry.trackingState
behält den Tracking-Status bei.GARStreetscapeGeometry.type
gibt an, ob es sich um Gelände- oder Gebäudegeometrie handelt.GARStreetscapeGeometry.quality
gibt die Qualität der Geometrie an.GARStreetscapeGeometry.identifier
enthält die eindeutige Kennung für die Geometrie.- Mit
GARSession.createAnchorOnStreetscapeGeometry:transform:error:
wird ein Anker am angegebenen Ort und in der angegebenen Ausrichtung erstellt. - Mit
GARSession.raycastStreetscapeGeometry:direction:error:
wird ein Raycast für die in der Szene geladene Streetscape-Geometrie ausgeführt.
Dachanker
Dachanker sind ein neuer Typ von Geospatial Anchors, mit denen Sie Inhalte auf einem Dach verankern können.
Android (Kotlin/Java)
Weitere Informationen finden Sie unter Geospatial Anchors (Java). Außerdem wurde die geospatial_java-Beispiel-App aktualisiert, um Dachanker zu unterstützen.
Android NDK (C)
Weitere Informationen finden Sie unter Geospatial Anchors (C).
Unity (AR Foundation)
Weitere Informationen finden Sie unter Geospatial Anchors. Außerdem wurde das geospatiale Beispiel aktualisiert und enthält jetzt auch Dachanker.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
bietet einen Anker für Spielobjekte in Ihrer Szene am angegebenen Breiten- und Längengrad, der Höhe über dem Dach und der Ausrichtung.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Weitere Informationen finden Sie unter Geospatial Anchors (iOS). Außerdem wurde die GeospatialExample-App aktualisiert, um Dachanker einzubinden.
- Mit
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
wird ein Dachanker am angegebenen Ort, in der angegebenen Höhe über dem Dach in Metern und in der angegebenen Ausrichtung relativ zur Erde erstellt. GARCreateAnchorOnRooftopFuture
enthält den asynchronen Status der Auflösung eines Dachankerpunkts.GARRooftopAnchorState
beschreibt den Status der Auflösung eines Dachankers.
Geodaten-Tiefe
Wenn sowohl die Depth API als auch der Streetscape Geometry-Modus in einer ARCore-Sitzung in Gebieten mit VPS-Abdeckung aktiviert sind, werden die generierten Tiefenbilder mithilfe von Streetscape Geometry verbessert. Die Streetscape-Geometrie wird in jedes generierte Tiefenbild bis zu einer Entfernung von 65.535 Metern integriert. Beim Aufrufen der Depth API sind keine Änderungen erforderlich, um diesen Vorteil zu nutzen.
Android (Kotlin/Java)
Weitere Informationen finden Sie unter Geospatial Depth (Java).
Android NDK (C)
Weitere Informationen finden Sie unter Geospatial Depth (C).
Unity (AR Foundation)
Weitere Informationen finden Sie unter Geospatial Depth (C).
iOS
Die Funktion „Szenensemantik“ ist derzeit nicht für iOS verfügbar.
Unterstützung für Vulkan-Rendering
ARCore unterstützt jetzt das Rendern mit Vulkan, indem das Kamerabild über ein AHardwareBuffer
bereitgestellt wird. Sie können diesen Hardwarepuffer verwenden, indem Sie ihn an ein VkImage
binden.
Weitere Informationen finden Sie unter ARCore-Anwendung mit Vulkan rendern und in der Beispiel-App hello_ar_vulkan_c.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Vulkan-Rendering ist derzeit für Unity mit AR Foundation nicht verfügbar.
Elektronische Bildstabilisierung (EIS)
Sie können ARCore so konfigurieren, dass die elektronische Bildstabilisierung verwendet wird. Dadurch werden Kamerabilder geglättet und die Nutzerfreundlichkeit verbessert.
Weitere Informationen finden Sie unter Elektronische Bildstabilisierung aktivieren und in der Kotlin-Beispiel-App „hello_eis“.
Android (Kotlin/Java)
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- Es gibt ein bekanntes Problem, bei dem der Aufruf von
Frame.transformCoordinates3d()
mit anderen 2D-Koordinaten alsOPENGL_NORMALIZED_DEVICE_COORDINATES
zu einem Absturz führt, anstattIllegalArgumentException
auszulösen. Dieses Problem wird in der folgenden Version behoben.
Android NDK (C)
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- Es gibt ein bekanntes Problem, bei dem der Aufruf von
ArFrame_transformCoordinates3d()
mit anderen 2D-Koordinaten alsAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
dazu führt, dass Ihre App abgebrochen wird, anstattAR_ERROR_INVALID_ARGUMENT
zurückzugeben. Dieses Problem wird in der folgenden Version behoben.
Unity (AR Foundation)
EIS ist derzeit nicht für Unity mit AR Foundation verfügbar.
iOS
EIS ist derzeit nicht für iOS verfügbar.
ARCore-APIs für asynchrone Vorgänge
In dieser Version werden neue asynchrone ARCore-APIs eingeführt, um die Ergonomie bei der Arbeit mit asynchronen Vorgängen zu verbessern. Dabei wird dem Future- und Promise-Paradigma gefolgt.
Android (Kotlin/Java)
- Terrain-Anker auflösen: Verwenden Sie
Earth.resolveAnchorOnTerrainAsync()
, um einResolveAnchorOnTerrainFuture
abzurufen. Das alte SymbolEarth.resolveAnchorOnTerrain()
wurde verworfen und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anker auflösen: Verwenden Sie
Session.resolveCloudAnchorAsync()
, um einResolveCloudAnchorFuture
abzurufen. Das alte SymbolSession.resolveCloudAnchor()
wurde verworfen und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anker hosten: Verwenden Sie
Session.hostCloudAnchorAsync()
, um eineHostCloudAnchorFuture
zu erhalten. Die alten SymboleSession.hostCloudAnchor()
undSession.hostCloudAnchorWithTtl()
wurden verworfen und werden möglicherweise in einer späteren Version von ARCore entfernt. - APK-Verfügbarkeit prüfen: Verwenden Sie
ArCoreApk.checkAvailabilityAsync()
, um einen Callback zu registrieren. Das alte SymbolArCoreApk.checkAvailability()
wurde nicht eingestellt.
Android NDK (C)
- Terrain-Anker auflösen: Verwenden Sie
ArEarth_resolveAnchorOnTerrainAsync()
, um einArResolveAnchorOnTerrainFuture
zu erhalten, oder verwenden SieArResolveAnchorOnTerrainCallback
. Das alte SymbolArEarth_resolveAndAcquireNewAnchorOnTerrain()
wurde verworfen und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anker auflösen: Verwenden Sie
ArSession_resolveCloudAnchorAsync()
, um einArResolveCloudAnchorFuture
zu erhalten, oder verwenden SieArResolveCloudAnchorCallback
. Das alte SymbolArSession_resolveAndAcquireNewCloudAnchor()
wurde verworfen und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anker hosten: Verwenden Sie
ArSession_hostCloudAnchorAsync()
, um eineArHostCloudAnchorFuture
abzurufen, oder verwenden SieArHostCloudAnchorCallback
. Die alten SymboleArSession_hostAndAcquireNewCloudAnchor()
undArSession_hostAndAcquireNewCloudAnchorWithTtl()
wurden verworfen und werden möglicherweise in einer späteren Version von ARCore entfernt. - APK-Verfügbarkeit prüfen: Verwenden Sie
ArCoreApk_checkAvailabilityAsync()
, um einen Callback zu registrieren. Das alte SymbolArCoreApk_checkAvailability()
wurde nicht eingestellt.
Unity (AR Foundation)
- Terrain-Anker auflösen: Verwenden Sie
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
, um einResolveAnchorOnTerrainPromise
abzurufen. Das alte SymbolARAnchorManagerExtensions.ResolveAnchorOnTerrain()
wurde verworfen und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anker auflösen: Verwenden Sie
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
, um einResolveCloudAnchorPromise
abzurufen. Das alte SymbolARAnchorManagerExtensions.ResolveCloudAnchorId()
wurde verworfen und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anker hosten: Verwenden Sie
ARAnchorManagerExtensions.HostCloudAnchorAsync()
, um eineHostCloudAnchorPromise
zu erhalten. Die altenARAnchorManagerExtensions.HostCloudAnchor()
-Symbole wurden verworfen und werden möglicherweise in einer späteren Version von ARCore entfernt.
iOS
- Terrain-Anker auflösen: Verwenden Sie
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
, um einGARCreateAnchorOnTerrainFuture
abzurufen. Das alte SymbolGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
wurde verworfen und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anker auflösen: Verwenden Sie
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
, um einGARResolveCloudAnchorFuture
abzurufen. Das alte SymbolGARSession.resolveCloudAnchorWithIdentifier:error:
wurde verworfen und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anker hosten: Verwenden Sie
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
, um eineGARHostCloudAnchorFuture
zu erhalten. Die alten SymboleGARSession.hostCloudAnchor:error:
undGARSession.hostCloudAnchor:TTLDays:error:
wurden verworfen und werden möglicherweise in einer späteren Version von ARCore entfernt.
Neu in ARCore v1.36.0
Unterstützung von Swift Package Manager unter iOS
Das ARCore SDK für iOS unterstützt jetzt offiziell den Swift Package Manager. Eine Anleitung zur Integration von ARCore mit Swift Package Manager finden Sie unter AR in Ihrer iOS-App aktivieren.
Neu in ARCore v1.35.0
Die Ausrichtung wird durch den Gierwinkel ersetzt
Für alle Geopositionen wird jetzt die Ausrichtungsgenauigkeit der Gierrotation anstelle der Kursgenauigkeit angegeben.
- Java/Kotlin: Ersetzen Sie
GeospatialPose.getHeading()
durchGeospatialPose.getEastUpSouthQuaternion()
undGeospatialPose.getHeadingAccuracy()
durchGeospatialPose.getOrientationYawAccuracy()
. - C: Ersetzen Sie
ArGeospatialPose_getHeading()
durchArGeospatialPose_getEastUpSouthQuaternion()
undArGeospatialPose_getHeadingAccuracy()
durchArGeospatialPose_getOrientationYawAccuracy()
. - iOS: Ersetzen Sie
GARGeospatialTransform.heading
durchGARGeospatialTransform.eastUpSouthQTarget
undGARGeospatialTransform.headingAccuracy
durchGARGeospatialTransform.orientationYawAccuracy
. - Unity: Ersetzen Sie
GeospatialPose.Heading
durchGeospatialPose.EunRotation
undGeospatialPose.HeadingAccuracy
durchGeospatialPose.OrientationYawAccuracy
.
Weitere Änderungen und Aktualisierungen
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- ARCore for Android NDK – Versionshinweise
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions für AR Foundation
Neu in ARCore v1.34.0
Prüfen, ob die Geospatial-Funktionen am aktuellen Standort des Geräts verfügbar sind
Mit der Geospatial API kann jetzt zur Laufzeit geprüft werden, ob das Visual Positioning System (VPS) an einer bestimmten horizontalen Position verfügbar ist. Diese API kann ohne aktive AR-Sitzung verwendet werden, z. B. um die Schaltfläche „AR starten“ nur dann zu präsentieren, wenn VPS verfügbar ist.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Ausrichtung der geografischen Position
Die Ausrichtung von georäumlichen Posen im 3D-Raum wird jetzt offengelegt.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Konvertierungen von raumbezogenen Posen
Geospatiale Posen können jetzt in und aus Posen im Weltraum (AR) konvertiert werden.
So rufen Sie die geospatiale Position aus einer AR-Position ab:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
So rufen Sie die AR-Pose aus einer geospatialen Pose ab:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
Geospatiale Posen, die mit diesen Funktionen abgerufen werden, haben einen Kurswert von null. Verwenden Sie stattdessen Folgendes:
- Android (Java/Kotlin/C): Das EUS-Quaternion der Pose
- iOS:
eastUpSouthQTarget
der Pose - Unity: Die
EunRotation
der Pose
Weitere Änderungen und Aktualisierungen
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- ARCore for Android NDK – Versionshinweise
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions für AR Foundation
Neu in ARCore v1.33.0
Neuer Cloud Anchors-Endpunkt
- Wenn Sie Cloud Anchors verwenden möchten, müssen Sie jetzt die ARCore API anstelle der älteren ARCore Cloud Anchor API aktivieren, die jetzt eingestellt ist. Um ältere App-Versionen zu unterstützen, können Sie beide während der Umstellung aktivieren. Apps, die mit ARCore SDK 1.32.0 und niedriger erstellt wurden, sind auf die alte API ausgerichtet, während Apps, die mit ARCore SDK 1.33.0 und höher erstellt wurden, auf die neue API ausgerichtet sind. Beachten Sie Folgendes:
- Die neue API verwendet den Domainnamen
arcore.googleapis.com
anstelle vonarcorecloudanchor.googleapis.com
. - Wenn Sie einen API-Schlüssel verwenden, der durch die API eingeschränkt ist, müssen Sie die ARCore API zulassen.
- Wenn Sie Anfragen von Ihrem Backend an die ARCore Cloud Anchor Management API senden, müssen Sie den Domainnamen nach der Aktivierung der ARCore API auch in
arcore.googleapis.com
ändern. - Die alte API bzw. der alte Endpunkt werden bis August 2023 unterstützt.
- Weitere Informationen finden Sie unter Änderungen am Cloud Anchor-Endpunkt in ARCore 1.33.
- Die neue API verwendet den Domainnamen
Geländeanker
- Mit der Geospatial Terrain Anchor API wird ein Anker an einer bestimmten horizontalen Position und Höhe relativ zum Gelände der horizontalen Position erstellt.
Weitere Änderungen und Aktualisierungen
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- ARCore for Android NDK – Versionshinweise
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions für AR Foundation
Neu in ARCore v1.32.0
Diese Version enthält keine neuen Funktionen.
Android und Unity (AR Foundation) für Android
- Das
targetSdkVersion
von ARCore wurde auf Android-API-Level 32 aktualisiert. Wenn in Ihrer App keintargetSdkVersion
angegeben ist, wirdtargetSdkVersion
Ihrer App aufgrund der Manifestzusammenführung auf 32 festgelegt.- Android SDK: Wenn Sie in der
build.gradle
- oderAndroidManifest.xml
-Datei Ihres Projekts einentargetSdkVersion
angeben, wird dertargetSdkVersion
-Wert von ARCore überschrieben. - AR Foundation für Android: Wenn Sie in den Projekteinstellungen > Player > Android > Weitere Einstellungen Ihres Unity-Projekts eine Target API Level (Ziel-API-Level) angeben, wird der
targetSdkVersion
-Wert von ARCore überschrieben.
- Android SDK: Wenn Sie in der
Weitere Änderungen und Aktualisierungen
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- ARCore for Android NDK – Versionshinweise
- Versionshinweise für das ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions für AR Foundation
Neu in ARCore v1.31.0
ARCore Geospatial API
Die neue ARCore Geospatial API nutzt Daten aus Google Earth-3D-Modellen und Street View-Bilddaten aus Google Maps, um Ihre App für immersive, standortbasierte Augmented Reality-Erlebnisse im globalen Maßstab zu optimieren.
Einführung in die ARCore Geospatial API
Tiefenwahrnehmung auf große Distanz
Die ARCore Depth API wurde optimiert und bietet jetzt eine Tiefenerkennung über größere Entfernungen. Dadurch wird der Bereich der darstellbaren Tiefenbeobachtungen erweitert. Alle 16 Bit des Tiefenbilds werden verwendet, was einen maximalen Bereich von 65.535 Millimetern ermöglicht. Bisher wurden nur 13 Bits ausgefüllt, mit einem Grenzwert von 8.191 Millimetern.
In der plattformspezifischen Entwicklerdokumentation unter Changes to Depth (Änderungen bei der Tiefeninformation) finden Sie weitere Informationen zu den Änderungen an der Depth API.
Plattformspezifische Hinweise
Android
Neue ARCore Geospatial APIs
Java
Earth
bietet die Möglichkeit zur Lokalisierung in erdbezogenen Koordinaten.- Mit
Earth.createAnchor()
wird eine neueAnchor
am angegebenen Ort und in der angegebenen Ausrichtung relativ zur Erde erstellt.
- Mit
Earth.Earthstate
beschreibt den aktuellen Status vonEarth
, einschließlich desTrackingState
.GeospatialPose
beschreibt einen bestimmten Ort, eine bestimmte Höhe und eine bestimmte Kompassrichtung relativ zur Erde.
C
ArEarth
bietet die Möglichkeit zur Lokalisierung in erdfesten Koordinaten.- Mit
ArEarth_acquireNewAnchor()
wird eine neueAnchor
am angegebenen Ort und in der angegebenen Ausrichtung relativ zur Erde erstellt. ArEarthState
beschreibt den aktuellen Status vonArEarth
, einschließlich desArTrackingState
.
- Mit
ArGeospatialPose
beschreibt einen bestimmten Ort, eine bestimmte Höhe und eine bestimmte Kompassrichtung relativ zur Erde.
Aktualisierte ARCore Depth APIs
Java
- Die Funktionsaufrufe der Depth API haben sich geändert:
Frame.acquireDepthImage
zuFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
zuFrame.acquireRawDepthImage16Bits
.- Die Ausgabebildformate für beide Aufrufe haben sich von
android.graphics.ImageFormat#DEPTH16
inandroid.hardware.HardwareBuffer#D_16
geändert. - Die Tiefe wird weiterhin als 16‑Bit-Ganzzahl in Millimetern dargestellt, aber jetzt werden alle 16 Bit verwendet, um die Tiefe darzustellen. Dadurch kann der maximal darstellbare Bereich von 8.191 mm auf 65.535 mm erweitert werden.
- Die Depth API-Funktionsaufrufe
Frame.acquireDepthImage
undFrame.acquireRawDepthImage
sind veraltet. Verwenden Sie stattdessenFrame.acquireDepthImage16Bits
undFrame.acquireRawDepthImage16Bits
.
- Die Funktionsaufrufe der Depth API haben sich geändert:
C
- Die Funktionsaufrufe der Depth API haben sich geändert:
ArFrame_acquireDepthImage
zuArFrame_acquireDepthImage16Bits
.ArFrame_acquireRawDepthImage
nachArFrame_acquireRawDepthImage16Bits
- Die Ausgabebildformate für beide Aufrufe haben sich von
AR_IMAGE_FORMAT_DEPTH16
zuAR_IMAGE_FORMAT_D_16
geändert. - Die Tiefe wird weiterhin als 16‑Bit-Ganzzahl in Millimetern dargestellt, aber jetzt werden alle 16 Bit verwendet, um die Tiefe darzustellen. Dadurch kann der maximal darstellbare Bereich von 8.191 mm auf 65.535 mm erweitert werden.
- Die Depth API-Funktionsaufrufe
ArFrame_acquireDepthImage
undArFrame_acquireRawDepthImage
sind veraltet. Verwenden Sie stattdessenArFrame_acquireDepthImage16Bits
undArFrame_acquireRawDepthImage16Bits
.
- Die Funktionsaufrufe der Depth API haben sich geändert:
Unity (AR Foundation)
Neue ARCore Geospatial APIs:
AREarthManager
bietet die Möglichkeit zur Lokalisierung in erdfesten Koordinaten.EarthTrackingState
ruft den Tracking-Status von Earth für den letzten Frame ab.EarthState
behält Fehlerbedingungen für Earth bei.
GeospatialPose
beschreibt einen bestimmten Ort, eine bestimmte Höhe und eine bestimmte Himmelsrichtung relativ zur Erde.ARGeospatialAnchor
bietet einen Anker für Spielobjekte in Ihrer Szene, der an einem Ort und in einer Ausrichtung relativ zur Erde angegeben wird.
iOS
Neue ARCore Geospatial APIs:
GAREarth
Bietet eine auf die Erde bezogene Lokalisierung.GAREarthState.earthState
verwaltet Fehlerstatus und ‑bedingungen.GAREarthState.trackingState
behält den Tracking-Status bei, der für raumbezogene Daten erforderlich ist.
GARGeospatialTransform
Eine Darstellung einer globalen Transformation, einschließlich Standort, Kurs, Höhe und Schätzungen der Genauigkeit.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Erstellt einen geografischen Anker an der angegebenen Position und Ausrichtung relativ zur Erde.
Sonstige Änderungen
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- ARCore for Android NDK – Versionshinweise
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions für AR Foundation
Neu in ARCore v1.30.0
Diese Version enthält keine neuen Funktionen.
Android
- Annotierte API-Rückgabewerte mit
@NonNull
und@Nullable
. - Die für das Erstellen von Beispielen verwendeten Build-Tool-Versionen wurden aktualisiert: Gradle auf 7.0.2 und das Android-Gradle-Plug-in auf 7.0.4. Ein Upgrade dieser Tools ist für vorhandene ARCore-Anwendungen nicht erforderlich. Informationen zu neuen Funktionen, bekannten Problemen und Inkompatibilitäten finden Sie in der Android-Dokumentation zum Android-Gradle-Plug-in.
Unity (AR Foundation)
Es wurde ein neuer
arcore-unity-extensions-without-edm4u.tgz
-Release hinzugefügt. Bei dieser Release-Variante werden keine externen Abhängigkeiten wie External Dependency Manager für Unity gebündelt. Außerdem sind Upgrades auf EDM möglich. Durch die Verwendung dieser Lite-Version können Inkompatibilitäten bei der Verwendung von Firebase-Bibliotheken behoben werden. Installationsanleitung für ARCore Extensions for AR FoundationExternalDependencyManager wurde auf Version 1.2.168 aktualisiert, um 2021.2+ besser zu unterstützen. Weitere Informationen finden Sie im EDM-Changelog.
Es wurde ein Problem behoben, bei dem die ARCore-Sitzung bei jedem Frame konfiguriert wurde, auch wenn sich die Sitzungskonfiguration nicht geändert hat. Dies führte zu einem FPS-Rückgang.
iOS
- Verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
Neu in ARCore v1.29.0
Diese Version enthält keine neuen Funktionen.
Android
- hello_ar_java und hello_ar_kotlin: Die Farbe eines Objekts wurde geändert, wenn es mit
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
platziert wird, um Objekte, die mit Instant Placement platziert werden, besser zu unterscheiden. - persistent_cloud_anchor_java: Dem Beispiel wurde eine fehlende Build-Abhängigkeit hinzugefügt. Ein Fehler wurde behoben, durch den der Status eines beliebigen Ankers
CloudAnchorState ERROR_NOT_AUTHORIZED
war, auch wenn das Projekt richtig eingerichtet war.
Unity (AR Foundation)
- Das ARCore Extensions-Paket hängt jetzt vom ARKit XR-Plug-in ab, um sicherzustellen, dass die installierte AR Foundation-Version mit der ARKit XR-Plug-in-Version kompatibel ist. In dieser Version wurde ein Kompilierungsfehler behoben, der beim Installieren von ARCore Extensions unter Unity 2019.x und Aktivieren des ARKit XR-Plug-ins aufgetreten ist.
- Die Projekteinstellungen für ARCore Extensions wurden von Projekteinstellungen > XR > ARCore Extensions zu Projekteinstellungen > XR-Plug-in-Verwaltung > ARCore Extensions verschoben.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
undARCoreRecordingConfig
wurden aus Create > XR > ARCore Extensions in das Menü Create > XR verschoben.
iOS
- Verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
Vollständige Versionshinweise
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise für ARCore for Android NDK
- Vollständige Versionshinweise für das ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions für AR Foundation
Neu in ARCore v1.28.0
- Ab November 2022 können AR-fähige Apps keine NDK-Bilder oder Bildmetadaten mehr abrufen. Welche SDK-Versionen betroffen sind, hängt von der jeweiligen Funktion ab, die aufgerufen wird. Weitere Informationen finden Sie in der Mitteilung zur Einstellung.
- C: Aufrufe von
ArImage_getNdkImage()
undArImage_getNdkCameraMetadata()
geben immernullptr
für die ObjekteAImage
undACameraMetadata
zurück. - Java: Das von
Frame#acquireCameraImage()
zurückgegebeneImage
-Objekt hat die Größe0
×0
Pixel. Bei Aufrufen vonFrame#getImageMetadata()
wird immerIllegalArgumentException
ausgegeben. - Unity (AR Foundation): Bei Verwendung von AR Foundation 2.1 (Unity 2019 LTS) wird bei Aufrufen von
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
immerfalse
zurückgegeben. AR Foundation 4.x und höher sind nicht betroffen. Aufrufe vonXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
verhalten sich normal. - ARCore SDK for Unity (eingestellt): Aufrufe von
Frame.CameraImage.AcquireCameraImageBytes()
haben eine Größe von0
×0
Pixel. Bei Aufrufen vonFrame.CameraMetadata.GetAllCameraMetadataTags()
wird ein leererList<CameraMetadataTag>
zurückgegeben.
- C: Aufrufe von
- Java:
ArImage#getCropRect()
gibt jetzt ein Zuschneiderechteck in voller Größe zurück, d.h. alle Pixel im Bild sind gültig. Weitere Informationen finden Sie unterandroid.media.Image#getCropRect()
.
Neu in ARCore v1.27.0
Diese Version enthält keine neuen Funktionen. In den folgenden Versionshinweisen finden Sie Informationen zu verschiedenen Fehlerkorrekturen und Leistungsverbesserungen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise für ARCore for Android NDK
- Vollständige Versionshinweise für das ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions für AR Foundation
Neben verschiedenen Fehlerbehebungen enthält diese Version Folgendes.
Beispiel-Apps in Kotlin
hello_ar_kotlin wurde hinzugefügt, um Best Practices für die Verwendung von Kotlin zu demonstrieren.
Weitere Informationen finden Sie in der Kurzanleitung für Android.
ml_kotlin wurde hinzugefügt, um zu zeigen, wie ein Bildklassifizierungsmodell mit ARCore verwendet werden kann.
Weitere Informationen finden Sie unter ARCore als Eingabe für Modelle für maschinelles Lernen verwenden.
Neu in ARCore v1.26.0
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen:
- URIs werden jetzt für Datasets in Aufzeichnung und Wiedergabe unterstützt.
Weitere Änderungen und Aktualisierungen
Weitere Fehlerkorrekturen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise für ARCore for Android NDK
- Vollständige Versionshinweise für das ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions für AR Foundation
Neu in ARCore v1.25.0
Diese Version enthält keine neuen Funktionen. In den folgenden Versionshinweisen finden Sie Informationen zu verschiedenen Fehlerkorrekturen und Leistungsverbesserungen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise für ARCore for Android NDK
- Vollständige Versionshinweise für das ARCore SDK for iOS
- Vollständige Versionshinweise zum ARCore SDK for Unity
- Versionshinweise zu ARCore Extensions für AR Foundation
Neu in ARCore v1.24.0
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen:
- Eine neue Raw Depth API, die ein Tiefenbild ohne Filterung im Bildraum bereitstellt
- Benutzerdefinierte Aufzeichnung von Datentracks in der Recording & Playback API
- Möglichkeit, Tiefen-Hit-Tests durchzuführen
Rohdaten für Tiefe
Die Raw Depth API liefert Tiefendaten für ein Kamerabild, die genauer sind als die Daten der vollständigen Depth API, aber nicht immer alle Pixel abdecken. Roh-Tiefenbilder können zusammen mit den entsprechenden Konfidenzbildern weiterverarbeitet werden. So können Apps nur die Tiefendaten verwenden, die für den jeweiligen Anwendungsfall ausreichend genau sind.
Entwicklerleitfäden:
Benutzerdefinierte Aufzeichnung von Tracks
Mit der neuen Funktion zum Erstellen benutzerdefinierter Datentracks in der Recording & Playback API können Sie einem ARCore-Frame während der Aufzeichnung benutzerdefinierte Daten hinzufügen und diese Daten während der Wiedergabe aus dem Frame abrufen.
Entwicklerleitfäden:
Treffertests für die Tiefe
Bisher konnten Hit-Tests nur auf erkannten Ebenen durchgeführt werden, sodass nur große, flache Oberflächen infrage kamen. Bei Tiefen-Hit-Tests werden sowohl geglättete als auch Rohdaten zur Tiefe verwendet, um genauere Treffer zu erzielen, auch auf nicht ebenen und texturarmen Oberflächen.
Entwicklerleitfäden:
Weitere Änderungen und Aktualisierungen
Weitere Fehlerkorrekturen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise für ARCore for Android NDK
- Vollständige Versionshinweise für das ARCore SDK for iOS
- Vollständige Versionshinweise zum ARCore SDK for Unity
- Versionshinweise zu ARCore Extensions für AR Foundation
Neu in ARCore v1.23.0
Ausstehende Unterstützung für Dual-Kamera
Die Unterstützung für Dualkameras wird in den kommenden Wochen eingeführt. Weitere Informationen finden Sie auf der Seite Unterstützte Geräte.
Neue Debugging-Tools
Durch das Senden einer Broadcast-Intention können Entwickler Folgendes ermöglichen:
ARCore-API-Aufrufe werden im Android-Debug-Log protokolliert.
ARCore-Leistungs-Overlay
Cloud Anchors hosten und auflösen
AR-fähige Apps, die mit dem ARCore SDK 1.11.0 oder niedriger erstellt wurden, können keine Cloud Anchors mehr hosten oder auflösen.
C: Cloud Anchors, die von
ArSession_hostAndAcquireNewCloudAnchor
undArSession_resolveAndAcquireNewCloudAnchor
zurückgegeben werden, haben immer den StatusAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: Cloud Anchors, die von
Session.hostCloudAnchor(Anchor)
undSession.resolveCloudAnchor(String)
zurückgegeben werden, haben immer den StatusAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: Cloud Anchors, die von
XPSession.CreateCloudAnchor(Anchor)
undXPSession.ResolveCloudAnchor(string)
zurückgegeben werden, haben immer den StatusCloudServiceResponse.ErrorInternal
.
Apps, die mit ARCore SDK 1.12.0 oder höher erstellt wurden, sind davon nicht betroffen. Ihre Nutzung der ARCore Cloud Anchor API unterliegt der Richtlinie zur Einstellung von Produkten und Diensten.
Weitere Änderungen und Aktualisierungen
Weitere Fehlerbehebungen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
Neu in ARCore v1.22.0
In diesem Release werden neue APIs für die Aufnahme und Wiedergabe und APIs für Kamera-Konfigurationsfilter für ARCore Extensions für AR Foundation eingeführt. Weitere Informationen finden Sie in den vollständigen Versionshinweisen zu ARCore Extensions.
Weitere Änderungen und Aktualisierungen
Weitere Fehlerbehebungen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
Neu in ARCore v1.21.0
Mit diesem Release werden neue APIs für die Aufnahme und Wiedergabe für Android, Android NDK und Unity eingeführt.
Aufzeichnung und Wiedergabe
Mit den APIs für Aufzeichnung und Wiedergabe können Sie Video- und AR-Daten einmal in einer bestimmten Umgebung aufzeichnen und diese Inhalte verwenden, um eine Live-Kamerasitzung zu Testzwecken zu ersetzen. ARCore speichert aufgezeichnete Sitzungen in MP4-Dateien, die mehrere Videotracks und andere verschiedene Daten auf dem Gerät enthalten. Sie können dann festlegen, dass Ihre App diese Daten anstelle einer Live-Kamerasitzung verwendet. So können Sie diese Inhalte beliebig oft wiedergeben, um verschiedene AR-Effekte auszuprobieren, ohne noch einmal vor Ort sein zu müssen.
Weitere Informationen:
Java:
C:
Unity:
Neu in ARCore v1.20.0
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen:
Neue Unterstützung für persistente Cloud Anchors.
Aktualisierte Funktionen für Bildmetadaten für Android und Android NDK.
Neue Richtlinien, die Gradle-Version 5.6.4 oder höher erfordern, um ARCore Extensions für AR Foundation oder das ARCore SDK für Unity (1.19 oder höher) mit Unity 2018.4 oder höher zu unterstützen.
Neue Unterstützung für persistente Cloud Anchors
Vor ARCore v1.20 konnten Cloud Anchors nur bis zu 24 Stunden nach dem ersten Hosting aufgelöst werden. Mit persistenten Cloud Anchors können Sie jetzt einen Cloud Anchor mit einer Gültigkeitsdauer (Time to Live, TTL) zwischen einem und 365 Tagen erstellen. Sie können die Lebensdauer des Ankers auch nach dem Hosten mit der Cloud Anchor Management API verlängern.
Die Verwendung von persistenten Cloud Anchors unterliegt der neuen Richtlinie zur Einstellung von Cloud Anchors.
C: Entwicklerleitfaden,
ArSession_hostAndAcquireNewCloudAnchorWithTtl
undArSession_estimateFeatureMapQualityForHosting
.Java: Entwicklerleitfaden,
hostCloudAnchorWithTtl
undestimateFeatureMapQualityForHosting
.iOS: Entwicklerleitfaden,
hostCloudAnchor:TTLDays:error:
undestimateFeatureMapQualityForHosting:
.ARCore Extensions für AR Foundation: Android-Entwicklerleitfaden, iOS-Entwicklerleitfaden,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
undARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Unity-Targeting für Android: Entwicklerleitfaden,
XPSession.CreateCloudAnchor(Anchor, int)
undXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Unity-Targeting für iOS: Entwicklerleitfaden,
XPSession.SetAuthToken(string)
undXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
Weitere Änderungen und Aktualisierungen
Weitere Fehlerbehebungen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
Neu in ARCore v1.19.0
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen:
- Neue Instant Placement API für Android, Android NDK und Unity.
- Neue Anleitung für die Entwicklung für Android 11 mit Unity.
Sofortige Platzierung
Mit der Instant Placement API kann der Nutzer ein AR-Objekt auf dem Bildschirm platzieren, ohne darauf warten zu müssen, dass ARCore die Oberflächengeometrie erkennt. Die Platzierung des Objekts wird in Echtzeit optimiert, wenn sich der Nutzer in der Umgebung bewegt. Sobald ARCore die richtige Position in der Region erkennt, in der das AR-Objekt platziert ist, wird das weiße Objekt automatisch aktualisiert und wird deckend.
Im folgenden Clip ist eine virtuelle Android-Figur auf einem realen Tisch zu sehen. Die Figur ist weiß und viel kleiner, wenn sie zum ersten Mal platziert wird. Nachdem ARCore die Berechnungen der Szenenabmessungen optimiert hat, springt die Figur an eine genauere Position. Das kann zu einem Unterschied in der wahrgenommenen „Größe“ des Objekts führen.
Weitere Informationen:
Android:
Android NDK:
Unity:
Neu in ARCore v1.18.0
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen:
- Neue Depth API für Android, Android NDK und Unity
- Neue Anleitung zum Erstellen von Augmented Faces-Assets und zum Importieren in Android Studio.
- Die Depth API wird in
4.1.0-preview.2
sowohl fürAR Foundation
als auch fürARCore XR Plugin
unterstützt.
Depth API
Auf Geräten, die Tiefeninformationen unterstützen, wird mit der Depth API die RGB-Kamera des ARCore-kompatiblen Geräts oder, falls verfügbar, der aktive Tiefensensor verwendet, um Tiefenkarten zu erstellen. Anschließend können Sie die pro Pixel bereitgestellte Tiefe einer Tiefenkarte verwenden, um virtuelle Objekte präzise vor oder hinter realen Objekten zu platzieren. So lassen sich immersive und realistische Nutzererlebnisse schaffen.
Die folgenden Bilder zeigen beispielsweise eine virtuelle Android-Figur in einem realen Raum mit einer Truhe neben einer Tür. Die Depth API verdeckt die Figur hinter dem Rand des Baumstamms korrekt.
Weitere Informationen:
Android:
Android NDK:
Unity:
Neu in ARCore v1.17.0
Wichtige Änderungen im ARCore SDK for Android
Es wurden neue Methoden hinzugefügt, mit denen mehrere Kamerabilder gepuffert werden können. Zusammen mit anderen Techniken wie dem Multithread-Rendering kann dies verwendet werden, um die Variabilität der Framerates zu verringern.
Es wurden Getter für die Verwendung des Tiefensensors und für Ziel-FPS hinzugefügt:
Vollständige Versionshinweise zum Android SDK für Android
Wichtige Änderungen im ARCore SDK for Unity
- Unterstützung für Multithreaded Rendering in Unity-Version 2018.2 oder höher hinzugefügt. Dies verbessert in den meisten Fällen die Leistung und kann dazu beitragen, die Variabilität der Framerates zu verringern. Dies ist eine Unity-Projekteinstellung unter Project Settings > Player > Android > Other Settings > Multithreaded Rendering. Weitere Informationen finden Sie im Entwicklerleitfaden.
SessionStatus.ErrorCameraNotAvailable
undSessionStatus.ErrorIllegalState
wurden hinzugefügt, um bestimmte Fehlerstatus der ARCore-Sitzung anzugeben.
Vollständige Versionshinweise zum ARCore SDK for Unity
Wichtige Änderungen im ARCore SDK for iOS
Die Binärgröße des Cloud Anchors SDK wurde erheblich reduziert.
Bitcode wird jetzt für Augmented Faces unterstützt.
Vollständige Versionshinweise zum ARCore SDK für iOS
Neu in ARCore v1.16.0
Wichtige Änderungen im ARCore SDK for Android und Sceneform SDK for Android
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen:
- Die meisten Geräte geben jetzt zusätzliche unterstützte Kamerakonfigurationen mit niedrigeren GPU-Texturauflösungen als die standardmäßige GPU-Texturauflösung des Geräts zurück.
Weitere Informationen zu Geräten mit ARCore-Unterstützung
Diese erweiterten GPU-Auflösungen sind über die
getSupportedCameraConfigs(CameraConfigFilter)
API verfügbar.
Siehe auch:
Wichtiges zu ARCore Extensions for AR Foundation
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen:
Die
XRCameraConfiguration
von AR Foundation wird um Methoden erweitert, mit denen Sie die passende Kamerakonfiguration anhand der gewünschten Kriterien auswählen können. Zu diesen Methoden gehören GetTextureDimensions(), GetFPSRange() und GetDepthSensorUsages(). Ausführliche InformationenUnity 2019.3.0f6 ist jetzt die empfohlene Mindestversion für ARCore Extensions. Für AR Foundation 3.1.0-preview.6 ist Unity-Version 2019.3 oder höher erforderlich.
Unity verwendet jetzt die Begriffe Anchor, Cloud Anchor und Cloud Anchor-ID in seiner plattformübergreifenden AR-API. Die Dokumentation für ARCore Extensions wurde entsprechend aktualisiert.
Siehe auch:
Wichtige Änderungen im ARCore SDK for Unity
In dieser Version gibt es folgende wichtige Änderung:
- Die meisten Geräte geben jetzt zusätzliche unterstützte Kamerakonfigurationen mit niedrigeren GPU-Texturauflösungen als die standardmäßige GPU-Texturauflösung des Geräts zurück. Weitere Informationen zu Geräten mit ARCore-Unterstützung Diese erweiterten GPU-Auflösungen sind über die ARCoreCameraConfigFilter API verfügbar.
Siehe auch:
Vollständige Versionshinweise zum ARCore SDK for Unity
Neu in ARCore v1.15.0
Wichtiges zu ARCore Extensions for AR Foundation
Diese Version enthält die folgenden wichtigen Änderungen.
Das CloudAnchors-Beispiel wurde hinzugefügt, das zeigt, wie gemeinsame AR-Erlebnisse für Android und iOS erstellt werden. Android iOS
Unity 2019.2.17f1 ist jetzt die empfohlene Mindestversion für die Verwendung mit ARCore Extensions.
Vollständige Versionshinweise zu ARCore Extensions
Wichtige Änderungen im ARCore SDK for Unity
Dieser Release weist die folgenden bekannten Probleme auf.
Die Sofortvorschau kann Unity einfrieren, wenn Android 9 und ein USB 3-Kabel verwendet werden. Aktualisieren Sie auf Android 10 oder verwenden Sie ein USB 2-Kabel.
Die Sofortvorschau wird auf dem Gerät möglicherweise nicht angezeigt, wenn die Auflösung der Spielansicht von Unity zu hoch ist. Um das Problem zu beheben, verringern Sie die Auflösung der Spielansicht in Unity im Editor.
Vollständige Versionshinweise zum ARCore SDK for Unity
Weitere Änderungen
Weitere Fehlerbehebungen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
Neu in ARCore v1.14.0
Diese Version enthält die folgenden wichtigen Änderungen.
Wenn eine App die Kamera vorübergehend an eine andere App auf dem Gerät verliert, ist der Grund für den Tracking-Fehler jetzt genauer:
Android:
TrackingFailureReason
istCAMERA_UNAVAILABLE
anstelle vonNONE
.Android NDK:
ArTrackingFailureReasons
istAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
stattAR_TRACKING_FAILURE_REASON_NONE
.Unity:
Session.LostTrackingReason
istLostTrackingReason.CameraUnavailable
stattNone
.
Google erhebt und verarbeitet Daten, die bei der Nutzung des ARCore Extensions-Pakets anfallen, gemäß der Datenschutzerklärung von Google und den Nutzungsbedingungen für Google APIs. Sie können diese Funktion deaktivieren.
Neu in ARCore v1.13.0
Diese Version enthält die folgenden wichtigen Änderungen.
Unterstützung für die Verwendung von ARCore Extensions for Unitys AR Foundation zum Erstellen von iOS-Apps mit Cloud Anchors.
Unterstützung für die Schätzung der HDR-Umgebungsbeleuchtung in Sceneform.
Weitere Fehlerbehebungen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
Neu in ARCore v1.12.0
Diese Version enthält die folgenden Änderungen:
Die Funktion „Augmented Faces“ wurde für iOS hinzugefügt. Weitere Informationen finden Sie in dieser Übersicht, der Kurzanleitung> und dem Entwicklerleitfaden.
Unterstützung für die Verwendung von ARCore Extensions for Unitys AR Foundation zum Erstellen von Android-Apps mit Cloud Anchors.
Folgende Änderungen an Cloud Anchors:
- Um die aktualisierten Datenschutzanforderungen für die Verwendung von ARCore SDKs 1.12 oder höher zu erfüllen, müssen Sie die Verwendung von Cloud Anchors in Ihrer Anwendung deutlich offenlegen. Fügen Sie dazu auf einem Benachrichtigungsbildschirm den folgenden Text sowie einen Link ein, über den Nutzer mehr erfahren können: „Zur Durchführung dieser Sitzung verarbeitet Google visuelle Daten von Ihrer Kamera.“ Sie können dies umsetzen, indem Sie den empfohlenen Ablauf für Nutzerbenachrichtigungen implementieren, der in unseren Cloud Anchor-Beispiel-Apps verfügbar ist.
Weitere Informationen finden Sie unter Anforderungen an den Datenschutz.
Weitere Informationen zu Cloud Anchors:
Android:
Android NDK:
iOS:
Unity:
ARCore-Erweiterungen:
Neu in ARCore v1.11.0
Diese Version enthält die folgenden Änderungen:
Der ARCore-Dienst wurde in Google Play-Dienste für AR umbenannt. Auf Google Play-Geräten wird es jetzt als Teil der Google Play-Dienste verteilt.
Die Kamerakonfigurationen von ARCore sind auf 60 fps auf unterstützten Geräten ausgerichtet und der Tiefensensor wird auf Geräten mit einem solchen Sensor priorisiert. Mit den neuen Filtern für die Kamerakonfiguration können Sie die Framerate für die Kameraaufnahme auf 30 fps begrenzen, verhindern, dass ARCore einen Tiefensensor verwendet, oder nach beiden Optionen filtern.
Weitere Informationen zu Kamerakonfigurationen:
Android:
Android NDK:
Unity:
Neu in ARCore v1.10.0
In dieser Version werden der Lighting Estimation API für Android, Android NDK und Unity neue Funktionen zur Schätzung der Umgebungsbeleuchtung (Environmental HDR) hinzugefügt.
Bei diesen APIs wird maschinelles Lernen verwendet, um das eingegebene Kamerabild zu analysieren und die Umgebungsbeleuchtung zu schätzen. Mit diesen Daten zur Beleuchtung lassen sich äußerst realistische Lichteffekte rendern, darunter ein primäres gerichtetes Licht, Schatten, Umgebungslicht, Glanzlichter und Spiegelungen auf virtuellen Objekten. Das Ergebnis sind virtuelle Inhalte, die sich realistischer anfühlen.
Weitere Informationen:
Android:
Android NDK:
Unity:
Neu in ARCore v1.9.0
Neues im ARCore SDK for Android
In dieser Version werden die folgenden neuen APIs und Funktionen hinzugefügt:
Scene Viewer ist ein immersiver Viewer, der AR-Erlebnisse auf Ihrer Website ermöglicht. Damit können Nutzer von Android-Mobilgeräten webbasierte 3D-Modelle ganz einfach in ihrer Umgebung platzieren, ansehen und mit ihnen interagieren.
Neue Funktionen für erweiterte Bilder:
ARCore kann jetzt bewegte Augmented Images erkennen. Beispiele für bewegte Bilder sind eine Anzeige auf einem vorbeifahrenden Bus oder ein Bild auf einem flachen Objekt, das von einem Nutzer gehalten wird, während er seine Hand bewegt.
Nachdem ein Bild erkannt wurde, kann ARCore die Position und Ausrichtung des Bildes weiterhin verfolgen, auch wenn es sich vorübergehend aus dem Kamerabild bewegt hat.
Verwenden Sie
AugmentedImage#getTrackingMethod()
(Java) oderArAugmentedImage_getTrackingMethod()
(NDK), um zu ermitteln, ob das Augmented Image derzeit von der Kamera verfolgt wird (FULL_TRACKING
) oder basierend auf seiner letzten bekannten Position (LAST_KNOWN_POSE
).
Die Cloud Anchors-Dokumentation enthält jetzt eine detailliertere Erklärung dazu, wie Anker gehostet und aufgelöst werden.
Neues im ARCore SDK for Unity
Neue Funktionen für erweiterte Bilder:
ARCore kann jetzt bewegte Augmented Images erkennen. Beispiele für bewegte Bilder sind eine Werbung auf einem vorbeifahrenden Bus oder ein Bild auf einem flachen Objekt, das von einem Nutzer gehalten und bewegt wird.
Nachdem ein Bild erkannt wurde, kann ARCore die Position und Ausrichtung des Bildes weiterhin verfolgen, auch wenn es sich vorübergehend aus dem Kamerabild bewegt hat.
Mit der neuen
AugmentedImage.GetTrackingMethod()
API kann Ihre App ermitteln, ob das Augmented Image derzeit von der Kamera verfolgt wird (FullTracking
) oder basierend auf seiner letzten bekannten Position (LastKnownPose
).
Die Cloud Anchors-Dokumentation enthält jetzt eine detailliertere Erklärung dazu, wie Anker gehostet und aufgelöst werden.
Neues im ARCore SDK for iOS
Unterstützung für diese Geräte:
iPad Mini der fünften Generation
iPad Air der dritten Generation
Die Cloud Anchors-Dokumentation enthält jetzt eine detailliertere Erklärung dazu, wie Anker gehostet und aufgelöst werden.