Nouveautés et modifications importantes dans ARCore
Nouveautés de la version 1.48.0 d'ARCore
Compatibilité complète avec Unity 6 et AR Foundation 6
Les extensions ARCore pour AR Foundation d'Unity sont désormais compatibles avec AR Foundation 6. Utilisez les méthodes d'installation suivantes pour obtenir une version compatible d'Extensions ARCore pour AR Foundation:
- Valable jusqu'au
Add package from git url...
: utilisezhttps://github.com/google-ar/arcore-unity-extensions.git#arf6
, - Via
Add package from tarball...
: utilisez une version indiquée pararf6
sur la page des versions.
Pour passer d'AR Foundation 5 à AR Foundation 6, consultez le guide suivant.
Modifications destructives et de comportement
- Le SDK n'est plus compatible avec les cibles de déploiement pour les versions iOS antérieures à 13.0
Nouveautés de la version 1.47.0 d'ARCore
Prise en charge bêta d'Unity 6 et d'AR Foundation 6
Les extensions ARCore pour AR Foundation d'Unity sont désormais compatibles avec la version bêta d'AR Foundation 6 pour prendre en charge Unity 6. Utilisez les méthodes d'installation suivantes pour obtenir une version compatible d'Extensions ARCore pour AR Foundation:
- Valable jusqu'au
Add package from git url...
: utilisezhttps://github.com/google-ar/arcore-unity-extensions.git#arf6
, - Via
Add package from tarball...
: utilisez une version indiquée pararf6
sur la page des versions.
Pour passer d'AR Foundation 5 à AR Foundation 6, consultez le guide suivant.
Correction de bugs
- Correction du fait que le plan de l'exemple d'ancrage dans le cloud n'était pas transparent pour Unity 6
Autres modifications
- La branche
main
du dépôt GitHub des extensions ARCore a été modifiée pour suivre la branchearf5
.
Nouveautés de la version 1.46.0 d'ARCore
Modifications apportées à targetSdkVersion
du SDK ARCore
targetSdkVersion
d'ARCore a été mis à niveau vers le niveau d'API Android 35. Si votre application ne spécifie pas de targetSdkVersion
, le targetSdkVersion
de votre application deviendra 35 en raison de la fusion de fichiers manifestes.
Pour Unity, spécifier un niveau d'API cible dans Project Settings > Player > Android > Other Settings (Paramètres du projet > Lecteur > Android > Autres paramètres) de votre projet Unity remplace la valeur targetSdkVersion
d'ARCore.
Nouveautés de la version 1.45.0 d'ARCore
API Flash Mode
ARCore permet désormais d'activer le mode lampe de poche de l'appareil, ce qui offre de meilleures capacités de perception dans les environnements sombres.
Config.FlashMode
: option de configuration permettant d'activer ou de désactiver le flash de l'appareil.- Pour savoir comment détecter les fonctionnalités de flash et activer le mode lampe de poche, consultez le guide du développeur.
ArFlashMode
: option de configuration permettant d'activer ou de désactiver le flash de l'appareil.- Pour savoir comment détecter les fonctionnalités de flash et activer le mode lampe de poche, consultez le guide du développeur.
Les extensions ARCore pour AR Foundation d'Unity sont compatibles avec AR Foundation 5
Les extensions ARCore pour AR Foundation sont désormais officiellement compatibles avec AR Foundation 5. Lorsque vous utilisez AR Foundation 5 (version validée sur les versions Unity 2022 et 2023), utilisez les méthodes d'installation suivantes pour obtenir une version compatible des extensions ARCore pour AR Foundation:
- Jusqu'au
Add package from git url...
: utilisezhttps://github.com/google-ar/arcore-unity-extensions.git#arf5
, - Via
Add package from tarball...
: utilisez une version indiquée pararf5
sur la page des versions.
Les projets qui restent sur la version 4 d'AR Foundation peuvent utiliser les méthodes d'installation suivantes:
- Jusqu'au
Add package from git url...
: utilisezhttps://github.com/google-ar/arcore-unity-extensions.git#arf4
, - Via
Add package from tarball...
: utilisez une version indiquée pararf4
sur la page des versions.
Pour passer de la version 4 d'AR Foundation à la version 5, consultez le guide de migration.
Les symboles de script personnalisés tels que ARCORE_USE_ARF_5
de la version bêta ne sont plus utilisés.
Nouveautés de la version 1.44.0 d'ARCore
Cette version ne comporte aucune nouvelle fonctionnalité.
Nouveautés de la version 1.43.0 d'ARCore
API Places dans la migration de Geospatial Creator
La fonction de recherche de Geospatial Creator utilise désormais la nouvelle API Places de Google. Pour utiliser la fonctionnalité de recherche, activez l'API Places (nouvelle version) dans la console Google Cloud.
Nouveautés de la version 1.42.0 d'ARCore
Ancrer à la carte dans Geospatial Creator pour Unity
Un bouton "Aligner sur la carte" a été ajouté au panneau de l'outil d'inspection de l'éditeur ARGeospatialCreatorAnchor
. Ce bouton définit la valeur d'altitude d'un ancrage de terrain ou de toit (pour l'éditeur uniquement) en haut d'une géométrie de tuile 3D à la latitude et à la longitude actuelles de l'ancrage. Notez que cette propriété n'a aucune incidence sur le comportement au moment de l'exécution. Cela permet d'ajuster la position de l'ancre dans l'éditeur pour qu'elle corresponde à sa position au moment de l'exécution.
Nouveautés de la version 1.41.0 d'ARCore
API Geospatial Creator
Geospatial Creator pour Unity permet désormais de créer et de manipuler des objets Geospatial Creator en mode Éditeur. Les classes et API nouvellement disponibles sont décrites dans le guide de l'API Geospatial Creator.
Compatibilité avec les versions 5.x d'AR Foundation (bêta)
Les extensions ARCore pour AR Foundation d'Unity sont désormais compatibles avec les versions 5.x d'AR Foundation. Pour migrer un projet existant vers AR Foundation, consultez le guide de migration.
Nouveautés de la version 1.40.0 d'ARCore
Sémantique de scène sur iOS
L'API Scene Semantics est désormais disponible dans le SDK ARCore pour iOS, ainsi que dans les extensions ARCore pour AR Foundation d'Unity ciblant la plate-forme iOS. L'API Scene Semantics permet aux développeurs de comprendre la scène entourant l'utilisateur en temps réel, en classant les pixels en 11 classes de composants extérieurs. Pour en savoir plus, consultez la section Présentation des sémantiques de scène.
Rechercher des points d'intérêt dans Geospatial Creator pour Unity
Geospatial Creator pour Unity prend désormais en charge une recherche textuelle pour positionner la vue des cartes 3D photographiques. Pour en savoir plus, consultez Rechercher des points d'intérêt dans Geospatial Creator.
Nouveautés de la version 1.39.0 d'ARCore
Cette version ne comporte aucune nouvelle fonctionnalité.
Nouveautés de la version 1.38.0 d'ARCore
Cette version ne comporte aucune nouvelle fonctionnalité.
Nouveautés de la version 1.37.0 d'ARCore
Sémantique de scène
Scene Semantics fournit des informations plus détaillées sur la scène environnante, ce qui permet de mieux comprendre l'environnement de l'utilisateur. Scene Semantics exécute un modèle de ML sur le flux d'images de la caméra et fournit une image sémantique, chaque pixel correspondant à l'un des 11 libellés de concepts extérieurs.
Pour en savoir plus, consultez Présentation de la sémantique de scène et l'application exemple semantics_java.
Consultez Nouveautés d'ARCore v1.40.0.
Streetscape Geometry
Streetscape Geometry est une nouvelle API Geospatial ARCore qui fournit la géométrie des bâtiments et du terrain dans une zone autour de l'utilisateur lorsque l'API Geospatial est activée.
Consultez le guide du développeur pour l'API Streetscape Geometry (Kotlin/Java). De plus, l'exemple d'application geospatial_java a été mis à jour pour inclure la géométrie du paysage urbain.
Pour en savoir plus, consultez le guide du développeur pour l'API Streetscape Geometry (C).
Pour en savoir plus, consultez le guide du développeur pour l'API Streetscape Geometry (Unity).
Pour en savoir plus, consultez le guide du développeur pour l'API Streetscape Geometry (iOS). De plus, l'application GeospatialExample a été mise à jour pour inclure Streetscape Geometry.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
fournit des maillages 3D.GARStreetscapeGeometry.meshTransform
fournit la transformation de l'origine de la géométrie par rapport à l'espace mondial de la session.GARStreetscapeGeometry.trackingState
conserve l'état de suivi.GARStreetscapeGeometry.type
indique s'il s'agit d'une géométrie de terrain ou d'un bâtiment.GARStreetscapeGeometry.quality
indique la qualité de la géométrie.GARStreetscapeGeometry.identifier
fournit l'identifiant unique de la géométrie.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
crée un ancrage à l'emplacement et à l'orientation spécifiés.GARSession.raycastStreetscapeGeometry:direction:error:
effectue un raycast sur la géométrie du paysage urbain chargée dans la scène.
Ancrages sur le toit
Les repères sur toit sont un nouveau type d'ancrage géospatial qui vous permet d'ancrer des contenus sur un toit.
Consultez Ancrages géospatiaux (Java). De plus, l'application exemple geospatial_java a été mise à jour pour inclure des ancrages sur le toit.
Pour en savoir plus, consultez Ancrages géospatiaux (C).
Pour en savoir plus, consultez la section Ancrages géospatiaux. De plus, l'exemple Geospatial a été mis à jour pour inclure des ancrages sur le toit.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
fournit une ancre pour les objets de jeu de votre scène à la latitude, à la longitude, à l'altitude au-dessus du toit et à l'orientation spécifiées.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
Pour en savoir plus, consultez Ancrages géospatiaux (iOS). De plus, l'application GeospatialExample a été mise à jour pour inclure des ancrages sur le toit.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
crée un ancrage de toit à l'emplacement spécifié, à une altitude au-dessus du toit en mètres et avec une orientation par rapport à la Terre.GARCreateAnchorOnRooftopFuture
contient l'état asynchrone de la résolution d'une ancre de toit-terrasse.GARRooftopAnchorState
décrit l'état de résolution d'un ancrage sur un toit.
Geospatial Depth
Lorsque les modes API Depth et Streetscape Geometry sont activés dans une session ARCore dans des zones couvertes par le VPS, les images de profondeur générées sont améliorées à l'aide de Streetscape Geometry. La géométrie du paysage urbain est intégrée à chaque image de profondeur générée jusqu'à une portée de 65,535 mètres. Aucune modification n'est nécessaire lorsque vous appelez l'API Depth pour profiter de cet avantage.
Pour en savoir plus, consultez Profondeur géospatiale (Java).
Pour en savoir plus, consultez la section Profondeur géospatiale (C).
Pour en savoir plus, consultez la section Profondeur géospatiale (C).
La sémantique de scène n'est actuellement pas disponible pour iOS.
Prise en charge du rendu Vulkan
ARCore est désormais compatible avec le rendu Vulkan en exposant l'image de la caméra via un AHardwareBuffer
. Vous pouvez utiliser ce tampon matériel en le liant à un VkImage
.
Pour en savoir plus, consultez Affichage de votre application ARCore à l'aide de Vulkan et l'exemple d'application hello_ar_vulkan_c.
Le rendu Vulkan n'est actuellement pas disponible pour Unity avec AR Foundation.
Stabilisation électronique de l'image (EIS)
Vous pouvez configurer ARCore pour qu'il utilise la stabilisation d'image électronique, qui lisse les images de la caméra pour une expérience utilisateur plus fluide.
Pour en savoir plus, consultez Activer la stabilisation électronique de l'image et l'application exemple hello_eis_kotlin.
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- Il existe un problème connu selon lequel l'appel de
Frame.transformCoordinates3d()
avec des coordonnées 2D autres queOPENGL_NORMALIZED_DEVICE_COORDINATES
provoque un plantage au lieu de générer une exceptionIllegalArgumentException
. Ce problème sera résolu dans la version suivante.
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- Un problème connu fait que l'appel de
ArFrame_transformCoordinates3d()
avec des coordonnées 2D autres queAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
entraîne l'arrêt de votre application au lieu de renvoyerAR_ERROR_INVALID_ARGUMENT
. Ce problème sera résolu dans la version suivante.
L'EIS n'est actuellement pas disponible pour Unity avec AR Foundation.
L'EIS n'est actuellement pas disponible pour iOS.
API asynchrones ARCore
Cette version introduit de nouvelles API asynchrones ARCore pour améliorer l'ergonomie lors de l'utilisation d'opérations asynchrones, conformément au paradigme Future et Promise.
- Résolution des ancres de terrain: utilisez
Earth.resolveAnchorOnTerrainAsync()
pour obtenir unResolveAnchorOnTerrainFuture
. L'ancien symboleEarth.resolveAnchorOnTerrain()
est obsolète et peut être supprimé dans une version ultérieure d'ARCore. - Résoudre des ancres cloud: utilisez
Session.resolveCloudAnchorAsync()
pour obtenir unResolveCloudAnchorFuture
. L'ancien symboleSession.resolveCloudAnchor()
est obsolète et peut être supprimé dans une version ultérieure d'ARCore. - Hébergement d'ancres cloud: utilisez
Session.hostCloudAnchorAsync()
pour obtenir unHostCloudAnchorFuture
. Les anciens symbolesSession.hostCloudAnchor()
etSession.hostCloudAnchorWithTtl()
sont obsolètes et peuvent être supprimés dans une version ultérieure d'ARCore. - Vérifiez la disponibilité de l'APK: utilisez
ArCoreApk.checkAvailabilityAsync()
pour enregistrer un rappel. L'ancien symboleArCoreApk.checkAvailability()
n'a pas été abandonné.
- Résolution des ancrages de terrain: utilisez
ArEarth_resolveAnchorOnTerrainAsync()
pour obtenir unArResolveAnchorOnTerrainFuture
ouArResolveAnchorOnTerrainCallback
. L'ancien symboleArEarth_resolveAndAcquireNewAnchorOnTerrain()
est obsolète et peut être supprimé dans une version ultérieure d'ARCore. - Résolution des ancres cloud: utilisez
ArSession_resolveCloudAnchorAsync()
pour obtenir unArResolveCloudAnchorFuture
ouArResolveCloudAnchorCallback
. L'ancien symboleArSession_resolveAndAcquireNewCloudAnchor()
est obsolète et peut être supprimé dans une version ultérieure d'ARCore. - Hébergement d'ancrages Cloud: utilisez
ArSession_hostCloudAnchorAsync()
pour obtenir unArHostCloudAnchorFuture
ouArHostCloudAnchorCallback
. Les anciens symbolesArSession_hostAndAcquireNewCloudAnchor()
etArSession_hostAndAcquireNewCloudAnchorWithTtl()
sont obsolètes et peuvent être supprimés dans une version ultérieure d'ARCore. - Vérifiez la disponibilité de l'APK: utilisez
ArCoreApk_checkAvailabilityAsync()
pour enregistrer un rappel. L'ancien symboleArCoreApk_checkAvailability()
n'a pas été abandonné.
- Résolution des ancres de terrain: utilisez
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
pour obtenir unResolveAnchorOnTerrainPromise
. L'ancien symboleARAnchorManagerExtensions.ResolveAnchorOnTerrain()
est obsolète et peut être supprimé dans une version ultérieure d'ARCore. - Résoudre des ancres cloud: utilisez
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
pour obtenir unResolveCloudAnchorPromise
. L'ancien symboleARAnchorManagerExtensions.ResolveCloudAnchorId()
est obsolète et peut être supprimé dans une version ultérieure d'ARCore. - Hébergement d'ancres cloud: utilisez
ARAnchorManagerExtensions.HostCloudAnchorAsync()
pour obtenir unHostCloudAnchorPromise
. Les anciens symbolesARAnchorManagerExtensions.HostCloudAnchor()
sont obsolètes et peuvent être supprimés dans une version ultérieure d'ARCore.
- Résolution des ancres de terrain: utilisez
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
pour obtenir unGARCreateAnchorOnTerrainFuture
. L'ancien symboleGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
est obsolète et peut être supprimé dans une version ultérieure d'ARCore. - Résoudre des ancres cloud: utilisez
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
pour obtenir unGARResolveCloudAnchorFuture
. L'ancien symboleGARSession.resolveCloudAnchorWithIdentifier:error:
est obsolète et peut être supprimé dans une version ultérieure d'ARCore. - Hébergement d'ancres cloud: utilisez
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
pour obtenir unGARHostCloudAnchorFuture
. Les anciens symbolesGARSession.hostCloudAnchor:error:
etGARSession.hostCloudAnchor:TTLDays:error:
sont obsolètes et peuvent être supprimés dans une version ultérieure d'ARCore.
Nouveautés de la version 1.36.0 d'ARCore
Compatibilité avec Swift Package Manager sur iOS
Le SDK ARCore pour iOS est désormais officiellement compatible avec Swift Package Manager. Consultez Activer la RA dans votre application iOS pour savoir comment intégrer ARCore à l'aide de Swift Package Manager.
Nouveautés de la version 1.35.0 d'ARCore
La précision de la position géospatiale remplace le cap par le lacet
Toutes les poses géospatiales exposent désormais la précision d'orientation de la rotation de l'axe de lacet, remplaçant la précision de cap.
- Java/Kotlin: remplacez
GeospatialPose.getHeading()
parGeospatialPose.getEastUpSouthQuaternion()
etGeospatialPose.getHeadingAccuracy()
parGeospatialPose.getOrientationYawAccuracy()
. - C: Remplacez
ArGeospatialPose_getHeading()
parArGeospatialPose_getEastUpSouthQuaternion()
etArGeospatialPose_getHeadingAccuracy()
parArGeospatialPose_getOrientationYawAccuracy()
. - iOS: remplacez
GARGeospatialTransform.heading
parGARGeospatialTransform.eastUpSouthQTarget
etGARGeospatialTransform.headingAccuracy
parGARGeospatialTransform.orientationYawAccuracy
. - Unity: remplacez
GeospatialPose.Heading
parGeospatialPose.EunRotation
etGeospatialPose.HeadingAccuracy
parGeospatialPose.OrientationYawAccuracy
.
Autres modifications et mises à jour
Pour en savoir plus sur les autres modifications, les corrections de bugs et les améliorations des performances, consultez les notes de version:
- Notes de version du SDK ARCore pour Android
- Notes de version d'ARCore pour le NDK Android
- Notes de version du SDK ARCore pour iOS
- Notes de version des extensions ARCore pour AR Foundation
Nouveautés de la version 1.34.0 d'ARCore
Vérifier si les fonctionnalités géospatiales sont disponibles à l'emplacement actuel de l'appareil
L'API Geospatial peut désormais vérifier la disponibilité du système VPS (Visual Positioning System) à une position horizontale spécifiée au moment de l'exécution. Cette API peut être utilisée sans session de RA active, par exemple pour afficher un bouton "Accéder à la RA" uniquement lorsque la VPS est disponible.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Orientation de la pose géospatiale
Les poses géospatiales affichent désormais leur orientation dans l'espace 3D.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Conversions de poses géospatiales
Les poses géospatiales peuvent désormais être converties en poses dans l'espace mondial (RA) et inversement.
Pour obtenir la pose Geospatial à partir d'une pose RA:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
Pour obtenir la pose RA à partir d'une pose Geospatial Creator:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
La valeur du cap des positions géospatiales obtenues à partir de ces fonctions est définie sur zéro. Utilisez plutôt ce qui suit:
- Android (Java/Kotlin/C): quaternion EUS de la pose
- iOS:
eastUpSouthQTarget
de la pose - Unity:
EunRotation
de la pose
Autres modifications et mises à jour
Pour en savoir plus sur les autres modifications, les corrections de bugs et les améliorations des performances, consultez les notes de version:
- Notes de version du SDK ARCore pour Android
- Notes de version d'ARCore pour le NDK Android
- Notes de version du SDK ARCore pour iOS
- Notes de version des extensions ARCore pour AR Foundation
Nouveautés de la version 1.33.0 d'ARCore
Nouveau point de terminaison Cloud Anchors
- Pour utiliser les ancres cloud, vous devez désormais activer l'API ARCore au lieu de l'ancienne API ARCore Cloud Anchor, qui est désormais obsolète. Pour prendre en charge les anciennes versions de l'application, vous pouvez activer les deux pendant la transition. Les applications créées avec le SDK ARCore 1.32.0 ou version antérieure cibleront l'ancienne API, tandis que celles créées avec le SDK ARCore 1.33.0 ou version ultérieure cibleront la nouvelle API. Remarques :
- La nouvelle API utilise le nom de domaine
arcore.googleapis.com
au lieu dearcorecloudanchor.googleapis.com
. - Si vous utilisez une clé API limitée par l'API, vous devez autoriser l'API ARCore.
- Si vous envoyez des requêtes à l'API ARCore Cloud Anchor Management depuis votre backend, vous devez également remplacer le nom de domaine par
arcore.googleapis.com
après avoir activé l'API ARCore. - L'ancienne API/point de terminaison continuera d'être prise en charge jusqu'en août 2023.
- Pour en savoir plus, consultez Modifications apportées au point de terminaison Cloud Anchor d'ARCore 1.33.
- La nouvelle API utilise le nom de domaine
Ancrages de terrain
- L'API Geospatial Terrain anchor crée un ancrage à une position horizontale et une altitude spécifiées par rapport au terrain de la position horizontale.
Autres modifications et mises à jour
Pour en savoir plus sur les autres modifications, les corrections de bugs et les améliorations des performances, consultez les notes de version:
- Notes de version du SDK ARCore pour Android
- Notes de version d'ARCore pour le NDK Android
- Notes de version du SDK ARCore pour iOS
- Notes de version des extensions ARCore pour AR Foundation
Nouveautés de la version 1.32.0 d'ARCore
Cette version ne comporte aucune nouvelle fonctionnalité.
Android et Unity (AR Foundation) pour Android
targetSdkVersion
d'ARCore a été mis à jour vers le niveau d'API Android 32. Si votre application ne spécifie pas detargetSdkVersion
, letargetSdkVersion
de votre application deviendra 32 en raison de la fusion de fichiers manifestes.- SDK Android: spécifier un
targetSdkVersion
dans le fichierbuild.gradle
ouAndroidManifest.xml
de votre projet remplace la valeurtargetSdkVersion
d'ARCore. - AR Foundation pour Android: spécifier un niveau d'API cible dans Project Settings > Player > Android > Other Settings (Paramètres du projet > Lecteur > Android > Autres paramètres) de votre projet Unity remplace la valeur
targetSdkVersion
d'ARCore.
- SDK Android: spécifier un
Autres modifications et mises à jour
Pour en savoir plus sur les autres modifications, les corrections de bugs et les améliorations des performances, consultez les notes de version:
- Notes de version du SDK ARCore pour Android
- Notes de version d'ARCore pour le NDK Android
- Notes de version du SDK ARCore pour iOS
- Notes de version des extensions ARCore pour AR Foundation
Nouveautés de la version 1.31.0 d'ARCore
API ARCore Geospatial
La nouvelle API ARCore Geospatial utilise les données des modèles 3D Google Earth et les données d'image Street View de Google Maps pour permettre à votre application de proposer des expériences de réalité augmentée immersives, à l'échelle mondiale et basées sur la localisation.
Consultez la page Présentation de l'API Geospatial ARCore pour obtenir la documentation destinée aux développeurs spécifique à la plate-forme et commencer à utiliser la nouvelle API Geospatial.
Profondeur de longue portée
L'API ARCore Depth est désormais optimisée pour inclure la détection de profondeur à plus longue portée, ce qui augmente la plage d'observations de profondeur pouvant être représentées. Tous les 16 bits de l'image de profondeur sont utilisés, ce qui offre une portée maximale de 65 535 millimètres. Auparavant, seuls 13 bits étaient renseignés, avec une limite de 8 191 millimètres.
Consultez la section Modifications apportées à Depth pour obtenir la documentation destinée aux développeurs spécifique à la plate-forme et comprendre les modifications apportées à l'API Depth.
Remarques spécifiques à la plate-forme
Android
Nouvelles API ARCore Geospatial
Java
Earth
offre une fonctionnalité de localisation en coordonnées relatives à la Terre.Earth.createAnchor()
crée unAnchor
à l'emplacement et à l'orientation spécifiés par rapport à la Terre.
Earth.Earthstate
décrit l'état actuel deEarth
, y compris sonTrackingState
.GeospatialPose
décrit un emplacement, une altitude et un cap spécifique par rapport à la Terre.
C
ArEarth
permet de localiser un objet en coordonnées terrestres.ArEarth_acquireNewAnchor()
crée unAnchor
à l'emplacement et à l'orientation spécifiés par rapport à la Terre.ArEarthState
décrit l'état actuel deArEarth
, y compris sonArTrackingState
.
ArGeospatialPose
décrit un emplacement, une altitude et un cap spécifique par rapport à la Terre.
Mise à jour des API ARCore Depth
Java
- Les appels de fonction de l'API Depth ont changé :
Frame.acquireDepthImage
àFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
àFrame.acquireRawDepthImage16Bits
.- Les formats d'image de sortie des deux appels sont passés de
android.graphics.ImageFormat#DEPTH16
àandroid.hardware.HardwareBuffer#D_16
. - La profondeur est toujours représentée sous la forme d'un entier 16 bits en millimètres, mais tous les 16 bits sont désormais utilisés pour représenter la profondeur, ce qui permet d'obtenir une plage maximale exprimable allant de 8 191 mm à 65 535 mm.
- Les appels de fonction de l'API Depth
Frame.acquireDepthImage
etFrame.acquireRawDepthImage
sont obsolètes. Veuillez utiliserFrame.acquireDepthImage16Bits
etFrame.acquireRawDepthImage16Bits
à la place.
- Les appels de fonction de l'API Depth ont changé :
C
- Les appels de fonction de l'API Depth ont changé :
ArFrame_acquireDepthImage
àArFrame_acquireDepthImage16Bits
.- De
ArFrame_acquireRawDepthImage
àArFrame_acquireRawDepthImage16Bits
- Les formats d'image de sortie des deux appels sont passés de
AR_IMAGE_FORMAT_DEPTH16
àAR_IMAGE_FORMAT_D_16
. - La profondeur est toujours représentée sous la forme d'un entier 16 bits en millimètres, mais tous les 16 bits sont désormais utilisés pour représenter la profondeur, ce qui permet d'obtenir une plage maximale exprimable allant de 8 191 mm à 65 535 mm.
- Les appels de fonction de l'API Depth
ArFrame_acquireDepthImage
etArFrame_acquireRawDepthImage
sont obsolètes. Veuillez utiliserArFrame_acquireDepthImage16Bits
etArFrame_acquireRawDepthImage16Bits
à la place.
- Les appels de fonction de l'API Depth ont changé :
Unity (AR Foundation)
Nouvelles API ARCore Geospatial:
AREarthManager
permet de localiser un objet en coordonnées terrestres.EarthTrackingState
obtient l'état de suivi de la Terre pour le dernier frame.EarthState
conserve les conditions d'erreur Earth.
GeospatialPose
décrit un emplacement, une altitude et un cap spécifiques par rapport à la Terre.ARGeospatialAnchor
fournit un ancrage pour les objets de jeu de votre scène, spécifié à un emplacement et à une orientation par rapport à la Terre.
iOS
Nouvelles API ARCore Geospatial:
GAREarth
Fournit une localisation par rapport à la Terre.GAREarthState.earthState
gère les états et les conditions d'erreur.GAREarthState.trackingState
conserve l'état de suivi, qui est requis pour les données géospatiales.
GARGeospatialTransform
Représentation d'une transformation globale, y compris l'emplacement, le cap, l'altitude et les estimations de précision.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Crée un ancrage géospatial à l'emplacement et à l'orientation spécifiés par rapport à la Terre.
Autres modifications
Pour en savoir plus sur les autres modifications, les corrections de bugs et les améliorations des performances, consultez les notes de version:
- Notes de version du SDK ARCore pour Android
- Notes de version d'ARCore pour le NDK Android
- Notes de version du SDK ARCore pour iOS
- Notes de version des extensions ARCore pour AR Foundation
Nouveautés de la version 1.30.0 d'ARCore
Cette version ne comporte aucune nouvelle fonctionnalité.
Android
- Valeurs renvoyées par l'API annotées avec
@NonNull
et@Nullable
. - Mise à jour des versions des outils de compilation utilisées pour créer des exemples: Gradle vers la version 7.0.2 et le plug-in Android Gradle vers la version 7.0.4. La mise à niveau de ces outils n'est pas requise pour les applications ARCore existantes. Pour en savoir plus sur les nouvelles fonctionnalités, les problèmes connus et les informations d'incompatibilité, consultez la documentation Android sur le plug-in Android Gradle.
Unity (AR Foundation)
Ajout d'une nouvelle version
arcore-unity-extensions-without-edm4u.tgz
. Cette variante de version ne regroupe pas les dépendances externes telles que le Gestionnaire de dépendances externes pour Unity et permet les mises à niveau vers EDM. L'utilisation de cette version allégée peut résoudre les incompatibilités lors de l'utilisation des bibliothèques Firebase. Pour commencer, consultez les instructions d'installation des extensions ARCore pour AR Foundation.Mise à niveau d'ExternalDependencyManager vers la version 1.2.168 pour une meilleure compatibilité avec la version 2021.2 et ultérieures. Pour en savoir plus, consultez le journal des modifications d'EDM.
Correction du problème qui entraînait la configuration de chaque frame par la session ARCore, même en l'absence de modification de la configuration de la session, ce qui entraînait une baisse des FPS.
iOS
- Correction de plusieurs bugs et amélioration des performances.
Nouveautés de la version 1.29.0 d'ARCore
Cette version ne comporte aucune nouvelle fonctionnalité.
Android
- hello_ar_java et hello_ar_kotlin: modification de la couleur d'un objet lorsqu'il est placé à l'aide de
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
pour mieux distinguer les objets placés à l'aide de l'emplacement instantané. - persistent_cloud_anchor_java: dépendance de compilation manquante ajoutée à l'exemple. Correction d'un bug qui entraînait l'état
CloudAnchorState ERROR_NOT_AUTHORIZED
pour l'hébergement de n'importe quel ancrage, même si le projet était configuré correctement.
Unity (AR Foundation)
- Le package ARCore Extensions dépend désormais du plug-in ARKit XR pour s'assurer que la version d'AR Foundation installée est compatible avec la version du plug-in ARKit XR. Cela corrige une erreur de compilation lors de l'installation des extensions ARCore sur Unity 2019.x et de l'activation du plug-in ARKit XR.
- Les paramètres de projet des extensions ARCore ont été déplacés de Project Settings > XR > ARCore Extensions (Paramètres du projet > XR > Extensions ARCore) vers Project Settings > XR Plug-in Management > ARCore Extensions (Paramètres du projet > Gestion des plug-ins XR > Extensions ARCore).
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
etARCoreRecordingConfig
ont été déplacés du menu Créer > XR > Extensions ARCore vers Créer > XR.
iOS
- Correction de plusieurs bugs et amélioration des performances.
Notes de version complètes
- Notes de version complètes du SDK ARCore pour Android
- Notes de version complètes d'ARCore pour le NDK Android
- Notes de version complètes du SDK ARCore pour iOS
- Notes de version des extensions ARCore pour AR Foundation
Nouveautés de la version 1.28.0 d'ARCore
- À partir de novembre 2022, les applications compatibles avec la RA ne pourront plus acquérir d'images ni de métadonnées d'images NDK. Les versions de SDK concernées dépendent de la fonction spécifique appelée. Pour en savoir plus, consultez l'annonce d'abandon.
- C: Les appels à
ArImage_getNdkImage()
etArImage_getNdkCameraMetadata()
renvoient toujoursnullptr
pour les objetsAImage
etACameraMetadata
. - Java: l'objet
Image
renvoyé parFrame#acquireCameraImage()
aura une taille de0
x0
pixels. Les appels àFrame#getImageMetadata()
génèrent toujours une exceptionIllegalArgumentException
. - Unity (AR Foundation): lorsque vous utilisez AR Foundation 2.1 (version LTS d'Unity 2019), les appels à
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
renvoient toujoursfalse
. AR Foundation 4.x et les versions ultérieures ne sont pas concernées. Les appels àXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
se comportent normalement. - SDK ARCore pour Unity (obsolète): les appels à
Frame.CameraImage.AcquireCameraImageBytes()
auront une taille de0
x0
pixels. Les appels àFrame.CameraMetadata.GetAllCameraMetadataTags()
renvoient unList<CameraMetadataTag>
vide.
- C: Les appels à
- Java:
ArImage#getCropRect()
renvoie désormais un rectangle de recadrage en taille réelle, c'est-à-dire que tous les pixels de l'image sont valides. Pour en savoir plus, consultezandroid.media.Image#getCropRect()
.
Nouveautés de la version 1.27.0 d'ARCore
Cette version ne comporte aucune nouvelle fonctionnalité. Consultez les notes de version suivantes pour découvrir les différentes corrections de bugs et améliorations de performances.
- Notes de version complètes du SDK ARCore pour Android
- Notes de version complètes d'ARCore pour le NDK Android
- Notes de version complètes du SDK ARCore pour iOS
- Notes de version des extensions ARCore pour AR Foundation
En plus de diverses corrections de bugs, cette version inclut les éléments suivants.
Exemples d'applications en Kotlin
Ajout de hello_ar_kotlin pour illustrer les bonnes pratiques à suivre lorsque vous utilisez Kotlin.
Pour en savoir plus, consultez le guide de démarrage rapide pour Android.
Ajout de ml_kotlin pour montrer comment utiliser un modèle de classification d'images avec ARCore.
Pour en savoir plus, consultez la section Utiliser ARCore comme entrée pour les modèles de machine learning.
Nouveautés de la version 1.26.0 d'ARCore
Cette version apporte les modifications importantes suivantes:
- Les URI sont désormais compatibles avec les ensembles de données dans Enregistrement et lecture.
Autres modifications et mises à jour
Pour en savoir plus sur les correctifs de bugs et autres modifications destructives, consultez les notes de version suivantes.
- Notes de version complètes du SDK ARCore pour Android
- Notes de version complètes d'ARCore pour le NDK Android
- Notes de version complètes du SDK ARCore pour iOS
- Notes de version des extensions ARCore pour AR Foundation
Nouveautés de la version 1.25.0 d'ARCore
Cette version ne comporte aucune nouvelle fonctionnalité. Consultez les notes de version suivantes pour découvrir les différentes corrections de bugs et améliorations de performances.
- Notes de version complètes du SDK ARCore pour Android
- Notes de version complètes d'ARCore pour le NDK Android
- Notes de version complètes du SDK ARCore pour iOS
- Notes de version complètes du SDK ARCore pour Unity
- Notes de version des extensions ARCore pour AR Foundation
Nouveautés de la version 1.24.0 d'ARCore
Cette version apporte les modifications importantes suivantes:
- Une nouvelle API Raw Depth qui fournit une image de profondeur sans filtrage de l'espace image
- Ajout de la fonctionnalité d'enregistrement de la piste de données personnalisée à l'API Recording and Playback
- Possibilité d'effectuer des tests de détection de profondeur
Profondeur brute
L'API Raw Depth fournit des données de profondeur pour une image d'appareil photo plus précises que les données de l'API Depth complète, mais ne couvre pas toujours tous les pixels. Les images de profondeur brutes, ainsi que leurs images de confiance correspondantes, peuvent également être traitées plus en détail, ce qui permet aux applications d'utiliser uniquement les données de profondeur suffisamment précises pour leur cas d'utilisation individuel.
Guides du développeur:
Enregistrement de canaux personnalisés
La nouvelle fonctionnalité de suivi des données personnalisées de l'API Enregistrement et lecture vous permet d'ajouter des données personnalisées à un frame ARCore pendant l'enregistrement et de récupérer ces mêmes données à partir du frame pendant la lecture.
Guides du développeur:
Tests de positionnement en profondeur
Auparavant, les tests de collision ne pouvaient être effectués que sur les plans détectés, ce qui limitait les emplacements à de grandes surfaces planes. Les tests de détection de profondeur exploitent à la fois les informations de profondeur lisses et brutes pour fournir des résultats de détection plus précis, même sur des surfaces non planes et à faible texture.
Guides du développeur:
Autres modifications et mises à jour
Pour en savoir plus sur les correctifs de bugs et autres modifications destructives, consultez les notes de version suivantes.
- Notes de version complètes du SDK ARCore pour Android
- Notes de version complètes d'ARCore pour le NDK Android
- Notes de version complètes du SDK ARCore pour iOS
- Notes de version complètes du SDK ARCore pour Unity
- Notes de version des extensions ARCore pour AR Foundation
Nouveautés de la version 1.23.0 d'ARCore
Compatibilité avec la double caméra en attente
La compatibilité avec la double caméra sera déployée dans les semaines à venir. Pour en savoir plus, consultez la page sur les appareils compatibles.
Nouveaux outils de débogage
En envoyant un intent de diffusion, les développeurs peuvent activer:
Enregistrement des appels d'API ARCore dans le journal de débogage Android
Superposition des performances ARCore
Héberger et résoudre des ancres cloud
Les applications compatibles avec la RA créées à l'aide du SDK ARCore 1.11.0 ou d'une version antérieure ne peuvent plus héberger ni résoudre les ancrages cloud.
C: Les ancres cloud renvoyées par
ArSession_hostAndAcquireNewCloudAnchor
etArSession_resolveAndAcquireNewCloudAnchor
auront toujours l'étatAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: les Cloud Anchors renvoyés par
Session.hostCloudAnchor(Anchor)
etSession.resolveCloudAnchor(String)
auront toujours l'étatAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: les ancres cloud renvoyées par
XPSession.CreateCloudAnchor(Anchor)
etXPSession.ResolveCloudAnchor(string)
auront toujours l'étatCloudServiceResponse.ErrorInternal
.
Les applications créées avec le SDK ARCore 1.12.0 ou version ultérieure ne sont pas concernées. Leur utilisation de l'API ARCore Cloud Anchor est soumise au Règlement relatif aux abandons.
Autres modifications et mises à jour
Consultez les notes de version suivantes pour connaître les autres correctifs de bugs et modifications importantes.
Nouveautés de la version 1.22.0 d'ARCore
Cette version ajoute de nouvelles API d'enregistrement et de lecture et des API de filtre de configuration de la caméra pour les extensions ARCore pour AR Foundation. Pour en savoir plus, consultez les notes de version complètes des extensions ARCore.
Autres modifications et mises à jour
Consultez les notes de version suivantes pour connaître les autres correctifs de bugs et modifications importantes.
Nouveautés de la version 1.21.0 d'ARCore
Cette version ajoute de nouvelles API d'enregistrement et de lecture pour Android, le NDK Android et Unity.
Enregistrement et lecture
Grâce aux API Recording et Playback, vous pouvez enregistrer des données vidéo et RA une fois dans un environnement donné, puis utiliser ce contenu pour remplacer une session d'appareil photo en direct à des fins de test. ARCore enregistre les sessions enregistrées dans des fichiers MP4 contenant plusieurs pistes vidéo et d'autres données diverses sur l'appareil. Vous pouvez ensuite indiquer à votre application d'utiliser ces données à la place d'une session d'appareil photo en direct. Vous pouvez ainsi le lire indéfiniment pour essayer différents effets de RA sans avoir à retourner sur le terrain.
Pour en savoir plus :
Java :
C:
Unity:
Nouveautés de la version 1.20.0 d'ARCore
Cette version apporte les modifications importantes suivantes:
Prise en charge des ancres cloud persistantes.
Mise à jour des fonctionnalités de métadonnées d'image pour Android et le NDK Android.
Nouvelles consignes nécessitant la version 5.6.4 ou ultérieure de Gradle pour prendre en charge les extensions ARCore pour AR Foundation ou le SDK ARCore pour Unity (1.19 ou version ultérieure) avec Unity 2018.4 ou version ultérieure.
Nouvelle compatibilité avec les ancres cloud persistantes
Avant la version 1.20 d'ARCore, les ancres cloud ne pouvaient être résolues que pendant 24 heures après leur premier hébergement. Avec les ancres cloud persistantes, vous pouvez désormais créer une ancre cloud avec une durée de vie (TTL) comprise entre un et 365 jours. Vous pouvez également prolonger la durée de vie de l'ancre après son hébergement à l'aide de l'API Cloud Anchor Management.
L'utilisation des ancres cloud persistantes est régie par la nouvelle règle d'abandon des ancres cloud.
C: Guide du développeur,
ArSession_hostAndAcquireNewCloudAnchorWithTtl
etArSession_estimateFeatureMapQualityForHosting
Java: Guide du développeur,
hostCloudAnchorWithTtl
etestimateFeatureMapQualityForHosting
.iOS: Guide du développeur,
hostCloudAnchor:TTLDays:error:
etestimateFeatureMapQualityForHosting:
.Extensions ARCore pour AR Foundation: guide du développeur Android, guide du développeur iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
etARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Ciblage Android avec Unity: guide du développeur,
XPSession.CreateCloudAnchor(Anchor, int)
etXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Cibler iOS avec Unity: guide du développeur,
XPSession.SetAuthToken(string)
etXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
Autres modifications et mises à jour
Consultez les notes de version suivantes pour connaître les autres correctifs de bugs et modifications importantes.
Nouveautés de la version 1.19.0 d'ARCore
Cette version apporte les modifications importantes suivantes:
- Nouvelle API Instant Placement pour Android, le NDK Android et Unity.
- Nouvelles conseils pour la compilation pour Android 11 avec Unity.
Emplacement instantané
L'API Instant Placement permet à l'utilisateur de placer un objet RA à l'écran sans avoir à attendre qu'ARCore détecte la géométrie de la surface. L'emplacement des objets est affiné en temps réel à mesure que l'utilisateur se déplace dans l'environnement. Une fois qu'ARCore a détecté la position correcte dans la région où l'objet RA est placé, l'objet blanc est automatiquement mis à jour pour être précis et devient opaque.
L'extrait suivant montre une figure Android virtuelle sur une table réelle. La figure est blanche et beaucoup plus petite lors de la première mise en place. Une fois qu'ARCore affine ses calculs des dimensions de la scène, la figure passe à une position plus précise. Cela peut entraîner une différence dans la "taille" perçue de l'objet.
Pour en savoir plus :
Android :
NDK Android:
Unity:
Nouveautés de la version 1.18.0 d'ARCore
Cette version apporte les modifications importantes suivantes:
- Nouvelle API Depth pour Android, le NDK Android et Unity.
- Consignes pour créer des éléments de visages augmentés et les importer dans Android Studio.
- L'API Depth sera compatible avec
4.1.0-preview.2
pourAR Foundation
etARCore XR Plugin
.
API Depth
Sur les appareils compatibles avec la profondeur, l'API Depth utilise l'appareil photo RVB de l'appareil compatible ARCore ou le capteur de profondeur actif, le cas échéant, pour créer des cartes de profondeur. Vous pouvez ensuite utiliser la profondeur par pixel fournie par une carte de profondeur pour faire apparaître avec précision des objets virtuels, devant ou derrière des objets réels, ce qui permet de proposer des expériences utilisateur immersives et réalistes.
Par exemple, les images suivantes montrent une figure Android virtuelle dans un espace réel contenant un coffre à côté d'une porte. L'API Depth masque correctement la figure derrière le bord du tronc.
Pour en savoir plus :
Android :
NDK Android:
Unity:
Nouveautés de la version 1.17.0 d'ARCore
Nouveautés du SDK ARCore pour Android
Ajout de nouvelles méthodes permettant de mettre en mémoire tampon plusieurs images de la caméra. En plus d'autres techniques telles que le rendu multithread, cela peut être utilisé pour réduire la variabilité des fréquences d'images.
Ajout de l'utilisation du capteur de profondeur et des getters de FPS cibles manquants:
Consultez également les notes de version complètes du SDK Android pour Android.
Nouveautés du SDK ARCore pour Unity
- Ajout de la prise en charge du rendu multithread dans Unity 2018.2 ou version ultérieure, ce qui améliore les performances dans la plupart des cas et peut contribuer à réduire la variabilité des fréquences d'images. Il s'agit d'un paramètre de projet Unity, situé dans Project Settings (Paramètres du projet) > Player (Lecteur) > Android (Android) > Other Settings (Autres paramètres) > Multithreaded Rendering (Affichage multithread). Pour en savoir plus, consultez le guide du développeur.
- Ajout de
SessionStatus.ErrorCameraNotAvailable
et deSessionStatus.ErrorIllegalState
pour indiquer des états d'erreur de session ARCore spécifiques.
Consultez également les notes de version complètes du SDK ARCore pour Unity.
Nouveautés du SDK ARCore pour iOS
La taille binaire du SDK Cloud Anchors a considérablement diminué.
Le code binaire est désormais compatible avec les visages augmentés.
Consultez également les notes de version complètes du SDK ARCore pour iOS.
Nouveautés de la version 1.16.0 d'ARCore
Disponible dans le SDK ARCore pour Android et le SDK Sceneform pour Android
Cette version apporte les modifications importantes suivantes:
- La plupart des appareils renvoient désormais des configurations d'appareil photo compatibles supplémentaires avec des résolutions de texture de GPU inférieures à la résolution de texture de GPU par défaut de l'appareil.
Pour en savoir plus, consultez la page Appareils compatibles avec ARCore.
Ces résolutions GPU étendues sont disponibles via l'API
getSupportedCameraConfigs(CameraConfigFilter)
.
Voir également :
Nouveautés dans les extensions ARCore pour AR Foundation
Cette version apporte les modifications importantes suivantes:
XRCameraConfiguration
d'AR Foundation est étendu avec des méthodes qui vous permettent de choisir la configuration de caméra appropriée en fonction des critères souhaités. Ces méthodes incluent GetTextureDimensions(), GetFPSRange() et GetDepthSensorUsages(). Consultez les instructions détaillées.Unity 2019.3.0f6 est désormais la version minimale recommandée pour les extensions ARCore. AR Foundation 3.1.0-preview.6 nécessite Unity 2019.3 ou version ultérieure.
Unity utilise désormais les termes Anchor (Ancre), Cloud Anchor (Ancre cloud) et Cloud Anchor ID (ID d'ancre cloud) dans son API AR multiplate-forme. La documentation des extensions ARCore a été mise à jour en conséquence.
Voir également :
Nouveautés du SDK ARCore pour Unity
Cette version apporte la modification importante suivante:
- La plupart des appareils renvoient désormais des configurations d'appareil photo compatibles supplémentaires avec des résolutions de texture de GPU inférieures à la résolution de texture de GPU par défaut de l'appareil. (Pour en savoir plus, consultez la section Appareils compatibles avec ARCore.) Ces résolutions de GPU étendues sont disponibles via l'API ARCoreCameraConfigFilter.
Voir également :
Notes de version complètes du SDK ARCore pour Unity
Nouveautés de la version 1.15.0 d'ARCore
Nouveautés dans les extensions ARCore pour AR Foundation
Cette version apporte les modifications importantes suivantes.
Ajout d'un exemple CloudAnchors montrant comment créer des expériences de RA partagées pour Android et iOS. Consultez les instructions pour Android ou iOS.
Unity 2019.2.17f1 est désormais la version minimale recommandée à utiliser avec les extensions ARCore.
Notes de version complètes des extensions ARCore
Nouveautés du SDK ARCore pour Unity
Cette version présente les problèmes connus suivants.
L'aperçu instantané peut bloquer Unity lorsque vous utilisez Android 9 et un câble USB 3. Pour y remédier, mettez à jour vers Android 10 ou utilisez un câble USB 2.
L'aperçu instantané peut ne pas s'afficher sur l'appareil lorsque la résolution de la vue de jeu d'Unity est trop élevée. Pour y remédier, réduisez la résolution de la vue du jeu d'Unity dans l'éditeur.
Notes de version complètes du SDK ARCore pour Unity
Changements supplémentaires
Consultez les notes de version suivantes pour connaître les autres correctifs de bugs et modifications importantes.
Nouveautés de la version 1.14.0 d'ARCore
Cette version apporte les modifications importantes suivantes.
Lorsqu'une application perd temporairement l'accès à l'appareil photo au profit d'une autre application sur l'appareil, le motif de l'échec du suivi est désormais plus spécifique:
Android:
TrackingFailureReason
estCAMERA_UNAVAILABLE
au lieu deNONE
.Android NDK:
ArTrackingFailureReasons
estAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
au lieu deAR_TRACKING_FAILURE_REASON_NONE
.Unity:
Session.LostTrackingReason
estLostTrackingReason.CameraUnavailable
au lieu deNone
.
Google collecte et traite les données issues de votre utilisation du package Extensions ARCore conformément aux Règles de confidentialité de Google et aux Conditions d'utilisation des API Google. Vous pouvez désactiver cette fonctionnalité.
Nouveautés de la version 1.13.0 d'ARCore
Cette version apporte les modifications importantes suivantes.
Prise en charge de l'utilisation des extensions ARCore pour AR Foundation d'Unity afin de créer des applications iOS avec des ancres cloud.
Prise en charge de l'estimation de l'éclairage HDR ambiant dans Sceneform.
Consultez les notes de version suivantes pour connaître les autres correctifs de bugs et modifications importantes.
Nouveautés de la version 1.12.0 d'ARCore
Cette version apporte les modifications suivantes:
Ajout de la fonctionnalité Visages augmentés sur iOS. Pour en savoir plus, consultez cette présentation, ce guide de démarrage rapide et ce guide du développeur.
Prise en charge de l'utilisation des extensions ARCore pour AR Foundation d'Unity afin de créer des applications Android avec des ancres cloud.
Modifications apportées à Cloud Anchors:
- Pour respecter nos nouvelles exigences en matière de confidentialité pour l'utilisation des SDK ARCore 1.12 ou versions ultérieures, vous devez indiquer clairement l'utilisation des Cloud Anchors dans votre application en incluant le texte suivant, ainsi qu'un lien pour en savoir plus, sur un écran de notification : "Pour alimenter cette session, Google traitera les données visuelles de votre caméra." Pour ce faire, vous pouvez implémenter le flux de notification utilisateur recommandé disponible dans nos exemples d'applications Cloud Anchor.
Pour en savoir plus, consultez les Exigences concernant la confidentialité des utilisateurs.
Pour en savoir plus sur les Cloud Anchors:
Android :
NDK Android:
iOS :
Unity:
Extensions ARCore:
Nouveautés de la version 1.11.0 d'ARCore
Cette version apporte les modifications suivantes:
Le service ARCore a été renommé Services Google Play pour la RA. Sur les appareils Google Play, il est désormais distribué dans le cadre des services Google Play.
Les configurations de l'appareil photo d'ARCore ciblent 60 FPS sur les appareils compatibles et privilégient l'utilisation du capteur de profondeur sur les appareils en disposant. Vous pouvez utiliser de nouveaux filtres de configuration de l'appareil photo pour limiter la fréquence d'images de capture de l'appareil photo à 30 images par seconde, empêcher ARCore d'utiliser un capteur de profondeur ou filtrer en fonction des deux options.
Pour en savoir plus sur les configurations de caméra:
Android :
NDK Android:
Unity:
Nouveautés de la version 1.10.0 d'ARCore
Cette version ajoute de nouvelles fonctionnalités d'estimation de l'éclairage HDR ambiant à l'API d'estimation de l'éclairage pour Android, Android NDK et Unity.
Ces API utilisent le machine learning pour analyser l'image de la caméra d'entrée et estimer l'éclairage ambiant. Vous pouvez utiliser ces données d'estimation de l'éclairage pour afficher un éclairage extrêmement réaliste, y compris une lumière directionnelle principale, des ombres, un éclairage ambiant, des reflets spéculaires et des reflets sur des objets virtuels. Résultat : des contenus virtuels plus réalistes.
Pour en savoir plus :
Android :
NDK Android:
Unity:
Nouveautés de la version 1.9.0 d'ARCore
Nouveautés du SDK ARCore pour Android
Cette version ajoute les nouvelles API et fonctionnalités suivantes:
Le Visionneuse de scènes est un visionneuse immersif qui permet d'accéder à des expériences RA depuis votre site Web. Il permet aux utilisateurs d'appareils mobiles Android de placer, d'afficher et d'interagir facilement avec des modèles 3D hébergés sur le Web dans leur environnement.
Nouvelles fonctionnalités des images augmentées:
ARCore suit désormais les images augmentées en mouvement. Exemples d'images animées : une publicité sur un bus qui passe ou une image sur un objet plat tenu par un utilisateur lorsqu'il bouge sa main.
Une fois qu'une image a été détectée, ARCore peut continuer à suivre sa position et son orientation, même si elle est temporairement sortie du champ de vision de la caméra.
Utilisez
AugmentedImage#getTrackingMethod()
(Java) ouArAugmentedImage_getTrackingMethod()
(NDK) pour déterminer si l'image augmentée est actuellement suivie par la caméra (FULL_TRACKING
) ou si elle est suivie en fonction de sa dernière position connue (LAST_KNOWN_POSE
).
La documentation sur les Cloud Anchors inclut désormais une explication plus détaillée de la façon dont les ancres sont hébergées et résolues.
Nouveautés du SDK ARCore pour Unity
Nouvelles fonctionnalités des images augmentées:
ARCore suit désormais les images augmentées en mouvement. Une publicité sur un bus qui passe ou une image sur un objet plat tenu par un utilisateur lorsqu'il le déplace sont des exemples d'images en mouvement.
Une fois qu'une image a été détectée, ARCore peut continuer à suivre sa position et son orientation, même si elle est temporairement sortie du champ de vision de la caméra.
La nouvelle API
AugmentedImage.GetTrackingMethod()
permet à votre application de déterminer si l'image augmentée est actuellement suivie par l'appareil photo (FullTracking
) ou si elle est suivie en fonction de sa dernière position connue (LastKnownPose
).
La documentation sur les Cloud Anchors inclut désormais une explication plus détaillée de la façon dont les ancres sont hébergées et résolues.
Nouveautés du SDK ARCore pour iOS
Compatibilité avec les appareils suivants:
iPad mini de cinquième génération
iPad Air de troisième génération
La documentation sur les Cloud Anchors inclut désormais une explication plus détaillée de la façon dont les ancres sont hébergées et résolues.