Neue und wichtige Änderungen bei ARCore
Neu in ARCore v1.44.0
Diese Version bietet keine neuen Funktionen.
Neu in ARCore v1.43.0
Places API in der Geospatial Creator-Migration
Für die Suchfunktion des Geospatial Creator wird jetzt die neue Places API von Google verwendet. Aktivieren Sie zur Verwendung der Suchfunktion die Places API (New) in der Google Cloud Console.
Neu in ARCore v1.42.0
Im Geospatial Creator für Unity an Kachel andocken
Die Schaltfläche „An Kachel andocken“ wurde im ARGeospatialCreatorAnchor
-Bereich „Editor Inspector“ (Editor-Inspektor) hinzugefügt. Mit dieser Schaltfläche wird der für den Editor ausgewählte Höhenwert eines Gelände- oder Dachankers auf den oberen Rand einer 3D-Kachelgeometrie beim aktuellen Breiten- und Längengrad des Ankers gesetzt. Dieses Attribut wirkt sich nicht auf das Verhalten während der Laufzeit aus. Dadurch 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 bietet jetzt Unterstützung für 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)
Die ARCore-Erweiterungen für die AR Foundation von Unity unterstützen jetzt die 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 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 die Pixel in elf Klassen von Outdoor-Komponenten mit Labels versehen. 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 zum Positionieren der Ansicht „Fotografische 3D-Kacheln“. Weitere Informationen finden Sie unter In Geospatial Creator nach POIs suchen.
Neu in ARCore v1.39.0
Diese Version bietet keine neuen Funktionen.
Neu in ARCore v1.38.0
Diese Version bietet keine neuen Funktionen.
Neu in ARCore v1.37.0
Szenensemantik
Die Szenensemantik liefert detailliertere Details zur umgebenden Szene, wodurch es einfacher wird, die Welt um den Nutzer herum zu verstehen. „Scene Semantics“ führt ein ML-Modell für den Kamera-Bildfeed aus und stellt ein semantisches Bild bereit, bei dem jedes Pixel einem von 11 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
Weitere Informationen findest du unter Das ist neu in ARCore v1.40.0.
Streetscape-Geometrie
Streetscape Geometry ist eine neue ARCore Geospatial API, die die Geometrie von Gebäuden und Gelände in einem Bereich um den Nutzer bereitstellt, 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 mit Streetscape-Geometrie aktualisiert.
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 für Streetscape Geometry (iOS). Außerdem wurde die App GeospatialExample mit Streetscape-Geometrie aktualisiert.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
bietet 3D-Mesh-Netzwerke.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
gibt die Qualität der Geometrie an.GARStreetscapeGeometry.identifier
stellt die eindeutige Kennung für die Geometrie bereit.- Mit
GARSession.createAnchorOnStreetscapeGeometry:transform:error:
wird ein Anker am angegebenen Standort und in der angegebenen Ausrichtung erstellt. GARSession.raycastStreetscapeGeometry:direction:error:
führt ein Raycast für die in der Szene geladene Streetscape-Geometrie durch.
Dachdübel
Dachanker sind ein neuer raumbezogener Ankertyp, mit dem Sie Inhalte auf einem Dach verankern können.
Android (Kotlin/Java)
Siehe Raumbezogene Anker (Java). Darüber hinaus wurde die geospatial_java Beispiel-App aktualisiert, sodass sie Dachanker enthält.
Android NDK (C)
Weitere Informationen finden Sie unter Raumbezogene Anker (C).
Unity (AR Foundation)
Weitere Informationen finden Sie unter Raumbezogene Anker. Darüber hinaus wurde das Raumbezogene Beispiel aktualisiert und enthält jetzt auch Dachanker.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
stellt einen Anker für Spielobjekte in Ihrer Szene mit dem angegebenen Breiten- und Längengrad sowie der Höhe über dem Dach und der Ausrichtung bereit.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Weitere Informationen finden Sie unter Räumlich-geografische Anker (iOS). Außerdem wurde die App GeospatialExample aktualisiert, sodass Anker für Dachflächen verwendet werden können.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
erstellt einen Dachanker am angegebenen Standort, die Höhe über dem Dach in Metern und die Ausrichtung relativ zur Erde.GARCreateAnchorOnRooftopFuture
enthält den asynchronen Status zum Auflösen eines Dachankers.GARRooftopAnchorState
beschreibt den Zustand eines Dachankers.
Raumbezogene Tiefe
Wenn in einer ARCore-Sitzung in Bereichen mit VPS-Abdeckung sowohl die Depth API als auch die Streetscape Geometry aktiviert sind, werden die generierten Tiefenbilder mithilfe der Streetscape-Geometrie optimiert. Die Streetscape-Geometrie ist in jedes generierte Tiefenbild mit einer Reichweite von 65,535 Metern integriert. Wenn Sie die Depth API aufrufen, müssen Sie keine Änderungen vornehmen, 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
Für iOS ist die Szenensemantik derzeit nicht verfügbar.
Unterstützung für Vulkan-Rendering
ARCore bietet jetzt Vulkan-Rendering-Unterstützung, indem das Kamerabild über ein AHardwareBuffer
belichtet wird. Du kannst diesen Hardwarezwischenspeicher verwenden, indem du ihn an ein VkImage
verknüpfst.
Weitere Informationen finden Sie unter ARCore-Anwendung mit Vulkan rendern und hello_ar_vulkan_c.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Vulkan-Rendering ist derzeit nicht für Unity mit AR Foundation verfügbar.
Elektronische Bildstabilisierung
Du kannst ARCore so konfigurieren, dass die elektronische Bildstabilisierung verwendet wird, die Kameraframes flüssiger macht.
Weitere Informationen findest du unter Elektronische Bildstabilisierung aktivieren und 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, stattAR_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.
Asynchrone ARCore APIs
Mit diesem Release werden neue asynchrone ARCore APIs eingeführt, um die Ergonomie bei der Arbeit mit asynchronen Vorgängen zu verbessern. Dabei wird das Konzept der Zukunft und des Promise berücksichtigt.
Android (Kotlin/Java)
- Geländeanker auflösen: Mit
Earth.resolveAnchorOnTerrainAsync()
erhalten Sie einResolveAnchorOnTerrainFuture
-Objekt. Das alte SymbolEarth.resolveAnchorOnTerrain()
wurde eingestellt und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anchors auflösen: Verwenden Sie
Session.resolveCloudAnchorAsync()
, um einResolveCloudAnchorFuture
-Objekt abzurufen. Das alte SymbolSession.resolveCloudAnchor()
wurde eingestellt und wird möglicherweise in einer späteren Version von ARCore entfernt. - Hosting von Cloud-Anchors: Verwenden Sie
Session.hostCloudAnchorAsync()
, um einHostCloudAnchorFuture
-Objekt abzurufen. Die alten SymboleSession.hostCloudAnchor()
undSession.hostCloudAnchorWithTtl()
wurden eingestellt und werden möglicherweise in einer späteren Version von ARCore entfernt. - APK-Verfügbarkeit prüfen: Registrieren Sie mit
ArCoreApk.checkAvailabilityAsync()
einen Callback. Das alte SymbolArCoreApk.checkAvailability()
wurde nicht eingestellt.
Android NDK (C)
- Geländeanker auflösen: Verwenden Sie
ArEarth_resolveAnchorOnTerrainAsync()
, um einArResolveAnchorOnTerrainFuture
-Objekt zu erhalten, oderArResolveAnchorOnTerrainCallback
. Das alte SymbolArEarth_resolveAndAcquireNewAnchorOnTerrain()
wurde eingestellt und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anchors auflösen: Verwenden Sie
ArSession_resolveCloudAnchorAsync()
, um einArResolveCloudAnchorFuture
-Objekt zu erhalten, oderArResolveCloudAnchorCallback
. Das alte SymbolArSession_resolveAndAcquireNewCloudAnchor()
wurde eingestellt und wird möglicherweise in einer späteren Version von ARCore entfernt. - Hosting von Cloud-Anchors: Verwenden Sie
ArSession_hostCloudAnchorAsync()
, um einArHostCloudAnchorFuture
-Objekt abzurufen, oder verwenden SieArHostCloudAnchorCallback
. Die alten SymboleArSession_hostAndAcquireNewCloudAnchor()
undArSession_hostAndAcquireNewCloudAnchorWithTtl()
wurden eingestellt und werden möglicherweise in einer späteren Version von ARCore entfernt. - APK-Verfügbarkeit prüfen: Registrieren Sie mit
ArCoreApk_checkAvailabilityAsync()
einen Callback. Das alte SymbolArCoreApk_checkAvailability()
wurde nicht eingestellt.
Unity (AR Foundation)
- Geländeanker auflösen: Mit
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
erhalten Sie einResolveAnchorOnTerrainPromise
-Objekt. Das alte SymbolARAnchorManagerExtensions.ResolveAnchorOnTerrain()
wurde eingestellt und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anchors auflösen: Verwenden Sie
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
, um einResolveCloudAnchorPromise
-Objekt abzurufen. Das alte SymbolARAnchorManagerExtensions.ResolveCloudAnchorId()
wurde eingestellt und wird möglicherweise in einer späteren Version von ARCore entfernt. - Hosting von Cloud-Anchors: Verwenden Sie
ARAnchorManagerExtensions.HostCloudAnchorAsync()
, um einHostCloudAnchorPromise
-Objekt abzurufen. Die altenARAnchorManagerExtensions.HostCloudAnchor()
-Symbole wurden eingestellt und werden möglicherweise in einer späteren Version von ARCore entfernt.
iOS
- Geländeanker auflösen: Mit
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
erhalten Sie einGARCreateAnchorOnTerrainFuture
-Objekt. Das alte SymbolGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
wurde eingestellt und wird möglicherweise in einer späteren Version von ARCore entfernt. - Cloud-Anchors auflösen: Verwenden Sie
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
, um einGARResolveCloudAnchorFuture
-Objekt abzurufen. Das alte SymbolGARSession.resolveCloudAnchorWithIdentifier:error:
wurde eingestellt und wird möglicherweise in einer späteren Version von ARCore entfernt. - Hosting von Cloud-Anchors: Verwenden Sie
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
, um einGARHostCloudAnchorFuture
-Objekt abzurufen. Die alten SymboleGARSession.hostCloudAnchor:error:
undGARSession.hostCloudAnchor:TTLDays:error:
wurden eingestellt 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 Swift Package Manager. Eine Anleitung zur Einbindung von ARCore mithilfe von Swift Package Manager finden Sie unter AR in iOS-Apps aktivieren.
Neu in ARCore v1.35.0
Die raumbezogene Genauigkeit ersetzt die Richtung durch den Gierwinkel
Für alle raumbezogenen Posen wird jetzt die Genauigkeit der Ausrichtung der Gierdrehung angegeben, wodurch die Ausrichtungsgenauigkeit ersetzt wird.
- 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
. - Einheit: Ersetzen Sie
GeospatialPose.Heading
durchGeospatialPose.EunRotation
undGeospatialPose.HeadingAccuracy
durchGeospatialPose.OrientationYawAccuracy
.
Weitere Änderungen und Updates
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- NDK-Versionshinweise zu ARCore für Android
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore v1.34.0
Prüfen, ob am aktuellen Standort des Geräts Geodaten-Funktionen verfügbar sind
Die Geospatial API kann jetzt zur Laufzeit die Verfügbarkeit des Visual Positioning System (VPS) an einer angegebenen horizontalen Position prüfen. Diese API kann ohne aktive AR-Sitzung verwendet werden, z. B. um die Schaltfläche „AR aufrufen“ nur einzublenden, wenn VPS verfügbar ist.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Raumbezogene Positionsausrichtung
Raumbezogene Posen zeigen ihre Ausrichtung jetzt im 3D-Raum an.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Einheit:
GeospatialPose.EunRotation()
Raumbezogene Posen-Conversions
Raumbezogene Posen lassen sich jetzt in AR-Positionen (Weltraum) umwandeln.
So nehmen Sie die raumbezogene Position aus einer AR-Pose ein:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Einheit:
AREarthManager.Convert(Pose)
So nehmen Sie die AR-Pose aus einer raumbezogenen Position auf:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Einheit:
AREarthManager.Convert(GeospatialPose)
Für raumbezogene Posen, die mit diesen Funktionen abgerufen werden, ist der Ausrichtungswert auf null gesetzt. Verwenden Sie stattdessen Folgendes:
- Android (Java/Kotlin/C): Die US-Quaternion der Pose
- iOS:
eastUpSouthQTarget
der Pose - Unity:
EunRotation
der Pose
Weitere Änderungen und Updates
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- NDK-Versionshinweise zu ARCore für Android
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for 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 aktivieren und nicht die ältere ARCore Cloud Anchor API, die eingestellt wurde. Damit ältere App-Versionen unterstützt werden, kannst du während der Umstellung beide Versionen aktivieren. Apps, die mit dem ARCore SDK 1.32.0 und niedriger entwickelt wurden, zielen auf die ältere API ab, Apps, die mit dem ARCore SDK 1.33.0 und höher erstellt wurden, zielen auf die neue API ab. 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 von Ihrem Back-End aus Anfragen an die ARCore Cloud Anchor Management API senden, müssen Sie nach der Aktivierung der ARCore API auch den Domainnamen in
arcore.googleapis.com
ändern. - Die alte API bzw. der alte Endpunkt wird noch 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 angegebenen horizontalen Position und Höhe relativ zum Gelände der horizontalen Position erstellt.
Weitere Änderungen und Updates
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- NDK-Versionshinweise zu ARCore für Android
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore v1.32.0
Diese Version bietet 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 ist, wird dertargetSdkVersion
deiner App durch das Zusammenführen von Manifesten auf „32“ gesetzt.- Android SDK: Wenn du in
build.gradle
oderAndroidManifest.xml
deines Projekts einetargetSdkVersion
angibst, wird dertargetSdkVersion
-Wert von ARCore überschrieben. - AR Foundation for Android: Wenn du in deinem Unity-Projekt unter Project Settings > Player > Android > Other Settings (Projekteinstellungen > Spieler > Android > Andere Einstellungen) ein Ziel-API-Level angibst, wird der
targetSdkVersion
-Wert von ARCore überschrieben.
- Android SDK: Wenn du in
Weitere Änderungen und Updates
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- Versionshinweise zum ARCore SDK for Android
- NDK-Versionshinweise zu ARCore für Android
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore v1.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, standortbasierte Augmented Reality-Erlebnisse auf globaler Ebene bereitzustellen.
Unter Einführung in die ARCore Geospatial API finden Sie eine plattformspezifische Entwicklerdokumentation und Informationen zum Einstieg in die neue Geospatial API.
Weitwinkeltiefe
Die ARCore Depth API ist jetzt für eine Tiefenerkennung mit größerer Reichweite optimiert. Dadurch wird die Reichweite der repräsentierbaren Tiefenbeobachtung erweitert. Es werden alle 16 Bits des Tiefenbilds verwendet, was einen maximalen Bereich von 65.535 Millimetern ergibt. Zuvor wurden nur 13 Bit ausgefüllt, bei einem Limit von 8.191 Millimetern.
Unter Änderungen an der Detaillierung findest du eine plattformspezifische Entwicklerdokumentation und Informationen zu den Änderungen an der Depth API.
Plattformspezifische Hinweise
Android
Neue ARCore Geospatial APIs
Java
Earth
bietet die Möglichkeit, erdrelative Koordinaten zu lokalisieren.Earth.createAnchor()
erstellt eine neueAnchor
an der angegebenen Position und Ausrichtung relativ zur Erde.
Earth.Earthstate
beschreibt den aktuellen Status vonEarth
, einschließlichTrackingState
.GeospatialPose
beschreibt einen bestimmten Standort, eine bestimmte Höhe und eine Kompassrichtung relativ zur Erde.
C
ArEarth
bietet die Möglichkeit zur Lokalisierung in erdrelativen Koordinaten.ArEarth_acquireNewAnchor()
erstellt eine neueAnchor
an der angegebenen Position und Ausrichtung relativ zur Erde.ArEarthState
beschreibt den aktuellen Status vonArEarth
, einschließlichArTrackingState
.
ArGeospatialPose
beschreibt einen bestimmten Standort, eine bestimmte Höhe und eine Kompassrichtung relativ 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 haben sich von
android.graphics.ImageFormat#DEPTH16
zuandroid.hardware.HardwareBuffer#D_16
geändert. - Die Tiefe wird immer noch als 16-Bit-Ganzzahl in Millimetereinheiten dargestellt, aber jetzt werden alle 16 Bits zur Darstellung der Tiefe verwendet, was einen maximal auswählbaren Bereich von 8.191 mm bis 65.535 mm zulässt.
- 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 haben sich von
AR_IMAGE_FORMAT_DEPTH16
zuAR_IMAGE_FORMAT_D_16
geändert. - Die Tiefe wird immer noch als 16-Bit-Ganzzahl in Millimetereinheiten dargestellt, aber jetzt werden alle 16 Bits zur Darstellung der Tiefe verwendet, was einen maximal auswählbaren Bereich von 8.191 mm bis 65.535 mm zulässt.
- Die Depth API-Funktionsaufrufe
ArFrame_acquireDepthImage
undArFrame_acquireRawDepthImage
wurden eingestellt. Verwenden Sie stattdessenArFrame_acquireDepthImage16Bits
undArFrame_acquireRawDepthImage16Bits
.
- Die Depth API-Funktionsaufrufe haben sich geändert:
Unity (AR Foundation)
Neue ARCore Geospatial APIs:
AREarthManager
bietet die Möglichkeit zur Lokalisierung in erdrelativen Koordinaten.EarthTrackingState
ruft den Tracking-Zustand von Earth für den letzten Frame ab.- Mit
EarthState
werden Earth-Fehlerbedingungen beibehalten.
GeospatialPose
beschreibt einen bestimmten Standort, eine bestimmte Höhe und eine Kompassrichtung relativ zur Erde.ARGeospatialAnchor
bietet einen Anker für Spielobjekte in Ihrer Szene, die an einer Position und Ausrichtung relativ zur Erde angegeben werden.
iOS
Neue ARCore Geospatial APIs:
GAREarth
Bietet eine erdrelative Lokalisierung.GAREarthState.earthState
verwaltet Fehlerstatus und -bedingungen.- In
GAREarthState.trackingState
wird der Tracking-Status beibehalten, der für raumbezogene Daten erforderlich ist.
GARGeospatialTransform
Darstellung einer globalen Transformation mit Schätzungen zu Standort, Richtung, Höhe und Genauigkeit.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Erstellt einen raumbezogenen 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
- NDK-Versionshinweise zu ARCore für Android
- Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore v1.30.0
Diese Version bietet keine neuen Funktionen.
Android
- Annotierte API gibt Werte mit
@NonNull
und@Nullable
zurück. - Die Build-Tool-Versionen, die zum Erstellen von Beispielen verwendet werden, wurden aktualisiert: Gradle auf 7.0.2 und Android-Gradle-Plug-in auf 7.0.4. Für vorhandene ARCore-Anwendungen ist ein Upgrade dieser Tools nicht 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)
Neuer
arcore-unity-extensions-without-edm4u.tgz
-Release wurde hinzugefügt. Diese Release-Variante 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.ExternalDependencyManager wurde auf Version 1.2.168 aktualisiert, um die Unterstützung von Version 2021.2 und höher zu verbessern. Weitere Informationen finden Sie im Änderungsprotokoll von EDM.
Ein Problem wurde behoben, bei dem in der ARCore-Sitzung jeder Frame konfiguriert wurde, auch wenn die Sitzungskonfiguration nicht geändert wurde. Dies führte zu einem Rückgang der Framerate.
iOS
- Verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
Neu in ARCore v1.29.0
Diese Version bietet 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 besser unterscheiden zu können, die mit der Sofortplatzierung platziert wurden. - persistent_cloud_anchor_java: Eine fehlende Build-Abhängigkeit wurde dem Beispiel hinzugefügt. Es wurde ein Fehler behoben, bei dem das Hosten eines Ankers den Status
CloudAnchorState ERROR_NOT_AUTHORIZED
hatte, selbst wenn das Projekt korrekt 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 beim Installieren von ARCore-Erweiterungen unter 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
undARCoreRecordingConfig
wurden von 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 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 beziehen. Die betroffenen SDK-Versionen hängen 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
Pixel. Aufrufe anFrame#getImageMetadata()
geben immerIllegalArgumentException
aus. - Unity (AR Foundation): Wenn Sie AR Foundation 2.1 (Unity 2019 LTS) verwenden, wird bei
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
-Aufrufen immerfalse
zurückgegeben. AR Foundation 4.x und höhere Versionen 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
x0
Pixeln. Bei Aufrufen vonFrame.CameraMetadata.GetAllCameraMetadataTags()
wird ein leeresList<CameraMetadataTag>
zurückgegeben.
- C: Aufrufe von
- Java:
ArImage#getCropRect()
gibt jetzt einen Zuschneidebereich 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 bietet keine neuen Funktionen. In den folgenden Versionshinweisen finden Sie verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise für ARCore für Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Zusätzlich zu diversen Fehlerbehebungen enthielt diese Version die folgenden zusätzlichen Fehler.
Beispiel-Apps in Kotlin
hello_ar_kotlin wurde hinzugefügt, um Best Practices bei der 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 unter Aufzeichnung und Wiedergabe unterstützt.
Weitere Änderungen und Updates
In den folgenden Versionshinweisen finden Sie weitere Fehlerbehebungen und andere wichtige Änderungen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise für ARCore für Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore v1.25.0
Diese Version bietet keine neuen Funktionen. In den folgenden Versionshinweisen finden Sie verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise für ARCore für Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Vollständige Versionshinweise zum ARCore SDK for Unity
- Versionshinweise zu ARCore Extensions for 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 Bildraumfilterung bietet
- Benutzerdefinierte Datenerfassungsfunktion für die Recording & Wiedergabe API
- Die Möglichkeit, Tiefentreffertests durchzuführen
Rohtiefe
Die Raw Depth API bietet Tiefendaten für ein Kamerabild, die eine höhere Genauigkeit als Full Depth API-Daten haben, aber nicht immer alle Pixel abdecken. Raw-Tiefenbilder können zusammen mit ihren übereinstimmenden Konfidenzbildern auch weiter verarbeitet werden, sodass Anwendungen nur die Tiefendaten verwenden können, die für ihren jeweiligen Anwendungsfall mit ausreichender Genauigkeit ausgestattet sind.
Entwicklerleitfäden:
Aufzeichnung von benutzerdefinierten Tracks
Mit der neuen Funktion für benutzerdefinierte Daten-Tracks in der Recording & Wiedergabe API können Sie einem ARCore-Frame während der Aufzeichnung benutzerdefinierte Daten hinzufügen und dieselben Daten während der Wiedergabe aus dem Frame abrufen.
Entwicklerleitfäden:
Treffertests für die Tiefe
Bisher konnten Treffertests nur auf erkannten Ebenen durchgeführt werden, wodurch die Standorte auf große, flache Oberflächen beschränkt wurden. Tiefen-Treffertests nutzen sowohl glatte als auch unformatierte Tiefeninformationen, um genauere Trefferergebnisse zu liefern, selbst auf nicht planaren Oberflächen und Oberflächen mit geringer Textur.
Entwicklerleitfäden:
Weitere Änderungen und Updates
In den folgenden Versionshinweisen finden Sie weitere Fehlerbehebungen und andere wichtige Änderungen.
- Vollständige Versionshinweise zum ARCore SDK for Android
- Vollständige Versionshinweise für ARCore für Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Vollständige Versionshinweise zum ARCore SDK for Unity
- Versionshinweise zu ARCore Extensions for AR Foundation
Neu in ARCore v1.23.0
Ausstehende Unterstützung für Dual-Kameras
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-Intents können Entwickler Folgendes aktivieren:
ARCore API-Aufrufprotokollierung im Android-Fehlerbehebungsprotokoll
Das 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
.Einheit: Cloud-Anchors, 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 unterliegt der Richtlinie zur Einstellung von Produkten und Diensten.
Weitere Änderungen und Updates
In den folgenden Versionshinweisen finden Sie weitere Fehlerkorrekturen und wichtige Änderungen.
Neu in ARCore v1.22.0
In diesem Release werden neue Aufnahme- 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 zu ARCore-Erweiterungen.
Weitere Änderungen und Updates
In den folgenden Versionshinweisen finden Sie weitere Fehlerkorrekturen und wichtige Änderungen.
Neu in ARCore v1.21.0
In diesem Release werden neue Aufzeichnungs- und Wiedergabe-APIs für Android, Android NDK und Unity hinzugefügt.
Aufzeichnung und Wiedergabe
Mit den APIs für die 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 Daten auf dem Gerät enthalten. Sie können Ihre App dann so einrichten, dass diese Daten anstelle einer Live-Kamerasitzung verwendet werden. So können Sie diese Inhalte unbegrenzt wiedergeben und verschiedene AR-Effekte ausprobieren, ohne zum Feld zurückkehren 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.
Die Bildmetadaten-Funktionen für Android und das Android-NDK wurden aktualisiert.
Es gibt eine neue Anleitung, die Gradle ab Version 5.6.4 erfordert, um ARCore-Erweiterungen 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-Anker nur bis zu 24 Stunden nach dem ersten Hosten aufgelöst werden. Mit persistenten Cloud-Anchors können Sie jetzt einen Cloud-Anker mit einer Gültigkeitsdauer (TTL) zwischen 1 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-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 for AR Foundation: Android-Entwicklerleitfaden, iOS-Entwicklerleitfaden,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
undARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Einheits-Targeting auf Android: Entwicklerleitfaden,
XPSession.CreateCloudAnchor(Anchor, int)
undXPSession.EstimateFeatureMapQualityForHosting(Pose)
Unity-Targeting auf iOS: Entwicklerleitfaden,
XPSession.SetAuthToken(string)
undXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
Weitere Änderungen und Updates
In den folgenden Versionshinweisen finden Sie weitere Fehlerkorrekturen und wichtige Änderungen.
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
- Es gibt eine neue Anleitung zum 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 Geometrie der Oberfläche erkennt. Die Objektplatzierung wird in Echtzeit optimiert, während sich der Nutzer in der Umgebung fortbewegt. Sobald ARCore die richtige Pose in der Region erkennt, in der sich das AR-Objekt befindet, wird das weiße Objekt automatisch aktualisiert, sodass es positionsgenauigkeit ist. Es wird undurchsichtig.
Der folgende Clip zeigt eine virtuelle Android-Figur an einer realen Tabelle. Die Figur ist weiß und beim ersten Platzen viel kleiner. Nachdem ARCore die Berechnungen der Szenendimensionen verfeinert hat, springt die Figur zu einer genaueren Position. Dies kann zu einer Abweichung 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:
- New Depth API für Android, Android NDK und Unity
- Eine neue Anleitung zum Erstellen und Importieren von Augmented Faces-Assets 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 tiefengestützten Geräten verwendet die Depth API die RGB-Kamera des ARCore-unterstützten Geräts oder, falls verfügbar, den aktiven Tiefensensor, um Tiefenkarten zu erstellen. Mithilfe der Pixeltiefe einer Tiefenkarte lassen sich virtuelle Objekte genau vor oder hinter realen Objekten erscheinen. So lassen sich immersive und realistische Umgebungen erstellen.
Die folgenden Bilder zeigen beispielsweise eine virtuelle Android-Figur in einem echten Raum mit einem Kofferraum neben einer Tür. Die Depth API verdeckt die Figur hinter dem Rand des Trunks ordnungsgemäß.
Weitere Informationen:
Android:
Android-NDK:
Unity:
Neu in ARCore v1.17.0
Wichtige Informationen zum ARCore SDK for Android
Es wurden neue Methoden hinzugefügt, die die Zwischenspeicherung mehrerer Kameraframes ermöglichen. Zusammen mit anderen Techniken wie dem Multithread-Rendering kann dies verwendet werden, um die Variabilität der Framerates zu verringern.
Fehlende Nutzung des Tiefensensors und Ziel-fps-Getter hinzugefügt:
Weitere Informationen finden Sie in den vollständigen Versionshinweisen zum Android SDK for Android.
Wichtige Informationen im ARCore SDK für Unity
- Ab der Unity-Version 2018.2 wird Multithread-Rendering unterstützt. Damit wird in den meisten Fällen die Leistung verbessert und die Variabilität der Framerates verringert. Dies ist eine Unity-Projekteinstellung. Sie befindet sich unter Projekteinstellungen > Player > Android > Weitere Einstellungen > Multithreaded-Rendering. Weitere Informationen finden Sie im Entwicklerleitfaden.
SessionStatus.ErrorCameraNotAvailable
undSessionStatus.ErrorIllegalState
wurden hinzugefügt, um bestimmte Status von ARCore-Sitzungsfehlern anzugeben.
Weitere Informationen finden Sie in den vollständigen Versionshinweisen zum ARCore SDK für Unity.
Wichtige Informationen im ARCore SDK für iOS
Die binäre Größe des Cloud Anchors SDK ist deutlich gesunken.
Bitcode wird jetzt für erweiterte Gesichter unterstützt.
Weitere Informationen finden Sie in den vollständigen Versionshinweisen für das ARCore SDK für iOS.
Neu in ARCore v1.16.0
Bedeutend im ARCore SDK for Android und im 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 einer niedrigeren GPU-Texturauflösung als der standardmäßigen GPU-Texturauflösung des Geräts zurück.
Weitere Informationen finden Sie unter Geräte, die von ARCore unterstützt werden.
Diese erweiterten GPU-Auflösungen sind über die
getSupportedCameraConfigs(CameraConfigFilter)
API verfügbar.
Weitere Informationen
Wichtige Informationen zu ARCore-Erweiterungen für die AR-Grundlagen
In dieser Version wurden die folgenden wichtigen Änderungen vorgenommen:
XRCameraConfiguration
der AR Foundation wird um Methoden erweitert, mit denen Sie die passende Kamerakonfiguration basierend auf den gewünschten Kriterien auswählen können. Zu diesen Methoden 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-Version 2019.3 oder höher erforderlich.
Unity verwendet in seiner plattformübergreifenden API jetzt die Begriffe Anker, Cloud-Anker und Cloud-Anker-ID. Die Dokumentation für ARCore-Erweiterungen wurde entsprechend aktualisiert.
Weitere Informationen
Wichtige Informationen im ARCore SDK für Unity
In dieser Version wurde die folgende wichtige Änderung eingeführt:
- Die meisten Geräte geben jetzt zusätzliche unterstützte Kamerakonfigurationen mit einer niedrigeren GPU-Texturauflösung als der standardmäßigen GPU-Texturauflösung des Geräts zurück. Weitere Informationen finden Sie unter Geräte, die von ARCore unterstützt werden. Diese erweiterten GPU-Auflösungen sind über die ARCoreCameraConfigFilter API verfügbar.
Weitere Informationen
Vollständige Versionshinweise zum ARCore SDK for Unity
Neu in ARCore v1.15.0
Wichtige Informationen zu ARCore-Erweiterungen für die AR-Grundlagen
In dieser Version wurden die folgenden wichtigen Änderungen hinzugefügt.
Ein CloudAnchors-Beispiel wurde hinzugefügt, das zeigt, wie gemeinsame AR-Erlebnisse für Android und iOS erstellt werden. Eine Anleitung für Android und iOS finden Sie hier.
Unity 2019.2.17f1 ist jetzt die empfohlene Mindestversion für ARCore-Erweiterungen.
Vollständige Versionshinweise zu ARCore-Erweiterungen
Wichtige Informationen im ARCore SDK für Unity
In dieser Version sind die folgenden bekannten Probleme aufgetreten.
Bei Verwendung von Android 9 und einem USB 3-Kabel kann die Vorschau Unity einfrieren. Um Abhilfe zu schaffen, aktualisiere auf Android 10 oder verwende ein USB 2-Kabel.
Wenn die Auflösung der Spielansicht von Unity zu hoch ist, wird die Vorschau möglicherweise nicht auf dem Gerät angezeigt. Verringern Sie die Auflösung für die Spieleansicht von Unity im Editor, um das Problem zu beheben.
Vollständige Versionshinweise zum ARCore SDK for Unity
Weitere Änderungen
In den folgenden Versionshinweisen finden Sie weitere Fehlerkorrekturen und wichtige Änderungen.
Neu in ARCore v1.14.0
In dieser Version wurden die folgenden wichtigen Änderungen hinzugefügt.
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
anstelle vonAR_TRACKING_FAILURE_REASON_NONE
.Einheit:
Session.LostTrackingReason
istLostTrackingReason.CameraUnavailable
anstelle vonNone
.
Google erhebt und verarbeitet Daten im Rahmen Ihrer Nutzung des ARCore-Erweiterungspakets 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 hinzugefügt.
Unterstützung für die Verwendung von ARCore-Erweiterungen für die AR Foundation von Unity zum Erstellen von iOS-Apps mit Cloud-Ankern
Unterstützung der HDR-Beleuchtungsschätzung für die Umgebung in Sceneform
In den folgenden Versionshinweisen finden Sie weitere Fehlerkorrekturen und wichtige Änderungen.
Neu in ARCore v1.12.0
In dieser Version wurden folgende Änderungen vorgenommen:
Die Funktion „Gesichtsoptimierung“ wurde auf iOS-Geräten hinzugefügt. Weitere Informationen finden Sie in dieser Übersicht, dieser quickstart und im Entwicklerhandbuch.
Unterstützung für die Verwendung von ARCore-Erweiterungen für die AR Foundation von Unity zum Erstellen von Android-Apps mit Cloud-Ankern.
Bei Cloud-Ankern ändert sich Folgendes:
- Zur Einhaltung unserer aktualisierten Datenschutzanforderungen für die Verwendung von ARCore SDKs 1.12 oder höher müssen Sie die Verwendung von Cloud-Anchors in Ihrer App gut sichtbar offenlegen. Dazu fügen Sie auf einem Hinweisbildschirm den folgenden Text sowie einen Link zu weiteren Informationen ein: „Für diese Sitzung verarbeitet Google visuelle Daten von Ihrer Kamera.“ Implementieren Sie dazu den empfohlenen Ablauf für die Benachrichtigung von Nutzern in unseren Cloud-Anchor-Beispiel-Apps.
Weitere Informationen finden Sie unter Anforderungen an den Datenschutz für Nutzer.
Weitere Informationen zu Cloud-Ankern:
Android:
Android-NDK:
iOS:
Unity:
ARCore-Erweiterungen:
Neu in ARCore v1.11.0
In dieser Version wurden folgende Änderungen vorgenommen:
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 vertrieben.
Die Kamerakonfigurationen von ARCore sind auf 60 fps auf unterstützten Geräten ausgerichtet und priorisieren die Verwendung des Tiefensensors auf Geräten, die einen solchen Sensor haben. Du kannst neue Kamerakonfigurationsfilter verwenden, um die Framerate für die Kameraaufnahme auf 30 fps zu beschränken, zu verhindern, dass ARCore einen Tiefensensor verwendet, oder auf der Grundlage beider Optionen filtern.
Weitere Informationen zur Kamerakonfiguration:
Android:
Android-NDK:
Unity:
Neu in ARCore v1.10.0
In diesem Release werden der Lighting Estimation API für Android, Android NDK und Unity neue Funktionen zur Umgebungs-HDR-Beleuchtungsschätzung hinzugefügt.
Diese APIs nutzen maschinelles Lernen, um das Eingabebild der Kamera zu analysieren und die Umgebungsbeleuchtung zu schätzen. Sie können diese Daten zur Lichtschätzung verwenden, um extrem realistisches Licht zu rendern, einschließlich primärem Richtungslicht, Schatten, Umgebungslicht, reflektierenden Spitzlichtern und Reflexionen 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
Neu im ARCore SDK for Android
In diesem Release werden folgende neue APIs und Funktionen hinzugefügt:
Der Scene Viewer ist ein immersiver Viewer, mit dem Sie AR-Erlebnisse von Ihrer Website aus ermöglichen. Nutzer von Android-Mobilgeräten können damit im Web gehostete 3D-Modelle in ihrer Umgebung ganz einfach platzieren, ansehen und mit ihnen interagieren.
Neue Funktionen für erweiterte Bilder:
ARCore erfasst jetzt veränderte Bilder mit erweiterten Funktionen. Beispiele für bewegte Bilder sind Werbung in einem vorbeifahrenden Bus oder Bilder auf einem flachen Objekt, das ein Nutzer hält, während er seine Hand bewegt.
Nachdem ein Bild erkannt wurde, kann ARCore seine Position und Ausrichtung weiterhin erfassen, auch wenn das Bild vorübergehend aus dem Sichtfeld der Kamera verschoben wurde.
Verwenden Sie
AugmentedImage#getTrackingMethod()
(Java) oderArAugmentedImage_getTrackingMethod()
(NDK), um zu ermitteln, ob das erweiterte Bild derzeit von der Kamera (FULL_TRACKING
) oder anhand seiner letzten bekannten Position (LAST_KNOWN_POSE
) erfasst wird.
Die Cloud-Anker-Dokumentation enthält jetzt eine ausführlichere Erläuterung, wie Anker gehostet und aufgelöst werden.
Neu im ARCore SDK für Unity
Neue Funktionen für erweiterte Bilder:
ARCore erfasst jetzt veränderte Bilder mit erweiterten Funktionen. Beispiele für bewegte Bilder sind Werbung in einem vorbeifahrenden Bus oder Bilder auf einem flachen Objekt, das ein Nutzer beim Bewegen hält.
Nachdem ein Bild erkannt wurde, kann ARCore seine Position und Ausrichtung weiterhin erfassen, auch wenn das Bild vorübergehend aus dem Sichtfeld der Kamera verschoben wurde.
Mit der neuen
AugmentedImage.GetTrackingMethod()
API kann deine App feststellen, ob das erweiterte Bild derzeit von der Kamera (FullTracking
) oder anhand der letzten bekannten Position (LastKnownPose
) erfasst wird.
Die Cloud-Anker-Dokumentation enthält jetzt eine ausführlichere Erläuterung, wie Anker gehostet und aufgelöst werden.
Neu im ARCore SDK for iOS
Unterstützung für folgende Geräte:
iPad Mini der fünften Generation
iPad Air der dritten Generation
Die Cloud-Anker-Dokumentation enthält jetzt eine ausführlichere Erläuterung, wie Anker gehostet und aufgelöst werden.