Neue und wichtige Änderungen bei ARCore
Neu in ARCore v1.48.0
Unterstützung für Unity 6 und AR Foundation 6 ist vollständig verfügbar
ARCore-Erweiterungen für AR Foundation von Unity unterstützen jetzt AR Foundation 6. Mit den folgenden Installationsmethoden können Sie eine kompatible Version von ARCore-Erweiterungen für AR Foundation erhalten:
- Bis zum
Add package from git url...
: Verwendehttps://github.com/google-ar/arcore-unity-extensions.git#arf6
, - Über
Add package from tarball...
: Verwende einen Release mit der Kennzeichnungarf6
von der Seite „Releases“.
Informationen zum Upgrade Ihres Projekts von AR Foundation 5 auf AR Foundation 6 finden Sie in dieser Anleitung.
Nicht abwärtskompatible Änderungen und Änderungen am Verhalten
- Das SDK unterstützt keine Bereitstellungsziele mehr für iOS-Versionen unter 13.0
Neu in ARCore v1.47.0
Betasupport für Unity 6 und AR Foundation 6
ARCore-Erweiterungen für AR Foundation von Unity werden jetzt in der Betaversion für AR Foundation 6 unterstützt, um Unity 6 zu unterstützen. Mit den folgenden Installationsmethoden können Sie eine kompatible Version von ARCore-Erweiterungen für AR Foundation erhalten:
- Bis zum
Add package from git url...
: Verwendehttps://github.com/google-ar/arcore-unity-extensions.git#arf6
, - Über
Add package from tarball...
: Verwende einen Release mit der Kennzeichnungarf6
von der Seite „Releases“.
Informationen zum Upgrade Ihres Projekts von AR Foundation 5 auf AR Foundation 6 finden Sie in dieser Anleitung.
Fehlerkorrekturen
- Die Ebene des Cloud Anchor-Beispiels war in Unity 6 nicht transparent.
Sonstige Änderungen
- Der Zweig
main
des GitHub-Repositories für ARCore-Erweiterungen wurde so konfiguriert, dass er den Zweigarf5
verfolgt.
Neu in ARCore v1.46.0
Änderungen an targetSdkVersion
des ARCore SDK
Die targetSdkVersion
von ARCore wurde auf Android API-Level 35 aktualisiert. Wenn für Ihre App kein targetSdkVersion
angegeben ist, wird die targetSdkVersion
Ihrer App aufgrund der Manifestzusammenführung auf 35 gesetzt.
Wenn Sie in Unity unter Project Settings > Player > Android > Other Settings (Projekteinstellungen > Player > Android > Weitere Einstellungen) eine Target API Level (Ziel-API-Ebene) angeben, wird der Wert targetSdkVersion
von ARCore überschrieben.
Neu in ARCore v1.45.0
Flash Mode API
ARCore unterstützt jetzt die Aktivierung des Taschenlampenmodus des Geräts, was die Wahrnehmung in dunklen Umgebungen verbessert.
Config.FlashMode
: Konfigurationsoption zum Aktivieren oder Deaktivieren des Blitzes auf dem Gerät.- Weitere Informationen zum Erkennen von Blitzfunktionen und zum Aktivieren des Taschenlampenmodus finden Sie im Entwicklerleitfaden.
ArFlashMode
: Konfigurationsoption zum Aktivieren oder Deaktivieren des Blitzes auf dem Gerät.- Weitere Informationen zum Erkennen von Blitzfunktionen und zum Aktivieren des Taschenlampenmodus finden Sie im Entwicklerleitfaden.
ARCore-Erweiterungen für AR Foundation von Unity unterstützen AR Foundation 5
ARCore-Erweiterungen für AR Foundation werden jetzt offiziell von AR Foundation 5 unterstützt. Wenn Sie AR Foundation 5 verwenden (die bestätigte Version für Unity-Versionen 2022 und 2023), können Sie mit den folgenden Installationsmethoden eine kompatible Version von ARCore Extensions für AR Foundation herunterladen:
- Bis zum
Add package from git url...
: Verwendehttps://github.com/google-ar/arcore-unity-extensions.git#arf5
, - Über
Add package from tarball...
: Verwende einen Release mit der Kennzeichnungarf5
von der Seite „Releases“.
Für Projekte, die bei AR Foundation Version 4 bleiben, können die folgenden Installationsmethoden verwendet werden:
- Bis zum
Add package from git url...
: Verwendehttps://github.com/google-ar/arcore-unity-extensions.git#arf4
, - Über
Add package from tarball...
: Verwende einen Release mit der Kennzeichnungarf4
von der Seite „Releases“.
Informationen zum Upgrade Ihres Projekts von AR Foundation 4 auf AR Foundation 5 finden Sie in der Migrationsanleitung.
Benutzerdefinierte Scripting-Symbole wie ARCORE_USE_ARF_5
aus der Betaversion werden nicht mehr verwendet.
Neu in ARCore v1.44.0
Diese Version enthält keine neuen Funktionen.
Neu in ARCore v1.43.0
Places API bei der Migration von Geospatial Creator
Für die Suchfunktion von Geospatial Creator wird jetzt die New Places API von Google verwendet. Wenn Sie die Suchfunktion verwenden möchten, aktivieren Sie Places API (New) in der Google Cloud Console.
Neu in ARCore v1.42.0
Im Geospatial Creator für Unity an eine Kachel anpinnen
Dem Bereich „ARGeospatialCreatorAnchor
Editor-Inspektionstool“ wurde die Schaltfläche „An Kachel anpinnen“ hinzugefügt. Mit dieser Schaltfläche wird der nur im Editor sichtbare Höheswert eines Gelände- oder Dachankers auf die Spitze einer 3D-Kachelgeometrie an den aktuellen Breiten- und Längengraden des Ankers gesetzt. Diese Eigenschaft hat keine Auswirkungen auf das Verhalten zur Laufzeit. So lässt sich die Position des Ankers im Editor an seine Position bei der Laufzeit anpassen.
Neu in ARCore v1.41.0
Geospatial Creator API
Geospatial Creator for Unity unterstützt jetzt das Erstellen und Bearbeiten von Geospatial Creator-Objekten im Editor-Modus. Die neu verfügbaren Klassen und APIs werden im Geospatial Creator API-Leitfaden beschrieben.
Unterstützung von AR Foundation-Versionen 5.x (Beta)
ARCore-Erweiterungen für AR Foundation von Unity unterstützen jetzt AR Foundation-Versionen 5.x. Informationen zum Migrieren eines vorhandenen Projekts zu AR Foundation finden Sie in der Migrationsanleitung.
Neu in ARCore v1.40.0
Szenen-Semantik auf iOS-Geräten
Die Scene Semantics API ist jetzt im ARCore SDK for iOS sowie in ARCore Extensions for Unity’s AR Foundation für die iOS-Plattform verfügbar. Mit der Scene Semantics API können Entwickler die Umgebung des Nutzers in Echtzeit analysieren und Pixel in 11 Klassen von Outdoor-Komponenten einteilen. Weitere Informationen finden Sie unter Einführung in die Szenensemantik.
In Geospatial Creator für Unity nach POIs suchen
Geospatial Creator for Unity unterstützt jetzt eine Textsuche, um die Ansicht der fotografischen 3D-Kacheln zu positionieren. Weitere Informationen finden Sie unter In Geospatial Creator nach POIs suchen.
Neu in ARCore v1.39.0
Diese Version enthält keine neuen Funktionen.
Neu in ARCore v1.38.0
Diese Version enthält keine neuen Funktionen.
Neu in ARCore v1.37.0
Szenen-Semantik
Szenensemantik liefert detailliertere Informationen zur Umgebung, sodass die Welt um den Nutzer herum leichter verständlich wird. Bei der Szenensemantik wird ein ML-Modell auf den Kamerabildfeed angewendet und ein semantisches Bild erstellt, bei dem jedes Pixel einem von elf Labels für Outdoor-Konzepte entspricht.
Weitere Informationen finden Sie unter Einführung in die Szenensemantik und in der Beispielanwendung „semantics_java“.
Weitere Informationen finden Sie unter Neu in ARCore v1.40.0.
Geometrie des Straßenbilds
„Streetscape Geometry“ ist eine neue ARCore Geospatial API, die die Geometrie von Gebäuden und Gelände in einem Umkreis um den Nutzer herum bereitstellt, wenn die Geospatial API aktiviert ist.
Weitere Informationen finden Sie im Entwicklerleitfaden für Street View-Geometrie (Kotlin/Java). Außerdem wurde die Beispiel-App „geospatial_java“ um die Straßenraumgeometrie erweitert.
Weitere Informationen finden Sie im Entwicklerleitfaden für Streetscape-Geometrie (C).
Weitere Informationen finden Sie im Entwicklerleitfaden für Streetscape-Geometrie (Unity).
Weitere Informationen finden Sie im Entwicklerleitfaden für Street View-Geometrie (iOS). Außerdem wurde die GeospatialExample App um die Straßenraumgeometrie erweitert.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
bietet 3D-Meshes.GARStreetscapeGeometry.meshTransform
gibt die Ursprungstransformation der Geometrie bezogen auf den Weltraum der Sitzung an.GARStreetscapeGeometry.trackingState
verwaltet den Tracking-Status.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
ist die eindeutige Kennung für die Geometrie.- Mit
GARSession.createAnchorOnStreetscapeGeometry:transform:error:
wird ein Anker an der angegebenen Position und Ausrichtung erstellt. GARSession.raycastStreetscapeGeometry:direction:error:
führt einen Raycast auf die in der Szene geladene Streetscape-Geometrie aus.
Dachanker
Dachanker sind ein neuer geospazialer Ankertyp, mit dem Sie Inhalte an einem Dach verankern können.
Weitere Informationen finden Sie unter Georeferenzierte Markierungen (Java). Außerdem wurde die Beispiel-App „geospatial_java“ um Dachterrassen-Markierungen ergänzt.
Weitere Informationen finden Sie unter Georeferenzierte Markierungen (C).
Weitere Informationen finden Sie unter Georeferenzierte Anker. Außerdem wurde das geospatiale Beispiel um Dachanker ergänzt.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
dient als Anker für Spielobjekte in Ihrer Szene an der angegebenen Breite, Länge, Höhe über dem Dach und Ausrichtung.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
Weitere Informationen finden Sie unter Georeferenzierte Anker (iOS). Außerdem wurde die GeospatialExample App um Dachterrassenanker ergänzt.
- Mit
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
wird ein Dachanker an der angegebenen Stelle mit der Höhe über dem Dach in Metern und der Ausrichtung relativ zur Erde erstellt. GARCreateAnchorOnRooftopFuture
enthält den asynchronen Status der Auflösung eines Dachankers.GARRooftopAnchorState
beschreibt den Status der Auflösung eines Dachankers.
Geospatial Depth
Wenn in einer ARCore-Sitzung in Gebieten mit VPS-Abdeckung sowohl die Depth API als auch der Street View-Geometriemodus aktiviert sind, werden die generierten Tiefenbilder mithilfe der Street View-Geometrie verbessert. Die Straßenraumgeometrie ist in jedes generierte Tiefenbild bis zu einer Entfernung von 65.535 Metern integriert. Wenn Sie die Depth API aufrufen, sind keine Änderungen erforderlich, um diesen Vorteil zu nutzen.
Weitere Informationen finden Sie unter Raumbezogene Tiefe (Java).
Weitere Informationen finden Sie unter Geospatial Depth (C).
Weitere Informationen finden Sie unter Geospatial Depth (C).
Die Szenensemantik ist derzeit für iOS nicht verfügbar.
Vulkan-Rendering-Unterstützung
ARCore unterstützt jetzt das Vulkan-Rendering, indem das Kamerabild über eine AHardwareBuffer
freigegeben wird. Sie können diesen Hardware-Puffer verwenden, indem Sie ihn an eine VkImage
binden.
Weitere Informationen finden Sie unter ARCore-Anwendungen mit Vulkan rendern und in der Beispiel-App „hello_ar_vulkan_c“.
Das Vulkan-Rendering ist derzeit nicht für Unity mit AR Foundation verfügbar.
Elektronische Bildstabilisierung (EIS)
Sie können ARCore so konfigurieren, dass die elektronische Bildstabilisierung verwendet wird. Dadurch werden Kameraframes geglättet, was die Nutzerfreundlichkeit erhöht.
Weitere Informationen finden Sie unter Elektronische Bildstabilisierung aktivieren und in der Beispiel-App hello_eis_kotlin.
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- Es gibt ein bekanntes Problem, bei dem der Aufruf von
Frame.transformCoordinates3d()
mit anderen 2D-Koordinaten alsOPENGL_NORMALIZED_DEVICE_COORDINATES
zu einem Absturz führt, anstattIllegalArgumentException
zu werfen. Dieses Problem wird in der nächsten Version behoben.
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- Es gibt ein bekanntes Problem, bei dem der Aufruf von
ArFrame_transformCoordinates3d()
mit anderen 2D-Koordinaten alsAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
dazu führt, dass Ihre App abgebrochen wird, anstattAR_ERROR_INVALID_ARGUMENT
zurückzugeben. Dieses Problem wird in der nächsten Version behoben.
EIS ist derzeit nicht für Unity mit AR Foundation verfügbar.
EIS ist derzeit nicht für iOS verfügbar.
ARCore-Async-APIs
In dieser Version werden neue asynchrone ARCore APIs eingeführt, um die Ergonomie bei der Arbeit mit asynchronen Vorgängen gemäß dem Future- und Promise-Paradigma zu verbessern.
- Geländeanker lösen: Verwenden Sie
Earth.resolveAnchorOnTerrainAsync()
, um eineResolveAnchorOnTerrainFuture
zu erhalten. Das alte SymbolEarth.resolveAnchorOnTerrain()
wurde eingestellt und wird in einer späteren Version von ARCore möglicherweise entfernt. - Cloud-Markierungen auflösen: Verwenden Sie
Session.resolveCloudAnchorAsync()
, um eineResolveCloudAnchorFuture
zu erhalten. Das alte SymbolSession.resolveCloudAnchor()
wurde eingestellt und wird in einer späteren Version von ARCore möglicherweise entfernt. - Cloud-Markierungen hosten: Verwende
Session.hostCloudAnchorAsync()
, um eineHostCloudAnchorFuture
zu erhalten. Die alten SymboleSession.hostCloudAnchor()
undSession.hostCloudAnchorWithTtl()
wurden eingestellt und werden in einer späteren Version von ARCore möglicherweise entfernt. - APK-Verfügbarkeit prüfen: Registrieren Sie mit
ArCoreApk.checkAvailabilityAsync()
einen Callback. Das alte SymbolArCoreApk.checkAvailability()
wird nicht eingestellt.
- Geländeanker lösen: Verwenden Sie
ArEarth_resolveAnchorOnTerrainAsync()
, um eineArResolveAnchorOnTerrainFuture
zu erhalten, oderArResolveAnchorOnTerrainCallback
. Das alte SymbolArEarth_resolveAndAcquireNewAnchorOnTerrain()
wurde eingestellt und wird in einer späteren Version von ARCore möglicherweise entfernt. - Cloud-Markierungen auflösen: Verwenden Sie
ArSession_resolveCloudAnchorAsync()
, um eineArResolveCloudAnchorFuture
zu erhalten, oderArResolveCloudAnchorCallback
. Das alte SymbolArSession_resolveAndAcquireNewCloudAnchor()
wurde eingestellt und wird in einer späteren Version von ARCore möglicherweise entfernt. - Cloud-Markierungen hosten: Verwende
ArSession_hostCloudAnchorAsync()
, um eineArHostCloudAnchorFuture
zu erhalten, oderArHostCloudAnchorCallback
. Die alten SymboleArSession_hostAndAcquireNewCloudAnchor()
undArSession_hostAndAcquireNewCloudAnchorWithTtl()
wurden eingestellt und werden in einer späteren Version von ARCore möglicherweise entfernt. - APK-Verfügbarkeit prüfen: Registrieren Sie mit
ArCoreApk_checkAvailabilityAsync()
einen Callback. Das alte SymbolArCoreApk_checkAvailability()
wird nicht eingestellt.
- Geländeanker lösen: Verwenden Sie
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
, um eineResolveAnchorOnTerrainPromise
zu erhalten. Das alte SymbolARAnchorManagerExtensions.ResolveAnchorOnTerrain()
wurde eingestellt und wird in einer späteren Version von ARCore möglicherweise entfernt. - Cloud-Markierungen auflösen: Verwenden Sie
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
, um eineResolveCloudAnchorPromise
zu erhalten. Das alte SymbolARAnchorManagerExtensions.ResolveCloudAnchorId()
wurde eingestellt und wird in einer späteren Version von ARCore möglicherweise entfernt. - Cloud-Markierungen hosten: Verwende
ARAnchorManagerExtensions.HostCloudAnchorAsync()
, um eineHostCloudAnchorPromise
zu erhalten. Die alten SymboleARAnchorManagerExtensions.HostCloudAnchor()
wurden eingestellt und werden in einer späteren Version von ARCore möglicherweise entfernt.
- Geländeanker lö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 späteren Version von ARCore möglicherweise entfernt. - Cloud-Markierungen auflösen: Verwenden Sie
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
, um eineGARResolveCloudAnchorFuture
zu erhalten. Das alte SymbolGARSession.resolveCloudAnchorWithIdentifier:error:
wurde eingestellt und wird in einer späteren Version von ARCore möglicherweise entfernt. - Cloud-Markierungen hosten: Verwende
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
, um eineGARHostCloudAnchorFuture
zu erhalten. Die alten SymboleGARSession.hostCloudAnchor:error:
undGARSession.hostCloudAnchor:TTLDays:error:
wurden eingestellt und werden in einer späteren Version von ARCore möglicherweise entfernt.
Neu in ARCore v1.36.0
Swift Package Manager-Unterstützung auf iOS
Das ARCore SDK für iOS unterstützt jetzt offiziell den Swift Package Manager. Eine Anleitung zur Integration mit ARCore über den Swift Package Manager finden Sie unter AR in Ihrer iOS-App aktivieren.
Neu in ARCore v1.35.0
Bei der Genauigkeit der geografischen Pose wird der Kurs durch den Gierwinkel ersetzt
Für alle geospatialen Posen wird jetzt die Orientierungsgenauigkeit der Drehung um die Hochachse angegeben, die die Richtungsgenauigkeit ersetzt.
- Java/Kotlin: Ersetzen Sie
GeospatialPose.getHeading()
durchGeospatialPose.getEastUpSouthQuaternion()
undGeospatialPose.getHeadingAccuracy()
durchGeospatialPose.getOrientationYawAccuracy()
. - C: Ersetzen Sie
ArGeospatialPose_getHeading()
durchArGeospatialPose_getEastUpSouthQuaternion()
undArGeospatialPose_getHeadingAccuracy()
durchArGeospatialPose_getOrientationYawAccuracy()
. - iOS: Ersetzen Sie
GARGeospatialTransform.heading
durchGARGeospatialTransform.eastUpSouthQTarget
undGARGeospatialTransform.headingAccuracy
durchGARGeospatialTransform.orientationYawAccuracy
. - Unity: Ersetzen Sie
GeospatialPose.Heading
durchGeospatialPose.EunRotation
undGeospatialPose.HeadingAccuracy
durchGeospatialPose.OrientationYawAccuracy
.
Weitere Änderungen und Updates
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- ARCore SDK for Android-Releasenotizen
- ARCore for Android NDK-Versionshinweise
- Versionshinweise zum ARCore SDK für iOS
- Versionshinweise zu ARCore-Erweiterungen für AR Foundation
Neu in ARCore v1.34.0
Prüfen, ob georäumliche Funktionen am aktuellen Standort des Geräts verfügbar sind
Mit der Geospatial API kann jetzt bei Laufzeit die Verfügbarkeit des Visual Positioning Systems (VPS) an einer bestimmten horizontalen Position geprüft werden. Diese API kann auch ohne aktive AR-Sitzung verwendet werden, z. B. um die Schaltfläche „AR starten“ nur dann anzuzeigen, wenn VPS verfügbar ist.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Geospatiale Positionsorientierung
Die Ausrichtung von geospatialen Posen wird jetzt im 3D-Raum angezeigt.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Geospatiale Positionskonvertierungen
Geopositionen können jetzt in und aus AR-Posen im Weltraum umgewandelt werden.
So rufen Sie die geospatiale Pose aus einer AR-Pose ab:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
So rufen Sie die AR-Pose aus einer geospatialen Pose ab:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
Bei geospatialen Posen, die mit diesen Funktionen ermittelt werden, ist der Wert für die Richtung auf null gesetzt. Verwenden Sie stattdessen Folgendes:
- Android (Java/Kotlin/C): Der EUS-Quaternion der Pose
- iOS:
eastUpSouthQTarget
der Pose - Einheit:
EunRotation
der Pose
Weitere Änderungen und Updates
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- ARCore SDK for Android-Releasenotizen
- ARCore for Android NDK-Versionshinweise
- Versionshinweise zum ARCore SDK für iOS
- Versionshinweise zu ARCore-Erweiterungen für AR Foundation
Neu in ARCore v1.33.0
Neuer Cloud Anchors-Endpunkt
- Wenn Sie Cloud-Anker verwenden möchten, müssen Sie jetzt die ARCore API anstelle der älteren ARCore Cloud Anchor API aktivieren, die jetzt eingestellt wurde. Wenn Sie ältere App-Versionen unterstützen möchten, können Sie beide Optionen während der Umstellung aktivieren. Apps, die mit ARCore SDK 1.32.0 oder niedriger erstellt wurden, sind auf die ältere API ausgerichtet. Apps, die mit ARCore SDK 1.33.0 oder höher erstellt wurden, sind auf die neue API ausgerichtet. Beachten Sie Folgendes:
- Die neue API verwendet den Domainnamen
arcore.googleapis.com
anstelle vonarcorecloudanchor.googleapis.com
. - Wenn Sie einen API-Schlüssel verwenden, der durch die API eingeschränkt ist, müssen Sie die ARCore API zulassen.
- Wenn Sie von Ihrem Backend 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/der alte Endpunkt werden bis August 2023 unterstützt.
- Weitere Informationen finden Sie unter Änderungen am Cloud Anchor-Endpunkt in ARCore 1.33.
- Die neue API verwendet den Domainnamen
Geländeanker
- Mit der Geospatial Terrain anchor API wird ein Anker an einer bestimmten horizontalen Position und Höhe relativ zum Gelände der horizontalen Position erstellt.
Weitere Änderungen und Updates
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- ARCore SDK for Android-Releasenotizen
- ARCore for Android NDK-Versionshinweise
- Versionshinweise zum ARCore SDK für iOS
- Versionshinweise zu ARCore-Erweiterungen für AR Foundation
Neu in ARCore v1.32.0
Diese Version enthält keine neuen Funktionen.
Android und Unity (AR Foundation) für Android
- Die
targetSdkVersion
von ARCore wurde auf Android API-Level 32 aktualisiert. Wenn für Ihre App keintargetSdkVersion
angegeben ist, wirdtargetSdkVersion
aufgrund der Manifestzusammenführung auf 32 gesetzt.- Android SDK: Wenn Sie in der
build.gradle
oderAndroidManifest.xml
Ihres Projekts einentargetSdkVersion
angeben, wird dertargetSdkVersion
-Wert von ARCore überschrieben. - AR Foundation for Android: Wenn Sie in Ihrem Unity-Projekt unter Project Settings > Player > Android > Other Settings (Projekteinstellungen > Player > Android > Weitere Einstellungen) eine Target API Level (Ziel-API-Ebene) angeben, wird der Wert
targetSdkVersion
von ARCore überschrieben.
- Android SDK: Wenn Sie in der
Weitere Änderungen und Updates
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- ARCore SDK for Android-Releasenotizen
- ARCore for Android NDK-Versionshinweise
- Versionshinweise zum ARCore SDK für iOS
- Versionshinweise zu ARCore-Erweiterungen für AR Foundation
Neu in ARCore v1.31.0
ARCore Geospatial API
Die neue ARCore Geospatial API nutzt Daten aus Google Earth-3D-Modellen und Street View-Bilddaten aus Google Maps, um Ihrer App immersive, standortbasierte Augmented-Reality-Inhalte in globalem Maßstab zu ermöglichen.
In der Einführung in die ARCore Geospatial API finden Sie platformspezifische Entwicklerdokumentation und Informationen zum Einstieg in die neue Geospatial API.
Reichweite
Die ARCore Depth API ist jetzt für die Tiefenerfassung über eine größere Entfernung hinweg optimiert, wodurch der Bereich der darstellbaren Tiefenbeobachtungen erweitert wird. Alle 16 Bit des Tiefenbilds werden verwendet, was einen maximalen Bereich von 65.535 Millimetern ergibt. Bisher wurden nur 13 Bit mit einer Obergrenze von 8.191 Millimetern ausgefüllt.
Unter Änderungen an Depth finden Sie platformspezifische Entwicklerdokumentation und Informationen zu den Änderungen an der Depth API.
Plattformspezifische Hinweise
Android
Neue ARCore Geospatial APIs
Java
Earth
bietet die Möglichkeit zur Lokalisierung in erdbezogenen Koordinaten.Earth.createAnchor()
erstellt eine neueAnchor
an der angegebenen Position und Ausrichtung relativ zur Erde.
Earth.Earthstate
beschreibt den aktuellen Status vonEarth
, einschließlich desTrackingState
.GeospatialPose
beschreibt einen bestimmten Ort, eine bestimmte Höhe und eine bestimmte Kompassrichtung relativ zur Erde.
C
ArEarth
bietet die Möglichkeit zur Lokalisierung in erdbezogenen Koordinaten.ArEarth_acquireNewAnchor()
erstellt eine neueAnchor
an der angegebenen Position und Ausrichtung relativ zur Erde.ArEarthState
beschreibt den aktuellen Status vonArEarth
, einschließlich desArTrackingState
.
ArGeospatialPose
beschreibt einen bestimmten Ort, eine bestimmte Höhe und eine bestimmte Kompassrichtung relativ zur Erde.
Aktualisierte ARCore Depth APIs
Java
- Die Funktionsaufrufe der Depth API haben sich geändert:
Frame.acquireDepthImage
zuFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
zuFrame.acquireRawDepthImage16Bits
.- Die Ausgabebildformate für beide Aufrufe wurden von
android.graphics.ImageFormat#DEPTH16
inandroid.hardware.HardwareBuffer#D_16
geändert. - Die Tiefe wird weiterhin als 16‑Bit-Ganzzahl in Millimetern dargestellt, aber jetzt werden alle 16 Bit für die Darstellung der Tiefe verwendet. So ist ein maximaler Ausdrucksbereich von 8.191 mm bis 65.535 mm möglich.
- Die Depth API-Funktionsaufrufe
Frame.acquireDepthImage
undFrame.acquireRawDepthImage
sind veraltet. Verwenden Sie stattdessenFrame.acquireDepthImage16Bits
undFrame.acquireRawDepthImage16Bits
.
- Die Funktionsaufrufe der Depth API haben sich geändert:
C
- Die Funktionsaufrufe der Depth API haben sich geändert:
ArFrame_acquireDepthImage
zuArFrame_acquireDepthImage16Bits
.ArFrame_acquireRawDepthImage
nachArFrame_acquireRawDepthImage16Bits
- Die Ausgabebildformate für beide Aufrufe wurden von
AR_IMAGE_FORMAT_DEPTH16
inAR_IMAGE_FORMAT_D_16
geändert. - Die Tiefe wird weiterhin als 16‑Bit-Ganzzahl in Millimetern dargestellt, aber jetzt werden alle 16 Bit für die Darstellung der Tiefe verwendet. So ist ein maximaler Ausdrucksbereich von 8.191 mm bis 65.535 mm möglich.
- Die Depth API-Funktionsaufrufe
ArFrame_acquireDepthImage
undArFrame_acquireRawDepthImage
sind veraltet. Verwenden Sie stattdessenArFrame_acquireDepthImage16Bits
undArFrame_acquireRawDepthImage16Bits
.
- Die Funktionsaufrufe der Depth API haben sich geändert:
Unity (AR Foundation)
Neue ARCore Geospatial APIs:
AREarthManager
bietet die Möglichkeit zur Lokalisierung in erdbezogenen Koordinaten.EarthTrackingState
ruft den Tracking-Status von Earth für den letzten Frame ab.EarthState
behält die Fehlerbedingungen in Google Earth bei.
GeospatialPose
beschreibt einen bestimmten Ort, eine bestimmte Höhe und eine bestimmte Kompassrichtung relativ zur Erde.ARGeospatialAnchor
dient als Anker für Game-Objekte in Ihrer Szene, die an einem Ort und in einer Ausrichtung relativ zur Erde angegeben werden.
iOS
Neue ARCore Geospatial APIs:
GAREarth
Ermöglicht die standortbezogene Lokalisierung.GAREarthState.earthState
verwaltet Fehlerstatus und ‑bedingungen.GAREarthState.trackingState
behält den Tracking-Status bei, der für georäumliche Daten erforderlich ist.
GARGeospatialTransform
Eine Darstellung einer globalen Transformation, einschließlich Standort, Kurs, Höhe und Genauigkeitsschätzungen.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Erstellt einen geospatialen Anker an der angegebenen Position und Ausrichtung bezogen auf die Erde.
Sonstige Änderungen
Weitere Änderungen, Fehlerkorrekturen und Leistungsverbesserungen finden Sie in den Versionshinweisen:
- ARCore SDK for Android-Releasenotizen
- ARCore for Android NDK-Versionshinweise
- Versionshinweise zum ARCore SDK für iOS
- Versionshinweise zu ARCore-Erweiterungen für AR Foundation
Neu in ARCore v1.30.0
Diese Version enthält keine neuen Funktionen.
Android
- Annotierte API-Rückgabewerte mit
@NonNull
und@Nullable
- Die Versionen der Build-Tools, die zum Erstellen von Samples verwendet werden, wurden aktualisiert: Gradle auf 7.0.2 und das 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 Inkompatibilitäten finden Sie in der Android-Dokumentation zum Android-Gradle-Plug-in.
Unity (AR Foundation)
Neue
arcore-unity-extensions-without-edm4u.tgz
-Version hinzugefügt. Diese Releasevariante enthält keine externen Abhängigkeiten wie den External Dependency Manager für Unity und ermöglicht Upgrades auf EDM. Mit dieser Lite-Version können Inkompatibilitäten bei der Verwendung von Firebase-Bibliotheken behoben werden. Weitere Informationen finden Sie in der Installationsanleitung für ARCore-Erweiterungen für AR Foundation.ExternalDependencyManager auf Version 1.2.168 aktualisiert, um 2021.2 und höher besser zu unterstützen. Weitere Informationen finden Sie im Änderungsprotokoll für EDM.
Es wurde ein Problem behoben, bei dem die ARCore-Sitzung jeden Frame konfiguriert, auch wenn sich die Sitzungskonfiguration nicht ändert, was zu einem FPS-Drop führt.
iOS
- Verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
Neu in ARCore v1.29.0
Diese Version enthält keine neuen Funktionen.
Android
- hello_ar_java und hello_ar_kotlin: Die Farbe eines Objekts, das mit
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
platziert wird, wurde geändert, damit sich Objekte, die mit Instant Placement platziert werden, besser unterscheiden lassen. - persistent_cloud_anchor_java: Dem Beispiel wurde eine fehlende Build-Abhängigkeit hinzugefügt. Ein Fehler wurde behoben, bei dem jeder Anker den Status
CloudAnchorState ERROR_NOT_AUTHORIZED
hatte, auch wenn das Projekt richtig eingerichtet war.
Unity (AR Foundation)
- Das ARCore Extensions-Paket ist jetzt vom ARKit XR-Plug-in abhängig, damit die installierte AR Foundation-Version mit der ARKit XR-Plug-in-Version kompatibel ist. Dadurch wird ein Kompilierungsfehler behoben, der beim Installieren von ARCore-Erweiterungen in Unity 2019.x und Aktivieren des ARKit XR-Plug-ins auftritt.
- Die Projekteinstellungen für ARCore-Erweiterungen wurden von Projekteinstellungen > XR > ARCore-Erweiterungen zu Projekteinstellungen > XR-Plug-in-Verwaltung > ARCore-Erweiterungen verschoben.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
undARCoreRecordingConfig
wurden aus dem Menü Erstellen > XR > ARCore-Erweiterungen in das Menü Erstellen > XR verschoben.
iOS
- Verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
Vollständige Versionshinweise
- Vollständige Versionshinweise zum ARCore SDK für Android
- Vollständige Versionshinweise für ARCore for Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore-Erweiterungen für AR Foundation
Neu in ARCore v1.28.0
- Ab November 2022 können AR-fähige Apps keine NDK-Bilder oder Bildmetadaten mehr erfassen. Welche SDK-Versionen betroffen sind, hängt von der aufgerufenen Funktion ab. Weitere Informationen finden Sie in der Mitteilung zur Einstellung.
- C: Aufrufe von
ArImage_getNdkImage()
undArImage_getNdkCameraMetadata()
geben für dieAImage
- undACameraMetadata
-Objekte immernullptr
zurück. - Java: Das
Image
-Objekt, das vonFrame#acquireCameraImage()
zurückgegeben wird, hat eine Größe von0
×0
Pixeln. Aufrufe vonFrame#getImageMetadata()
werfen immerIllegalArgumentException
. - Unity (AR Foundation): Bei Verwendung von AR Foundation 2.1 (Unity 2019 LTS) wird bei Aufrufen von
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
immerfalse
zurückgegeben. AR Foundation 4.x und höher sind davon nicht betroffen. Aufrufe vonXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
verhalten sich normal. - ARCore SDK for Unity (veraltet): Aufrufe von
Frame.CameraImage.AcquireCameraImageBytes()
haben eine Größe von0
×0
Pixeln. Aufrufe vonFrame.CameraMetadata.GetAllCameraMetadataTags()
geben eine leereList<CameraMetadataTag>
zurück.
- C: Aufrufe von
- Java:
ArImage#getCropRect()
gibt jetzt ein Zuschneide-Rechteck in voller Größe zurück, d.h. alle Pixel im Bild sind gültig. Weitere Informationen finden Sie unterandroid.media.Image#getCropRect()
.
Neu in ARCore v1.27.0
Diese Version enthält keine neuen Funktionen. In den folgenden Versionshinweisen finden Sie verschiedene Fehlerkorrekturen und Leistungsverbesserungen.
- Vollständige Versionshinweise zum ARCore SDK für Android
- Vollständige Versionshinweise für ARCore for Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore-Erweiterungen für AR Foundation
Neben verschiedenen Fehlerkorrekturen enthält diese Version folgende Änderungen:
Beispielanwendungen 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
Diese Version enthält die folgenden wichtigen Änderungen:
- URIs werden jetzt für Datensätze unter Aufzeichnung und Wiedergabe unterstützt.
Weitere Änderungen und Updates
Weitere Informationen zu Fehlerbehebungen und anderen funktionsgefährdenden Änderungen finden Sie in den folgenden Versionshinweisen.
- Vollständige Versionshinweise zum ARCore SDK für Android
- Vollständige Versionshinweise für ARCore for Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Versionshinweise zu ARCore-Erweiterungen für AR Foundation
Neu in ARCore v1.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 für Android
- Vollständige Versionshinweise für ARCore for Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Vollständige Versionshinweise zum ARCore SDK for Unity
- Versionshinweise zu ARCore-Erweiterungen für AR Foundation
Neu in ARCore v1.24.0
Diese Version enthält die folgenden wichtigen Änderungen:
- Eine neue Raw Depth API, die ein Tiefenbild ohne Bildraumfilterung liefert
- Aufzeichnung von benutzerdefinierten Datentracks in der Recording & Playback API
- Möglichkeit zum Ausführen von Tiefentreffertests
Rohtiefe
Die Raw Depth API bietet Tiefendaten für ein Kamerabild mit höherer Genauigkeit als die Daten der Full Depth API, deckt aber nicht immer alle Pixel ab. Rohe Tiefenbilder können zusammen mit den zugehörigen Konfidenzbildern weiterverarbeitet werden. So können Apps nur die Tiefendaten verwenden, die für ihren individuellen Anwendungsfall ausreichend genau sind.
Entwicklerleitfäden:
Aufzeichnung von benutzerdefinierten Tracks
Mit der neuen Funktion für benutzerdefinierte Datentracks in der Recording & Playback API können Sie einem ARCore-Frame während der Aufnahme benutzerdefinierte Daten hinzufügen und dieseselben Daten während der Wiedergabe aus dem Frame abrufen.
Entwicklerleitfäden:
Tiefen-Treffertests
Bisher konnten Treffertests nur an erkannten Ebenen durchgeführt werden, was die Standorte auf große, flache Oberflächen beschränkte. Bei Tiefen-Treffertests werden sowohl glatte als auch Rohdaten für die Tiefe verwendet, um genauere Trefferergebnisse zu erzielen, auch auf nicht ebenen Oberflächen und Oberflächen mit wenig Textur.
Entwicklerleitfäden:
Weitere Änderungen und Updates
Weitere Informationen zu Fehlerbehebungen und anderen funktionsgefährdenden Änderungen finden Sie in den folgenden Versionshinweisen.
- Vollständige Versionshinweise zum ARCore SDK für Android
- Vollständige Versionshinweise für ARCore for Android NDK
- Vollständige Versionshinweise zum ARCore SDK for iOS
- Vollständige Versionshinweise zum ARCore SDK for Unity
- Versionshinweise zu ARCore-Erweiterungen für 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 einer Broadcast-Intent können Entwickler Folgendes aktivieren:
ARCore API-Aufrufprotokollierung im Android-Debugprotokoll
ARCore-Leistungs-Overlay
Cloud-Anchors hosten und auflösen
AR-fähige Apps, die mit dem ARCore SDK 1.11.0 oder niedriger erstellt wurden, können keine Cloud-Anchors mehr hosten oder auflösen.
C: Cloud-Anchors, die von
ArSession_hostAndAcquireNewCloudAnchor
undArSession_resolveAndAcquireNewCloudAnchor
zurückgegeben werden, haben immer den StatusAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: Cloud-Anchors, die von
Session.hostCloudAnchor(Anchor)
undSession.resolveCloudAnchor(String)
zurückgegeben werden, haben immer den StatusAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: Cloud-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 davon nicht betroffen. Die Nutzung der ARCore Cloud Anchor API unterliegt der Richtlinie zur Einstellung von Produkten und Diensten.
Weitere Änderungen und Updates
Weitere Fehlerkorrekturen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
Neu in ARCore v1.22.0
In diesem Release werden neue Aufzeichnungs- und Wiedergabe-APIs und Kamera-Konfigurationsfilter-APIs für ARCore-Erweiterungen für AR Foundation hinzugefügt. Weitere Informationen finden Sie in den vollständigen Versionshinweisen zu ARCore Extensions.
Weitere Änderungen und Updates
Weitere Fehlerkorrekturen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
Neu in ARCore v1.21.0
Diese Version enthält neue APIs für die Aufzeichnung und Wiedergabe für Android, Android NDK und Unity.
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 dann festlegen, dass Ihre App diese Daten anstelle einer Live-Kamerasitzung verwendet. So können Sie diese Inhalte unbegrenzt wiedergeben, um verschiedene AR-Effekte auszuprobieren, ohne noch einmal vor Ort sein zu müssen.
Weitere Informationen:
Java:
C:
Unity:
Neu in ARCore v1.20.0
Diese Version enthält die folgenden wichtigen Änderungen:
Neue Unterstützung für persistente Cloud-Markierungen.
Aktualisierte Funktionen für Bildmetadaten für Android und Android NDK.
Neue Hinweise, dass für die Unterstützung von 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 die Gradle-Version 5.6.4 oder höher erforderlich ist.
Neue Unterstützung für persistente Cloud-Markierungen
Vor ARCore v1.20 konnten Cloud-Anchors nur bis zu 24 Stunden nach dem Hosten aufgelöst werden. Mit persistenten Cloud-Anchors können Sie jetzt einen Cloud-Anchor mit einer Gültigkeitsdauer (Time to Live, TTL) zwischen einem und 365 Tagen erstellen. Sie können die Lebensdauer des Ankers auch nach dem Hosten mit der Cloud Anchor Management API verlängern.
Die Verwendung persistenter Cloud-Anchors ist von der neuen Richtlinie zur Einstellung von Cloud-Anchors abgedeckt.
C: Entwicklerleitfaden,
ArSession_hostAndAcquireNewCloudAnchorWithTtl
undArSession_estimateFeatureMapQualityForHosting
Java: Entwicklerleitfaden,
hostCloudAnchorWithTtl
undestimateFeatureMapQualityForHosting
iOS: Entwicklerleitfaden,
hostCloudAnchor:TTLDays:error:
undestimateFeatureMapQualityForHosting:
ARCore-Erweiterungen für AR Foundation: Entwicklerleitfaden für Android, Entwicklerleitfaden für iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
undARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
Unity-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
Weitere Fehlerkorrekturen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
Neu in ARCore v1.19.0
Diese Version enthält die folgenden wichtigen Änderungen:
- Neue Instant Placement API für Android, Android NDK und Unity.
- Neue Anleitungen zum Erstellen von Apps für Android 11 mit Unity.
Instant Placement
Mit der Instant Placement API kann der Nutzer ein AR-Objekt auf dem Bildschirm platzieren, ohne warten zu müssen, bis ARCore die Oberflächengeometrie erkennt. Die Objektplatzierung wird in Echtzeit optimiert, wenn sich der Nutzer in der Umgebung bewegt. Sobald ARCore die richtige Pose in der Region erkennt, in der das AR-Objekt platziert ist, wird das weiße Objekt automatisch so aktualisiert, dass es der Pose entspricht, und wird undurchsichtig.
Im folgenden Clip ist eine virtuelle Android-Figur auf einem echten Tisch zu sehen. Die Figur ist weiß und beim ersten Platzieren viel kleiner. Nachdem ARCore die Berechnungen der Szenendimensionen optimiert hat, springt die Figur an eine genauere Position. Dies kann zu einer Abweichung bei der wahrgenommenen Größe des Objekts führen.
Weitere Informationen:
Android:
Android NDK:
Unity:
Neu in ARCore v1.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-Reality-Assets für Gesichter und zum Importieren in Android Studio.
- Die Depth API wird in
4.1.0-preview.2
sowohl fürAR Foundation
als auch fürARCore XR Plugin
unterstützt.
Depth API
Auf Geräten mit Tiefensensor verwendet die Depth API die RGB-Kamera des ARCore-kompatiblen Geräts oder den aktiven Tiefensensor, falls verfügbar, um Tiefenkarten zu erstellen. Mithilfe der Pixels-zu-Tiefe-Informationen einer Tiefenkarte können Sie virtuelle Objekte dann genau vor oder hinter realen Objekten erscheinen lassen, um eine immersive und realistische Nutzererfahrung zu ermöglichen.
Die folgenden Bilder zeigen beispielsweise eine virtuelle Android-Figur in einem realen Raum mit einem Koffer neben einer Tür. Die Depth API blendet die Figur hinter dem Rand des Stamms korrekt aus.
Weitere Informationen:
Android:
Android NDK:
Unity:
Neu in ARCore v1.17.0
Neue Funktionen im ARCore SDK for Android
Es wurden neue Methoden hinzugefügt, mit denen mehrere Kameraframes gepuffert werden können. Zusammen mit anderen Techniken wie dem Multi-Thread-Rendering kann dies dazu beitragen, die Variabilität der Frameraten zu verringern.
Fehlende Nutzung des Tiefensensors und getter für die Ziel-FPS hinzugefügt:
Weitere Informationen finden Sie in den vollständigen Release-Notes zum Android SDK for Android.
Neue Funktionen im ARCore SDK für Unity
- In Unity-Version 2018.2 oder höher wird jetzt die Unterstützung für das mehrstufige Rendering unterstützt. Dadurch wird in den meisten Fällen die Leistung verbessert und die Variabilität der Frameraten kann verringert werden. Diese Einstellung ist eine Unity-Projekteinstellung und befindet sich unter Project Settings > Player > Android > Other Settings > Multithreaded Rendering. Weitere Informationen finden Sie im Entwicklerleitfaden.
SessionStatus.ErrorCameraNotAvailable
undSessionStatus.ErrorIllegalState
wurden hinzugefügt, um bestimmte Fehlerzustände von ARCore-Sitzungen anzugeben.
Weitere Informationen finden Sie in den vollständigen Versionshinweisen zum ARCore SDK for Unity.
Neue Funktionen im ARCore SDK für iOS
Die Binärgröße des Cloud Anchors SDK wurde erheblich reduziert.
Bitcode wird jetzt für Augmented Faces unterstützt.
Weitere Informationen finden Sie in den vollständigen Versionshinweisen zum ARCore SDK für iOS.
Neu in ARCore v1.16.0
Hervorzuheben im ARCore SDK for Android und Sceneform SDK for Android
Diese Version enthält die folgenden wichtigen Änderungen:
- Die meisten Geräte geben jetzt zusätzliche unterstützte Kamerakonfigurationen mit niedrigeren GPU-Texturauflösungen als die Standard-GPU-Texturauflösung des Geräts zurück.
Weitere Informationen finden Sie unter Geräte mit ARCore-Unterstützung.
Diese erweiterten GPU-Auflösungen sind über die
getSupportedCameraConfigs(CameraConfigFilter)
API verfügbar.
Siehe auch:
Wichtige Neuerungen in ARCore-Erweiterungen für AR Foundation
Diese Version enthält die folgenden wichtigen Änderungen:
Die
XRCameraConfiguration
von AR Foundation wurde um Methoden erweitert, mit denen Sie die geeignete Kamerakonfiguration anhand der gewünschten Kriterien auswählen können. Dazu gehören die Methoden GetTextureDimensions(), GetFPSRange() und GetDepthSensorUsages(). Eine detaillierte AnleitungUnity 2019.3.0f6 ist jetzt die 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 jetzt die Begriffe Anchor, Cloud Anchor und Cloud Anchor ID in ihrer plattformübergreifenden AR-API. Die Dokumentation zu ARCore-Erweiterungen wurde entsprechend aktualisiert.
Siehe auch:
Neue Funktionen im ARCore SDK für Unity
Diese Version enthält die folgende wichtige Änderung:
- Die meisten Geräte geben jetzt zusätzliche unterstützte Kamerakonfigurationen mit niedrigeren GPU-Texturauflösungen als die Standard-GPU-Texturauflösung des Geräts zurück. Weitere Informationen finden Sie unter Geräte mit ARCore-Unterstützung. Diese erweiterten GPU-Auflösungen sind über die ARCoreCameraConfigFilter API verfügbar.
Siehe auch:
Vollständige Versionshinweise zum ARCore SDK for Unity
Neu in ARCore v1.15.0
Wichtige Neuerungen in ARCore-Erweiterungen für AR Foundation
Diese Version enthält die folgenden wichtigen Änderungen.
Beispiel für CloudAnchors hinzugefügt, das zeigt, wie Sie gemeinsame AR-Erlebnisse für Android und iOS erstellen. Anleitung für Android oder iOS
Unity 2019.2.17f1 ist jetzt die Mindestversion, die für die Verwendung mit ARCore-Erweiterungen empfohlen wird.
Vollständige Versionshinweise zu ARCore-Erweiterungen
Neue Funktionen im ARCore SDK für Unity
Diese Version weist die folgenden bekannten Probleme auf.
Die Instant Preview kann bei Verwendung von Android 9 und einem USB 3-Kabel zu einem Absturz von Unity führen. Aktualisieren Sie Ihr Gerät auf Android 10 oder verwenden Sie ein USB 2-Kabel.
Die Instant-Vorschau wird möglicherweise nicht auf dem Gerät angezeigt, wenn die Auflösung der Spielansicht in Unity zu hoch ist. Sie können das Problem beheben, indem Sie die Auflösung der Spielansicht in Unity im Editor verringern.
Vollständige Versionshinweise zum ARCore SDK for Unity
Weitere Änderungen
Weitere Fehlerkorrekturen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
Neu in ARCore 1.14.0
Diese Version enthält die folgenden wichtigen Änderungen.
Wenn eine App die Kamera vorübergehend an eine andere App auf dem Gerät verliert, wird der Grund für den Trackingfehler jetzt genauer angegeben:
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
stattNone
.
Google erhebt und verarbeitet Daten, die Sie bei der Nutzung des ARCore-Erweiterungen-Pakets gemäß der Datenschutzerklärung von Google und den Nutzungsbedingungen für Google APIs zur Verfügung stellen. Sie können diese Funktion deaktivieren.
Neu in ARCore v1.13.0
Diese Version enthält die folgenden wichtigen Änderungen.
Unterstützung für die Verwendung von ARCore-Erweiterungen für Unitys AR Foundation zum Erstellen von iOS-Apps mit Cloud-Anchors.
Unterstützung für die HDR-Umgebungsbeleuchtungsschätzung in Sceneform.
Weitere Fehlerkorrekturen und andere funktionsgefährdende Änderungen finden Sie in den folgenden Versionshinweisen.
Neu in ARCore v1.12.0
Diese Version enthält die folgenden Änderungen:
Die Funktion „Augmented Reality-Gesichter“ wurde für iOS hinzugefügt. Weitere Informationen finden Sie in der Übersicht, in der Kurzanleitung und im Entwicklerleitfaden.
Unterstützung für die Verwendung von ARCore-Erweiterungen für Unitys AR Foundation zum Erstellen von Android-Apps mit Cloud-Anchors.
Die folgenden Änderungen an Cloud-Anchors:
- Um die aktualisierten Datenschutzanforderungen für die Verwendung von ARCore SDK 1.12 oder höher einzuhalten, müssen Sie die Verwendung von Cloud-Anchors in Ihrer App deutlich offenlegen. Fügen Sie dazu auf einem Hinweisbildschirm den folgenden Text sowie einen Link mit weiteren Informationen hinzu: „Zur Unterstützung dieser Sitzung verarbeitet Google visuelle Daten von Ihrer Kamera.“ Sie können dazu die empfohlene Vorgehensweise für die Nutzerhinweise implementieren, die in unseren Beispiel-Apps für Cloud-Anchors verfügbar ist.
Weitere Informationen finden Sie in den Anforderungen an den Datenschutz für Nutzer.
Weitere Informationen zu Cloud-Anchors:
Android:
Android NDK:
iOS:
Unity:
ARCore-Erweiterungen:
Neu in ARCore v1.11.0
Diese Version enthält die folgenden Änderungen:
Der ARCore-Dienst wurde in Google Play-Dienste für AR umbenannt. Auf Google Play-Geräten wird es jetzt als Teil der Google Play-Dienste 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 haben. Mit den neuen Kamerakonfigurationsfiltern können Sie die Framerate der Kameraaufnahme auf 30 fps begrenzen, ARCore daran hindern, einen Tiefensensor zu verwenden, oder nach beiden Optionen filtern.
Weitere Informationen zu Kamerakonfigurationen:
Android:
Android NDK:
Unity:
Neu in ARCore 1.10.0
In dieser Version werden der Lighting Estimation API für Android, Android NDK und Unity neue Funktionen zur Schätzung der Umgebungs-HDR-Beleuchtung hinzugefügt.
Bei diesen APIs wird maschinelles Lernen verwendet, um das Kamerabild zu analysieren und die Umgebungsbeleuchtung zu schätzen. Mit diesen Daten zur Lichtschätzung können Sie eine extrem realistische Beleuchtung rendern, einschließlich eines primären Richtungslichts, Schatten, Umgebungslicht, Glanzlichtern und Reflexionen auf virtuellen Objekten. Das Ergebnis sind virtuelle Inhalte, die realistischer wirken.
Weitere Informationen:
Android:
Android NDK:
Unity:
Neu in ARCore v1.9.0
Neu im ARCore SDK for Android
Diese Version enthält die folgenden neuen APIs und Funktionen:
Der Szenen-Viewer ist ein immersiver Viewer, der AR-Inhalte auf Ihrer Website ermöglicht. Nutzer von Android-Mobilgeräten können damit webhostete 3D-Modelle ganz einfach in ihrer Umgebung platzieren, ansehen und damit interagieren.
Neue Funktionen für Augmented Reality-Bilder:
ARCore kann jetzt bewegte Augmented Reality-Bilder verfolgen. Beispiele für bewegte Bilder sind eine Werbung auf einem vorbeifahrenden Bus oder ein Bild auf einem flachen Objekt, das ein Nutzer in der Hand hält und dabei bewegt.
Nachdem ein Bild erkannt wurde, kann ARCore die Position und Ausrichtung des Bildes weiter verfolgen, auch wenn es vorübergehend nicht mehr im Kamerabild zu sehen ist.
Mit
AugmentedImage#getTrackingMethod()
(Java) oderArAugmentedImage_getTrackingMethod()
(NDK) können Sie feststellen, ob das Augmented Reality-Bild derzeit von der Kamera (FULL_TRACKING
) oder anhand seiner letzten bekannten Position (LAST_KNOWN_POSE
) verfolgt wird.
Die Dokumentation zu Cloud Anchors enthält jetzt eine detailliertere Erläuterung dazu, wie Anker gehostet und aufgelöst werden.
Neu im ARCore SDK for Unity
Neue Funktionen für Augmented Reality-Bilder:
ARCore kann jetzt bewegte Augmented Reality-Bilder verfolgen. Beispiele für bewegte Bilder sind eine Werbung auf einem vorbeifahrenden Bus oder ein Bild auf einem flachen Objekt, das ein Nutzer in der Hand hält und bewegt.
Nachdem ein Bild erkannt wurde, kann ARCore die Position und Ausrichtung des Bildes weiter verfolgen, auch wenn es vorübergehend nicht mehr im Kamerabild zu sehen ist.
Mit der neuen
AugmentedImage.GetTrackingMethod()
API kann Ihre App ermitteln, ob das Augmented Reality-Bild derzeit von der Kamera (FullTracking
) oder anhand seiner letzten bekannten Position (LastKnownPose
) verfolgt wird.
Die Dokumentation zu Cloud Anchors enthält jetzt eine detailliertere Erläuterung dazu, 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 3. Generation
Die Dokumentation zu Cloud Anchors enthält jetzt eine detailliertere Erläuterung dazu, wie Anker gehostet und aufgelöst werden.