Neue und wichtige Änderungen bei ARCore.
Neu in der ARCore-Version 1.42.0
In Geospatial Creator for Unity an Kachel ausrichten
Dem Bereich „Editor Inspector“ von ARGeospatialCreatorAnchor
wurde die Schaltfläche „An Kachel andocken“ hinzugefügt. Mit dieser Schaltfläche wird der Höhenwert eines nur für den Editor gültigen Ankers „Gelände“ oder „Dach“ oben auf der 3D-Kachelgeometrie beim aktuellen Breiten- und Längengrad des Ankers festgelegt. Diese Eigenschaft hat keinen Einfluss auf das Verhalten während der Laufzeit. So lässt sich die Position des Ankers im Editor leichter an seine Position zur Laufzeit anpassen.
Neu in der ARCore-Version 1.41.0
Geospatial Creator API
Geospatial Creator for Unity unterstützt jetzt das Erstellen und Bearbeiten von Geospatial Creator-Objekten im Editormodus. Die neuen Klassen und APIs werden im Geospatial Creator API Guide beschrieben.
Unterstützung von AR Foundation Versionen 5.x (Beta)
ARCore Extensions for Unity's AR Foundation unterstützen jetzt die AR Foundation-Versionen 5.x. Informationen zum Migrieren eines vorhandenen Projekts zu AR Foundation finden Sie im Migrationsleitfaden.
Neu in ARCore 1.40.0
Szenensemantik unter iOS
Die Scene Semantics API ist jetzt im ARCore SDK for iOS sowie in den ARCore-Erweiterungen für die AR Foundation von Unity verfügbar, die auf die iOS-Plattform ausgerichtet sind. Mit der Scene Semantics API können Entwickler die Umgebung des Nutzers in Echtzeit verstehen. Dabei werden Pixel den elf Klassen von Komponenten für den Außenbereich zugeordnet. Weitere Informationen finden Sie unter Einführung in die Szenensemantik.
iOS
Unity (AR Foundation)
Im Geospatial Creator for Unity nach POIs suchen
Geospatial Creator for Unity unterstützt jetzt eine Textsuche, um die Ansicht „Fotokacheln“ zu positionieren. Weitere Informationen finden Sie unter Im Geospatial Creator nach POIs suchen.
Neu in ARCore 1.39.0
Diese Version enthält keine neuen Funktionen.
Neu in der ARCore-Version 1.38.0
Diese Version enthält keine neuen Funktionen.
Neu in ARCore 1.37.0
Szenensemantik
Die Szenensemantik liefert mehr Details zur Umgebung, wodurch es einfacher wird, die Welt um die Nutzenden herum zu verstehen. Scene Semantics führt ein ML-Modell mit dem Bildfeed der Kamera aus und stellt ein semantisches Bild bereit, wobei jedes Pixel einem von elf Labels für Outdoor-Konzepte entspricht.
Weitere Informationen finden Sie in der Einführung in die Szenensemantik und in der Beispiel-App semantics_java.
Android (Kotlin/Java)
Android-NDK (C)
Unity (AR Foundation)
iOS
Streetscape-Geometrie
Streetscape Geometry ist eine neue ARCore Geospatial API, mit der sich die Geometrie von Gebäuden und Geländen in einem Nutzerbereich bestimmen lässt, wenn die Geospatial API aktiviert ist.
Android (Kotlin/Java)
Weitere Informationen finden Sie im Entwicklerleitfaden für Streetscape Geometry (Kotlin/Java). Außerdem wurde die Beispiel-App „geospatial_java“ um Streetscape-Geometrie ergänzt.
Android-NDK (C)
Weitere Informationen finden Sie im Streetscape Geometry-Entwicklerleitfaden (C).
Unity (AR Foundation)
Weitere Informationen finden Sie im Streetscape Geometry-Entwicklerleitfaden (Unity).
iOS
Weitere Informationen finden Sie im Entwicklerhandbuch für Streetscape Geometry (iOS). Die GeospatialExample App wurde außerdem aktualisiert und enthält nun Streetscape-Geometrie.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
stellt 3D-Mesh-Netzwerke bereit.GARStreetscapeGeometry.meshTransform
stellt die Ursprungstransformation der Geometrie relativ zum Weltraum der Sitzung bereit.GARStreetscapeGeometry.trackingState
behält den Tracking-Status bei.GARStreetscapeGeometry.type
gibt an, ob es sich um Gelände- oder Gebäudegeometrie handelt.GARStreetscapeGeometry.quality
liefert die Qualität der Geometrie.GARStreetscapeGeometry.identifier
stellt die eindeutige Kennung für die Geometrie bereit.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
erstellt einen Anker an der angegebenen Position und Ausrichtung.GARSession.raycastStreetscapeGeometry:direction:error:
führt einen Raycast über die in der Szene geladene Streetscape-Geometrie aus.
Dachanker
„Dächer“-Anker sind ein neuer räumlich-geografischer Ankertyp, mit dem sich Inhalte auf Dachterrassen verankern können.
Android (Kotlin/Java)
Weitere Informationen finden Sie unter Raumbezogene Anker (Java). Außerdem wurde die geospatial_java Beispiel-App aktualisiert und enthält jetzt Dachanker.
Android-NDK (C)
Weitere Informationen finden Sie unter Raumbezogene Anker (C).
Unity (AR Foundation)
Weitere Informationen finden Sie unter Raumbezogene Anker. Außerdem wurde das raumbezogene Beispiel aktualisiert und enthält nun Dachanker.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
liefert 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 Raumbezogene Anker (iOS). Die GeospatialExample App wurde außerdem aktualisiert und enthält nun Ankerpunkte für Dächer.
- Mit
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
wird an der angegebenen Position ein Dachanker in einer Höhe über dem Dach in Metern und einer Ausrichtung relativ zur Erde erstellt. GARCreateAnchorOnRooftopFuture
enthält den asynchronen Status der Auflösung eines Dach-Ankers.GARRooftopAnchorState
beschreibt den Status der Auflösung eines Dach-Ankers.
Raumbezogene Tiefe
Wenn in einer ARCore-Sitzung in Gebieten mit VPS-Abdeckung sowohl der Depth API-Modus als auch der Streetscape Geometry-Modus aktiviert sind, werden die generierten Tiefenbilder mithilfe von Streetscape-Geometrie verbessert. Die Streetscape-Geometrie wird in jedes generierte Tiefenbild bis zu einer Reichweite von 65,535 Metern integriert. Beim Aufrufen der Depth API sind keine Änderungen erforderlich, um diesen Vorteil zu sehen.
Android (Kotlin/Java)
Weitere Informationen finden Sie unter Raumbezogene Tiefe (Java).
Android-NDK (C)
Weitere Informationen finden Sie unter Raumbezogene Tiefe (C).
Unity (AR Foundation)
Weitere Informationen finden Sie unter Raumbezogene Tiefe (C).
iOS
Die Szenensemantik ist derzeit nicht für iOS verfügbar.
Unterstützung für Vulkan-Rendering
ARCore unterstützt jetzt Vulkan-Rendering. Dafür wird das Kamerabild über einen AHardwareBuffer
freigegeben. Sie können diesen Hardwarezwischenspeicher verwenden, indem Sie ihn an einen 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
Sie können ARCore für die elektronische Bildstabilisierung konfigurieren. Diese sorgt für eine flüssigere Darstellung der Kamerarahmen.
Weitere Informationen finden Sie unter Elektronische Bildstabilisierung aktivieren und in der Beispiel-App „hello_eis_kotlin“.
Android (Kotlin/Java)
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- Es gibt ein bekanntes Problem, bei dem das Aufrufen von
Frame.transformCoordinates3d()
mit anderen 2D-Koordinaten alsOPENGL_NORMALIZED_DEVICE_COORDINATES
zu einem Absturz führt, anstattIllegalArgumentException
auszugeben. Dieses Problem wird in der folgenden Version behoben.
Android-NDK (C)
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- Es gibt ein bekanntes Problem, bei dem das Aufrufen 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 für Unity mit AR Foundation derzeit nicht verfügbar.
iOS
Für iOS ist EIS derzeit nicht verfügbar.
Asynchrone ARCore APIs
In diesem Release werden neue asynchrone ARCore APIs eingeführt, die die Ergonomie beim Arbeiten mit asynchronen Vorgängen verbessern und dem Future- und Promise-Modell folgen.
Android (Kotlin/Java)
- Geländeanker auflösen: Verwenden Sie
Earth.resolveAnchorOnTerrainAsync()
, um eineResolveAnchorOnTerrainFuture
zu erhalten. Das alte SymbolEarth.resolveAnchorOnTerrain()
wurde eingestellt und wird in einer neueren Version von ARCore möglicherweise entfernt. - Cloud-Anker auflösen: Verwenden Sie
Session.resolveCloudAnchorAsync()
, um eineResolveCloudAnchorFuture
abzurufen. Das alte SymbolSession.resolveCloudAnchor()
wurde eingestellt und wird in einer neueren Version von ARCore möglicherweise entfernt. - Cloud-Anker hosten: Verwenden Sie
Session.hostCloudAnchorAsync()
, um eineHostCloudAnchorFuture
abzurufen. Die alten SymboleSession.hostCloudAnchor()
undSession.hostCloudAnchorWithTtl()
wurden eingestellt und werden in einer neueren Version von ARCore möglicherweise entfernt. - APK-Verfügbarkeit prüfen: Verwende
ArCoreApk.checkAvailabilityAsync()
, um einen Callback zu registrieren. Das alte SymbolArCoreApk.checkAvailability()
wird nicht eingestellt.
Android-NDK (C)
- Geländeanker auflösen: Verwenden Sie
ArEarth_resolveAnchorOnTerrainAsync()
, um eineArResolveAnchorOnTerrainFuture
abzurufen, oderArResolveAnchorOnTerrainCallback
. Das alte SymbolArEarth_resolveAndAcquireNewAnchorOnTerrain()
wurde eingestellt und wird in einer neueren Version von ARCore möglicherweise entfernt. - Cloud-Anker auflösen: Verwenden Sie
ArSession_resolveCloudAnchorAsync()
, um eineArResolveCloudAnchorFuture
abzurufen, oderArResolveCloudAnchorCallback
. Das alte SymbolArSession_resolveAndAcquireNewCloudAnchor()
wurde eingestellt und wird in einer neueren Version von ARCore möglicherweise entfernt. - Cloud-Anker hosten: Verwenden Sie
ArSession_hostCloudAnchorAsync()
, um eineArHostCloudAnchorFuture
abzurufen, oder verwenden SieArHostCloudAnchorCallback
. Die alten SymboleArSession_hostAndAcquireNewCloudAnchor()
undArSession_hostAndAcquireNewCloudAnchorWithTtl()
wurden eingestellt und werden in einer neueren Version von ARCore möglicherweise entfernt. - APK-Verfügbarkeit prüfen: Verwende
ArCoreApk_checkAvailabilityAsync()
, um einen Callback zu registrieren. Das alte SymbolArCoreApk_checkAvailability()
wird nicht eingestellt.
Unity (AR Foundation)
- Geländeanker auflösen: Verwenden Sie
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
, um eineResolveAnchorOnTerrainPromise
zu erhalten. Das alte SymbolARAnchorManagerExtensions.ResolveAnchorOnTerrain()
wurde eingestellt und wird in einer neueren Version von ARCore möglicherweise entfernt. - Cloud-Anker auflösen: Verwenden Sie
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
, um eineResolveCloudAnchorPromise
abzurufen. Das alte SymbolARAnchorManagerExtensions.ResolveCloudAnchorId()
wurde eingestellt und wird in einer neueren Version von ARCore möglicherweise entfernt. - Cloud-Anker hosten: Verwenden Sie
ARAnchorManagerExtensions.HostCloudAnchorAsync()
, um eineHostCloudAnchorPromise
abzurufen. Die alten SymboleARAnchorManagerExtensions.HostCloudAnchor()
wurden eingestellt und werden in einer späteren Version von ARCore möglicherweise entfernt.
iOS
- Geländeanker auflösen: Verwenden Sie
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
, um eineGARCreateAnchorOnTerrainFuture
zu erhalten. Das alte SymbolGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
wurde eingestellt und wird in einer neueren Version von ARCore möglicherweise entfernt. - Cloud-Anker auflösen: Verwenden Sie
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
, um eineGARResolveCloudAnchorFuture
abzurufen. Das alte SymbolGARSession.resolveCloudAnchorWithIdentifier:error:
wurde eingestellt und wird in einer neueren Version von ARCore möglicherweise entfernt. - Cloud-Anker hosten: Verwenden Sie
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
, um eineGARHostCloudAnchorFuture
abzurufen. Die alten SymboleGARSession.hostCloudAnchor:error:
undGARSession.hostCloudAnchor:TTLDays:error:
wurden eingestellt und werden in einer neueren Version von ARCore möglicherweise entfernt.
Neu in ARCore 1.36.0
Unterstützung von Swift Package Manager unter iOS
Das ARCore SDK für iOS unterstützt jetzt den Swift Package Manager offiziell. Eine Anleitung zur Integration von ARCore mit dem Swift Package Manager finden Sie unter AR in der iOS-App aktivieren.
Neu in ARCore 1.35.0
Bei der raumbezogenen Posengenauigkeit wird die Ausrichtung durch Gierwinkel ersetzt
Bei allen raumbezogenen Positionen wird jetzt die Genauigkeit der Ausrichtung der Gierdrehung festgelegt, was die Genauigkeit der Ausrichtung ersetzt.
- Java/Kotlin: Ersetzen Sie
GeospatialPose.getHeading()
durchGeospatialPose.getEastUpSouthQuaternion()
undGeospatialPose.getHeadingAccuracy()
durchGeospatialPose.getOrientationYawAccuracy()
. - C: Sie ersetzen
ArGeospatialPose_getHeading()
durchArGeospatialPose_getEastUpSouthQuaternion()
undArGeospatialPose_getHeadingAccuracy()
durchArGeospatialPose_getOrientationYawAccuracy()
. - iOS: Ersetzen Sie
GARGeospatialTransform.heading
durchGARGeospatialTransform.eastUpSouthQTarget
undGARGeospatialTransform.headingAccuracy
durchGARGeospatialTransform.orientationYawAccuracy
. - Einheit: 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
- Versionshinweise zu ARCore für Android – NDK
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore 1.34.0
Prüfen, ob Geodaten-Funktionen am aktuellen Standort des Geräts verfügbar sind
Die Geospatial API kann jetzt zur Laufzeit an einer bestimmten horizontalen Position die Verfügbarkeit des Visual Positioning System (VPS) prüfen. Diese API kann ohne aktive AR-Sitzung verwendet werden, z. B. um die Schaltfläche „AR starten“ nur dann einzublenden, wenn VPS verfügbar ist.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Raumbezogene Posenausrichtung
Raumbezogene Posen zeigen ihre Ausrichtung im 3D-Raum.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Einheit:
GeospatialPose.EunRotation()
Raumbezogene Positions-Conversions
Raumbezogene Posen lassen sich jetzt in AR-Posen umwandeln und umgekehrt.
So nehmen Sie die Geodaten-Pose aus einer AR-Pose zurück:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Einheit:
AREarthManager.Convert(Pose)
So nehmen Sie die AR-Pose aus einer Geodaten-Pose zurück:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Einheit:
AREarthManager.Convert(GeospatialPose)
Raumbezogene Positionen, die mit diesen Funktionen abgerufen werden, haben einen Ausrichtungswert von null. Verwenden Sie stattdessen Folgendes:
- Android (Java/Kotlin/C): EUS-Quaternion der Pose
- iOS:
eastUpSouthQTarget
der Pose - Einheit:
EunRotation
der Pose
Weitere Änderungen und Aktualisierungen
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- Versionshinweise zu ARCore für Android – NDK
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in der ARCore-Version 1.33.0
Neuer Cloud-Anchor-Endpunkt
- Wenn Sie Cloud Anchors verwenden möchten, müssen Sie jetzt die ARCore API anstelle der älteren ARCore Cloud Anchor API aktivieren, die mittlerweile eingestellt wird. Wenn Sie ältere App-Versionen unterstützen möchten, können Sie während der Umstellung beide Versionen aktivieren. Apps, die mit dem ARCore SDK 1.32.0 und niedriger entwickelt wurden, können auf die ältere API ausgerichtet werden, während Apps mit dem ARCore SDK 1.33.0 und höher 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 eine API eingeschränkt ist, müssen Sie die ARCore API zulassen.
- Wenn Sie Anfragen von Ihrem Back-End an die ARCore Cloud Anchor Management API senden, müssen Sie auch den Domainnamen in
arcore.googleapis.com
ändern, nachdem Sie die ARCore API aktiviert haben. - Die alte API bzw. der alte Endpunkt wird noch bis August 2023 unterstützt.
- Weitere Informationen finden Sie unter Änderungen am Cloud Anchor-Endpunkt für ARCore 1.33.
- Die neue API verwendet den Domainnamen
Geländedübel
- Die Geospatial Terrain Anchor API erstellt einen Anker an einer angegebenen horizontalen Position und Höhe relativ zum Gelände dieser horizontalen Position.
Weitere Änderungen und Aktualisierungen
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- Versionshinweise zu ARCore für Android – NDK
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore v1.32.0
Diese Version enthält keine neuen Funktionen.
Android und Unity (AR Foundation) für Android
targetSdkVersion
von ARCore wurde auf Android API-Level 32 aktualisiert. Wenn in deiner App keintargetSdkVersion
angegeben wird, wird dertargetSdkVersion
deiner App aufgrund der Zusammenführung von Manifesten zu 32.- Android SDK: Wenn du
targetSdkVersion
in denbuild.gradle
oderAndroidManifest.xml
deines Projekts angibst, wird dertargetSdkVersion
-Wert von ARCore überschrieben. - AR Foundation for Android: Wenn Sie in Ihrem Unity-Projekt unter Projekteinstellungen > Player > Android > Weitere Einstellungen ein Ziel-API-Level angeben, wird der
targetSdkVersion
-Wert von ARCore überschrieben.
- Android SDK: Wenn du
Weitere Änderungen und Aktualisierungen
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- Versionshinweise zu ARCore für Android – NDK
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore 1.31.0
ARCore Geospatial API
Die neue ARCore Geospatial API nutzt Daten aus 3D-Modellen von Google Earth und Street View-Bilddaten aus Google Maps, um in Ihrer App immersive, globale und standortbezogene Augmented Reality-Erlebnisse zu ermöglichen.
Unter Einführung in die ARCore Geospatial API finden Sie die plattformspezifische Entwicklerdokumentation und eine Einführung in die neue Geospatial API.
Weitreichende Tiefe
Die ARCore Depth API ist jetzt für Tiefenmessungen mit größerer Reichweite optimiert, sodass der Bereich der darstellbaren Tiefenbeobachtungen erweitert wird. Es werden alle 16 Bit des Tiefenbilds verwendet, wobei ein maximaler Bereich von 65.535 Millimetern möglich ist. Bisher wurden nur 13-Bits mit einem Grenzwert von 8.191 Millimeter ausgefüllt.
Unter Änderungen an der Tiefe finden Sie die plattformspezifische Entwicklerdokumentation und die Änderungen an der Tiefen-API.
Plattformspezifische Hinweise
Android
Neue ARCore Geospatial APIs
Java
Earth
bietet eine Möglichkeit zur Lokalisierung in erdrelativen Koordinaten.Earth.createAnchor()
erstellt an der angegebenen Position und Ausrichtung im Verhältnis zur Erde ein neuesAnchor
.
Earth.Earthstate
beschreibt den aktuellen Status vonEarth
, einschließlich des zugehörigenTrackingState
.GeospatialPose
beschreibt einen bestimmten Standort, eine bestimmte Höhe und eine bestimmte Kompassausrichtung im Verhältnis zur Erde.
C
ArEarth
ermöglicht die Lokalisierung in erdrelativen Koordinaten.ArEarth_acquireNewAnchor()
erstellt an der angegebenen Position und Ausrichtung im Verhältnis zur Erde ein neuesAnchor
.ArEarthState
beschreibt den aktuellen Status vonArEarth
, einschließlich des zugehörigenArTrackingState
.
ArGeospatialPose
beschreibt einen bestimmten Standort, eine bestimmte Höhe und eine bestimmte Kompassausrichtung im Verhältnis zur Erde.
Aktualisierte ARCore Depth APIs
Java
- Die Depth API-Funktionsaufrufe haben sich geändert:
Frame.acquireDepthImage
zuFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
zuFrame.acquireRawDepthImage16Bits
.- Die Ausgabebildformate für beide Aufrufe wurden von
android.graphics.ImageFormat#DEPTH16
zuandroid.hardware.HardwareBuffer#D_16
geändert. - Die Tiefe wird immer noch als 16-Bit-Ganzzahl in Millimeter-Einheiten dargestellt, aber jetzt werden alle 16-Bits für die Tiefe verwendet, sodass ein maximal auswählbarer Bereich von 8191 mm bis 65.535 mm reicht.
- Die Depth API-Funktionsaufrufe
Frame.acquireDepthImage
undFrame.acquireRawDepthImage
wurden eingestellt. Verwenden Sie stattdessenFrame.acquireDepthImage16Bits
undFrame.acquireRawDepthImage16Bits
.
- Die Depth API-Funktionsaufrufe haben sich geändert:
C
- Die Depth API-Funktionsaufrufe haben sich geändert:
ArFrame_acquireDepthImage
zuArFrame_acquireDepthImage16Bits
.ArFrame_acquireRawDepthImage
–ArFrame_acquireRawDepthImage16Bits
- Die Ausgabebildformate für beide Aufrufe wurden von
AR_IMAGE_FORMAT_DEPTH16
zuAR_IMAGE_FORMAT_D_16
geändert. - Die Tiefe wird immer noch als 16-Bit-Ganzzahl in Millimeter-Einheiten dargestellt, aber jetzt werden alle 16-Bits für die Tiefe verwendet, sodass ein maximal auswählbarer Bereich von 8191 mm bis 65.535 mm reicht.
- Die Depth API-Funktionsaufrufe
ArFrame_acquireDepthImage
undArFrame_acquireRawDepthImage
wurden eingestellt. Verwende stattdessenArFrame_acquireDepthImage16Bits
undArFrame_acquireRawDepthImage16Bits
.
- Die Depth API-Funktionsaufrufe haben sich geändert:
Unity (AR Foundation)
Neue ARCore Geospatial APIs:
AREarthManager
ermöglicht die Lokalisierung in erdrelativen Koordinaten.EarthTrackingState
ruft den Tracking-Status der Erde für den letzten Frame ab.EarthState
behält die Earth-Fehlerbedingungen bei.
GeospatialPose
beschreibt einen bestimmten Standort, eine bestimmte Höhe und eine bestimmte Kompassausrichtung im Verhältnis zur Erde.ARGeospatialAnchor
stellt einen Anker für Spielobjekte in Ihrer Szene bereit, die an einem Standort und einer Ausrichtung relativ zur Erde angegeben werden.
iOS
Neue ARCore Geospatial APIs:
GAREarth
Bietet erdrelative Lokalisierung.GAREarthState.earthState
verwaltet Fehlerstatus und -bedingungen.- In
GAREarthState.trackingState
wird der für Geodaten erforderliche Tracking-Status beibehalten.
GARGeospatialTransform
Darstellung einer globalen Transformation, einschließlich Standort, Richtung, Höhe und GenauigkeitsschätzungenGARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Erstellt einen raumbezogenen Anker an der angegebenen Position und Ausrichtung in Bezug auf die Erde.
Sonstige Änderungen
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- Versionshinweise zu ARCore für Android – NDK
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore 1.30.0
Diese Version enthält keine neuen Funktionen.
Android
- Annotierte API-Rückgabewerte mit
@NonNull
und@Nullable
- Die Build-Tool-Versionen, die zum Erstellen von Beispielen verwendet werden, wurden aktualisiert: Gradle auf 7.0.2 und das Android Gradle-Plug-in auf 7.0.4. Für bestehende ARCore-Anwendungen ist kein Upgrade dieser Tools erforderlich. Informationen zu neuen Funktionen, bekannten Problemen und Informationen zur Inkompatibilität finden Sie in der Android-Dokumentation zum Android-Gradle-Plug-in.
Unity (AR Foundation)
Ein neuer
arcore-unity-extensions-without-edm4u.tgz
-Release wurde hinzugefügt. Diese Releasevariante bündelt keine externen Abhängigkeiten wie External Dependency Manager for Unity und ermöglicht Upgrades auf EDM. Die Verwendung dieses Lite-Release kann Inkompatibilitäten bei der Verwendung von Firebase-Bibliotheken beheben. Informationen zum Einstieg finden Sie in der Installationsanleitung für ARCore Extensions for AR Foundation.Für eine bessere Unterstützung von Version 2021.2 und höher wurde ExternalDependencyManager auf Version 1.2.168 aktualisiert. Weitere Informationen finden Sie im Änderungsprotokoll von EDM.
Ein Problem wurde behoben, bei dem die ARCore-Sitzung jeden Frame konfiguriert hat, auch wenn die Sitzungskonfiguration nicht geändert wurde, was zu einem Rückgang der fps führte.
iOS
- Verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
Neu in der ARCore-Version 1.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 mithilfe von
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
platziert wurde, um Objekte, die über die Sofortplatzierung platziert wurden, besser zu unterscheiden. - persistent_cloud_anchor_java: Dem Beispiel wurde eine fehlende Build-Abhängigkeit hinzugefügt. Es wurde ein Fehler behoben, bei dem das Hosten eines Ankers den Status
CloudAnchorState ERROR_NOT_AUTHORIZED
hatte, selbst 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. Dadurch wird ein Kompilierungsfehler bei der Installation von ARCore-Erweiterungen auf Unity 2019.x und beim Aktivieren des ARKit XR-Plug-ins behoben.
- Die Projekteinstellungen für ARCore-Erweiterungen wurden von Projekteinstellungen > XR > ARCore-Erweiterungen nach Projekteinstellungen > XR-Plug-in-Verwaltung > ARCore-Erweiterungen verschoben.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
wurden von Erstellen > XR > ARCore-Erweiterungen in das Menü Erstellen > XR verschoben.
iOS
- Verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
Vollständige Versionshinweise
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise zu ARCore für Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for 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 aufgerufenen Funktion ab. Weitere Informationen finden Sie in der Ankündigung 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 eine Größe von0
x0
Pixeln. Aufrufe vonFrame#getImageMetadata()
geben immerIllegalArgumentException
aus. - Unity (AR Foundation): Bei Verwendung von AR Foundation 2.1 (Unity 2019 LTS) wird bei
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
-Aufrufen 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 an
Frame.CameraImage.AcquireCameraImageBytes()
haben eine Größe von0
×0
Pixeln. Bei Aufrufen vonFrame.CameraMetadata.GetAllCameraMetadataTags()
wird ein leeresList<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 1.27.0
Diese Version enthält keine neuen Funktionen. In den folgenden Versionshinweisen finden Sie verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise zu ARCore für Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Diese Version umfasste neben verschiedenen Fehlerbehebungen die folgenden Fehler.
Beispiel-Apps in Kotlin
hello_ar_kotlin wurde hinzugefügt, um Best Practices für die Verwendung von Kotlin zu veranschaulichen.
Weitere Informationen finden Sie unter QuickStart 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 1.26.0
Diese Version enthält die folgenden wichtigen Änderungen:
- Unter Aufzeichnung und Wiedergabe werden jetzt URIs für Datasets unterstützt.
Weitere Änderungen und Aktualisierungen
In den folgenden Versionshinweisen finden Sie zusätzliche Fehlerkorrekturen und andere funktionsgefährdende Änderungen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise zu ARCore für Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore 1.25.0
Diese Version enthält keine neuen Funktionen. In den folgenden Versionshinweisen finden Sie verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise zu ARCore für Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Vollständige Versionshinweise für das ARCore SDK for Unity
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in der ARCore-Version 1.24.0
Diese Version enthält die folgenden wichtigen Änderungen:
- Eine neue Raw Depth API, die ein Tiefenbild ohne Bildraumfilterung bereitstellt
- Funktion zur benutzerdefinierten Aufzeichnung von Datenspuren für die Recording & Wiedergabe API
- Die Fähigkeit, Tiefen-Treffertests durchzuführen
Rohtiefe
Die Raw Depth API stellt für ein Kamerabild Tiefendaten zur Verfügung, die eine höhere Genauigkeit als vollständige Depth API-Daten haben, deckt aber nicht immer jedes Pixel ab. Rohtiefenbilder und die zugehörigen Konfidenzbilder können ebenfalls weiter verarbeitet werden. So können Anwendungen nur die Tiefendaten verwenden, die für ihren individuellen Anwendungsfall ausreichend genau sind.
Entwicklerleitfäden:
Benutzerdefinierter Trackaufzeichnung
Mit der neuen Funktion für benutzerdefinierte Daten-Tracks in der Recording & Wiedergabe API kannst du einem ARCore-Frame während der Aufzeichnung benutzerdefinierte Daten hinzufügen und die gleichen Daten während der Wiedergabe aus dem Frame abrufen.
Entwicklerleitfäden:
Tiefenhitztests
Bisher konnten Treffertests nur auf erkannten Ebenen durchgeführt werden, wobei die Standorte auf große, flache Oberflächen beschränkt wurden. Tiefentreffertests nutzen sowohl geglättete als auch unbearbeitete Tiefeninformationen, um genauere Trefferergebnisse zu liefern, selbst auf nicht planaren Oberflächen und Oberflächen mit niedriger Textur.
Entwicklerleitfäden:
Weitere Änderungen und Aktualisierungen
In den folgenden Versionshinweisen finden Sie zusätzliche Fehlerkorrekturen und andere funktionsgefährdende Änderungen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise zu ARCore für Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Vollständige Versionshinweise für das ARCore SDK for Unity
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore v1.23.0
Unterstützung für Dual-Kameras noch ausstehend
Die Unterstützung für Dual-Kameras wird in den kommenden Wochen eingeführt. Weitere Informationen finden Sie auf der Seite Unterstützte Geräte.
Neue Debugging-Tools
Durch das Senden eines Broadcast-Intent können Entwickler Folgendes aktivieren:
ARCore API-Aufruf-Logging im Android-Fehlerbehebungsprotokoll
ARCore-Leistungs-Overlay
Cloud-Anchors hosten und auflösen
Mit ARCore SDK 1.11.0 oder niedriger erstellte Apps können keine Cloud-Anker mehr gehostet oder aufgelöst werden.
C: Cloud-Anchors, die von
ArSession_hostAndAcquireNewCloudAnchor
undArSession_resolveAndAcquireNewCloudAnchor
zurückgegeben werden, haben immer den StatusAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: Cloud-Anker, die von
Session.hostCloudAnchor(Anchor)
undSession.resolveCloudAnchor(String)
zurückgegeben werden, haben immer den StatusAnchor.CloudAnchorState.ERROR_INTERNAL
.Einheit: Cloud-Anker, die von
XPSession.CreateCloudAnchor(Anchor)
undXPSession.ResolveCloudAnchor(string)
zurückgegeben werden, haben immer den StatusCloudServiceResponse.ErrorInternal
.
Apps, die mit dem ARCore SDK 1.12.0 oder höher erstellt wurden, sind nicht betroffen. Die Verwendung der ARCore Cloud Anchor API wird durch die Einstellungsrichtlinie abgedeckt.
Weitere Änderungen und Aktualisierungen
In den folgenden Versionshinweisen finden Sie zusätzliche Fehlerkorrekturen und andere funktionsgefährdende Änderungen.
Neu in ARCore v1.22.0
Mit diesem Release werden neue Recording und Wiedergabe APIs und Camera Config Filter APIs für ARCore-Erweiterungen für AR Foundation hinzugefügt. Weitere Informationen finden Sie in den vollständigen Versionshinweisen für ARCore-Erweiterungen.
Weitere Änderungen und Aktualisierungen
In den folgenden Versionshinweisen finden Sie zusätzliche Fehlerkorrekturen und andere funktionsgefährdende Änderungen.
Neu in ARCore v1.21.0
Mit diesem Release werden neue Recording- und Wiedergabe-APIs für Android, Android NDK und Unity hinzugefügt.
Aufzeichnung und Wiedergabe
Mit der Recording und Wiedergabe API 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 Daten auf dem Gerät enthalten. Du kannst deine App dann so einrichten, dass diese Daten anstelle einer Live-Kamerasitzung verwendet werden. So können Sie diese Inhalte unbegrenzt wiedergeben, um verschiedene AR-Effekte auszuprobieren, ohne zum Feld zurückkehren zu müssen.
Weitere Informationen:
Java:
C:
Unity:
Neu in ARCore 1.20.0
Diese Version enthält die folgenden wichtigen Änderungen:
Neue Unterstützung für nichtflüchtige Cloud-Anchors.
Funktionen für Bildmetadaten für Android und Android NDK wurden aktualisiert.
Neue Anleitung, die die Gradle-Version 5.6.4 oder höher erfordert, um ARCore Extensions for 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-Anker
Vor ARCore v1.20 konnten Cloud-Anker nur bis zu 24 Stunden nach dem ersten Hosten aufgelöst werden. Mit persistenten Cloud-Ankern können Sie jetzt einen Cloud-Anker mit einer Gültigkeitsdauer (TTL) zwischen einem und 365 Tagen erstellen. Sie können die Lebensdauer des Ankers auch verlängern, nachdem er bereits mit der Cloud Anchor Management API gehostet wird.
Die Verwendung persistenter Cloud-Anker unterliegt der neuen Richtlinie zur Einstellung von Cloud-Ankern.
C: Entwicklerleitfaden
ArSession_hostAndAcquireNewCloudAnchorWithTtl
undArSession_estimateFeatureMapQualityForHosting
Java: Entwicklerleitfaden,
hostCloudAnchorWithTtl
undestimateFeatureMapQualityForHosting
iOS: Entwicklerleitfaden,
hostCloudAnchor:TTLDays:error:
undestimateFeatureMapQualityForHosting:
ARCore Extensions for AR Foundation: Android-Entwicklerleitfaden, iOS-Entwicklerleitfaden,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
undARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Einheit für Android: Entwicklerleitfaden,
XPSession.CreateCloudAnchor(Anchor, int)
undXPSession.EstimateFeatureMapQualityForHosting(Pose)
Unity-Targeting auf iOS: Entwicklerleitfaden,
XPSession.SetAuthToken(string)
undXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
Weitere Änderungen und Aktualisierungen
In den folgenden Versionshinweisen finden Sie zusätzliche Fehlerkorrekturen und andere funktionsgefährdende Änderungen.
Neu in ARCore 1.19.0
Diese Version enthält die folgenden wichtigen Änderungen:
- Neue Instant Placement API für Android, Android NDK und Unity
- Neue Anleitung für das Entwickeln von Apps für Android 11 mit Unity.
Sofortiges Placement
Mit der Instant Placement API können Nutzer ein AR-Objekt auf dem Bildschirm platzieren, ohne warten zu müssen, bis ARCore die Oberflächengeometrie erkannt hat. Die Objektplatzierung wird in Echtzeit optimiert, wenn sich der Nutzer in der Umgebung weiterbewegt. Sobald ARCore die richtige Pose in der Region erkennt, in der sich das AR-Objekt befindet, wird das weiße Objekt automatisch auf Posengenauigkeit aktualisiert und undurchsichtig.
Der folgende Clip zeigt eine virtuelle Android-Figur auf einer realen Tabelle. Die Figur ist weiß und bei der ersten Platzierung viel kleiner. Nachdem ARCore seine Berechnungen der Szenenabmessungen verfeinert hat, springt die Figur an eine genauere Position. Dies kann zu einem Unterschied in der wahrgenommenen „Größe“ des Objekts führen.
Weitere Informationen:
Android:
Android-NDK:
Unity:
Neu in ARCore 1.18.0
Diese Version enthält die folgenden wichtigen Änderungen:
- 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.
Tiefen-API
Auf Geräten mit Tiefenunterstützung verwendet die Depth API die RGB-Kamera des von ARCore unterstützten Geräts oder, falls verfügbar, einen aktiven Tiefensensor, um Tiefenkarten zu erstellen. Anschließend können Sie die Pixeltiefe einer Tiefenkarte verwenden, um virtuelle Objekte vor oder hinter realen Objekten genau darzustellen, sodass Nutzer eindrucksvoll und realistisch wirken können.
Die folgenden Bilder zeigen beispielsweise eine virtuelle Android-Figur in einem realen Raum, in dem sich ein Kofferraum neben einer Tür befindet. Die Depth API verdeckt die Figur hinter dem Rand des Baumstamms korrekt.
Weitere Informationen:
Android:
Android-NDK:
Unity:
Neu in ARCore 1.17.0
Bemerkenswert im ARCore SDK for Android
Es wurden neue Methoden hinzugefügt, die die Zwischenspeicherung mehrerer Kameraframes ermöglichen. Neben anderen Techniken wie Multithread-Rendering kann dies verwendet werden, um Schwankungen bei den Framerates zu verringern.
Fehlende Nutzung des Tiefensensors und Ziel-fps-Getter hinzugefügt:
Weitere Informationen finden Sie in den vollständigen Versionshinweisen für das Android SDK for Android.
Bemerkenswert im ARCore SDK for Unity
- Ab Version 2018.2 von Unity wird Multithread-Rendering unterstützt, was in den meisten Fällen die Leistung verbessert und dazu beitragen kann, Schwankungen der Framerates zu verringern. Dies ist eine Unity-Projekteinstellung, die sich unter Projekteinstellungen > Player > Android > Weitere Einstellungen > Multithread-Rendering befindet. Weitere Informationen finden Sie im Entwicklerleitfaden.
SessionStatus.ErrorCameraNotAvailable
undSessionStatus.ErrorIllegalState
wurden hinzugefügt, um bestimmte ARCore-Sitzungsfehlerstatus anzugeben.
Weitere Informationen finden Sie in den vollständigen Versionshinweisen zum ARCore SDK for Unity.
Bemerkenswert im ARCore SDK for iOS
Die Binärgröße des Cloud Anchors SDK hat sich erheblich verringert.
Bitcode wird jetzt für Augmented Faces unterstützt.
Weitere Informationen finden Sie in den vollständigen Versionshinweisen zum ARCore SDK for iOS.
Neu in ARCore v1.16.0
Bemerkenswert im ARCore SDK for Android und Sceneform SDK for Android
Diese Version enthält die folgenden wichtigen Änderungen:
- Die meisten Geräte bieten jetzt zusätzliche unterstützte Kamerakonfigurationen mit niedrigeren GPU-Texturauflösungen als die Standard-GPU-Texturauflösung des Geräts.
Weitere Informationen findest du unter Von ARCore unterstützte Geräte.
Diese erweiterten GPU-Auflösungen sind über die
getSupportedCameraConfigs(CameraConfigFilter)
API verfügbar.
Weitere Informationen
Bemerkenswert in ARCore Extensions for AR Foundation
Diese Version enthält die folgenden wichtigen Änderungen:
Die
XRCameraConfiguration
von AR Foundation wird um Methoden erweitert, mit denen Sie die Kamerakonfiguration anhand Ihrer gewünschten Kriterien auswählen können. Dazu gehören GetTextureDimensions(), GetFPSRange() und GetDepthSensorUsages(). Hier finden Sie eine ausführliche Anleitung.Unity 2019.3.0f6 ist jetzt die empfohlene Mindestversion für ARCore-Erweiterungen. Für AR Foundation 3.1.0-preview.6 ist Unity 2019.3 oder höher erforderlich.
Unity verwendet jetzt in der plattformübergreifenden API die Begriffe Anchor, Cloud Anchor und Cloud Anchor ID. Die Dokumentation für ARCore-Erweiterungen wurde entsprechend aktualisiert.
Weitere Informationen
Bemerkenswert im ARCore SDK for Unity
Diese Version enthält die folgende wichtige Änderung:
- Die meisten Geräte bieten jetzt zusätzliche unterstützte Kamerakonfigurationen mit niedrigeren GPU-Texturauflösungen als die Standard-GPU-Texturauflösung des Geräts. Weitere Informationen findest du unter Von ARCore unterstützte Geräte. Diese erweiterten GPU-Auflösungen sind über die ARCoreCameraConfigFilter API verfügbar.
Weitere Informationen
Vollständige Versionshinweise für das ARCore SDK for Unity
Neu in ARCore 1.15.0
Bemerkenswert in ARCore Extensions for AR Foundation
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen.
Es wurde ein CloudAnchors-Beispiel hinzugefügt, das zeigt, wie gemeinsame AR-Erlebnisse für Android und iOS erstellt werden. Entsprechende Anleitungen finden Sie für Android bzw. iOS.
Unity 2019.2.17f1 ist jetzt die empfohlene Mindestversion für ARCore-Erweiterungen.
Vollständige Versionshinweise zu ARCore-Erweiterungen
Bemerkenswert im ARCore SDK for Unity
In dieser Version sind die folgenden Probleme bekannt.
Bei Verwendung von Android 9 und einem USB 3-Kabel kann die Vorschau Unity einfrieren. Aktualisiere auf Android 10 oder verwende ein USB 2-Kabel, um das Problem zu beheben.
Die Vorschau wird möglicherweise nicht auf dem Gerät angezeigt, wenn die Auflösung der Spielansicht zu hoch ist. Verringern Sie im Editor die Auflösung der Spielansicht von Unity, um das Problem zu beheben.
Vollständige Versionshinweise für das ARCore SDK for Unity
Weitere Änderungen
In den folgenden Versionshinweisen finden Sie zusätzliche Fehlerkorrekturen und andere funktionsgefährdende Änderungen.
Neu in ARCore v1.14.0
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen.
Wenn eine App die Kamera vorübergehend an eine andere App auf dem Gerät verliert, ist der Grund für den Fehler beim Tracking jetzt genauer:
Android:
TrackingFailureReason
istCAMERA_UNAVAILABLE
anstelle vonNONE
.Android-NDK:
ArTrackingFailureReasons
istAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
anstelle vonAR_TRACKING_FAILURE_REASON_NONE
.Einheit:
Session.LostTrackingReason
istLostTrackingReason.CameraUnavailable
anstelle vonNone
.
Google erhebt und verarbeitet Daten aus deiner Nutzung des ARCore Extensions-Pakets 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
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen.
Unterstützung für die Verwendung von ARCore Extensions for Unity AR Foundation zum Erstellen von iOS-Apps mit Cloud Anchors
Unterstützung für die Schätzung der HDR-Beleuchtung in Sceneform
In den folgenden Versionshinweisen finden Sie zusätzliche Fehlerkorrekturen und andere funktionsgefährdende Änderungen.
Neu in ARCore v1.12.0
Dieser Release enthält die folgenden Änderungen:
Zusätzliche Funktion „Augmented Faces“ für iOS. Weitere Informationen finden Sie in der Übersicht, in der quickstart und im Entwicklerleitfaden.
Unterstützung für die Verwendung von ARCore Extensions for Unity AR Foundation, um Android-Apps mit Cloud Anchors zu erstellen.
Folgende Änderungen an Cloud-Ankern:
- Um unsere aktualisierten Datenschutzanforderungen für die Verwendung von ARCore SDKs 1.12 oder höher zu erfüllen, müssen Sie die Verwendung von Cloud-Ankern in Ihrer App deutlich sichtbar machen. Fügen Sie dazu folgenden Text sowie einen Link zu weiteren Informationen in einen Hinweisbildschirm ein: „Für diese Sitzung verarbeitet Google visuelle Daten von Ihrer Kamera.“ Implementieren Sie dazu den empfohlenen Ablauf für Nutzermitteilungen, der in unseren Beispiel-Apps für Cloud-Anker verfügbar ist.
Weitere Informationen finden Sie in den Anforderungen an den Datenschutz für Nutzer.
Weitere Informationen zu Cloud-Ankern:
Android:
Android-NDK:
iOS:
Unity:
ARCore-Erweiterungen:
Neu in ARCore 1.11.0
Dieser Release enthält die folgenden Änderungen:
Der ARCore-Dienst wurde in Google Play-Dienste für AR umbenannt. Auf Google Play-Geräten wird sie jetzt als Teil der Google Play-Dienste angeboten.
Die Kamerakonfigurationen von ARCore zielen auf unterstützten Geräten auf 60 fps (Bilder pro Sekunde) ab. Bei Geräten mit einem solchen Gerät wird vorrangig der Tiefensensor verwendet. Mit neuen Kamerakonfigurationsfiltern kannst du die Framerate der Kameraaufnahme auf 30 fps begrenzen, verhindern, dass ARCore einen Tiefensensor verwendet, oder einen Filter basierend auf beiden Optionen verwenden.
Weitere Informationen zu Kamerakonfigurationen:
Android:
Android-NDK:
Unity:
Neu in ARCore v1.10.0
Mit diesem Release werden der Lighting Estimation API für Android, Android NDK und Unity neue Funktionen zur Schätzung der Beleuchtung in Environmental HDR hinzugefügt.
Diese APIs nutzen maschinelles Lernen, um das Eingabekamerabild zu analysieren und die Umgebungsbeleuchtung zu schätzen. Sie können diese Daten zur Beleuchtungsschätzung verwenden, um eine äußerst realistische Beleuchtung wie primäres gerichtetes Licht, Schatten, Umgebungslicht, spekulative Spitzlichter und Reflexionen auf virtuellen Objekten zu rendern. Das Ergebnis sind virtuelle Inhalte, die realistischer wirken.
Weitere Informationen:
Android:
Android-NDK:
Unity:
Neu in ARCore 1.9.0
Neu beim ARCore SDK for Android
Dieser Release enthält diese neuen APIs und Funktionen:
Scene Viewer ist ein immersiver Viewer, der AR-Erlebnisse auf Ihrer Website ermöglicht. Damit können Nutzer von Android-Mobilgeräten im Web gehostete 3D-Modelle in ihrer Umgebung einfach platzieren, betrachten und mit ihnen interagieren.
Neue Funktionen für erweiterte Bilder:
In ARCore ist jetzt das Verschieben von erweiterten Bildern möglich. Beispiele für bewegte Bilder sind Werbung in einem vorbeifahrenden Bus oder ein Bild auf einem flachen Gegenstand, den der Nutzer beim Bewegen der Hand hält.
Nachdem ein Bild erkannt wurde, kann ARCore seine Position und Ausrichtung weiter verfolgen, auch wenn das Bild vorübergehend aus der Kameraansicht verschoben wurde.
Ermitteln Sie mithilfe von
AugmentedImage#getTrackingMethod()
(Java) oderArAugmentedImage_getTrackingMethod()
(NDK), ob das erweiterte Bild gerade von der Kamera (FULL_TRACKING
) oder anhand seiner letzten bekannten Position (LAST_KNOWN_POSE
) erfasst wird.
Die Cloud-Anchor-Dokumentation enthält jetzt eine detailliertere Erklärung, wie Anker gehostet und aufgelöst werden.
Neu im ARCore SDK für Unity
Neue Funktionen für erweiterte Bilder:
In ARCore ist jetzt das Verschieben von erweiterten Bildern möglich. Beispiele für bewegte Bilder sind Werbung in einem vorbeifahrenden Bus oder ein Bild auf einem flachen Objekt, das der Nutzer beim Bewegen hält.
Nachdem ein Bild erkannt wurde, kann ARCore seine Position und Ausrichtung weiter verfolgen, auch wenn das Bild vorübergehend aus der Kameraansicht verschoben wurde.
Mit der neuen
AugmentedImage.GetTrackingMethod()
API kann deine App feststellen, ob das erweiterte Bild gerade von der Kamera (FullTracking
) oder anhand der letzten bekannten Position (LastKnownPose
) erfasst wird.
Die Cloud-Anchor-Dokumentation enthält jetzt eine detailliertere Erklärung, wie Anker gehostet und aufgelöst werden.
Neu 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-Anchor-Dokumentation enthält jetzt eine detailliertere Erklärung, wie Anker gehostet und aufgelöst werden.