Le SDK ARCore de Google pour les applications Android de réalité augmentée atteint la version 1.7 avec de nouvelles API et la prise en charge du Honor View 20, du Moto G7, de l'OPPO R17 Pro, et plus encore.
Le SDK de réalité augmentée de Google, ARCore, reçoit une grosse mise à jour vers la version 1.7. Dans un article de blog, Google indique que la version 1.7 se concentre sur des « éléments créatifs » comme les selfies en réalité augmentée, l'animation de personnages dans les applications Sceneform AR, l'intégration d'ARCore Elements et l'ajout de Shared Accès à la caméra. De plus, la liste officielle des appareils pris en charge s'est élargie pour inclure des appareils tels que le Honor View 20, la série Moto G7, l'OPPO R17 Pro et d'autres appareils.
ARCore 1.7 Présentation
API Visages augmentés
Le nouveau API Visages augmentés permet aux développeurs de superposer le visage d'un utilisateur avec des effets 3D. À titre d'exemple, Google indique que les développeurs peuvent créer des effets tels que des masques animés, des lunettes, des chapeaux virtuels ou effectuer des retouches cutanées. Il utilise la caméra frontale pour créer un maillage 3D de 468 points qui fournit des coordonnées et des ancrages spécifiques à une région. Les développeurs peuvent utiliser Unity ou Sceneform pour démarrer avec l'API Augmented Faces.
Animations dans Sceneform
Les objets créés dans Sceneform peuvent désormais avoir des animations ajoutées, comme danser, sauter ou tourner.
Intégration des éléments ARCore
Le SDK ARCore pour Unity a intégré ARCore Elements, des composants communs d'interface utilisateur AR conçus pour simplifier votre flux de travail. Recherche d'avion et manipulation d'objets, qui rationalise le processus de détection d'une surface et l'utilisation de gestes pour manipuler respectivement des objets virtuels, sont deux des composants AR UI que Google a mis en avant dans son blog poste.
Prix : Gratuit.
4.
Accès à la caméra partagée
L'entrée et la sortie du mode AR deviendront plus transparentes pour l'utilisateur grâce à l'accès à la caméra partagée dans le SDK. Cette fonctionnalité permet aux utilisateurs de suspendre l'expérience AR, d'accéder à l'appareil photo pour prendre une photo (idéalement, de quelque chose dans votre application), puis de revenir gracieusement à l'expérience AR.
Journal des modifications du SDK ARCore pour Android 1.7.0
Nouvelles API et fonctionnalités
- Nouveau
Camera.getTrackingFailureReason()
(Java) etArCamera_getTrackingFailureReason()
(NDK) qui renvoie la raison de l'échec du suivi AR lorsque l'état de suivi estPAUSED
. - Nouveau
Frame.transformCoordinates2d(…)
(Java) etArFrame_transformCoordinates2d(…)
(NDK) méthode qui transforme une liste de coordonnées 2D d'un système de coordonnées 2D vers un autre système de coordonnées 2D. - Nouveaux constructeurs de session
Session(Context, Set
(Java) et) ArSession_createWithFeatures()
(NDK) offrent de nouvelles fonctionnalités, à commencer par: -
Caméra frontale et visages augmentés
- Les applications peuvent désormais activer les visages augmentés avec la caméra frontale (selfie) en demandant le
FRONT_CAMERA
fonctionnalité lors de la création d’une session. - De nouvelles méthodes
CameraConfig.getFacingDirection()
(Java) etArCameraConfig_getFacingDirection()
(NDK) laissez une application vérifier si elle utilise la caméra frontale. - Note: Le suivi de mouvement, tous les types d'ancres, les images augmentées et la détection de plan ne sont pas disponibles lors de l'utilisation de la caméra frontale.
- Nouvelle méthode
Config.setAugmentedFaceMode(…)
permet à une application d'activer les visages augmentés. - Nouveau traçable
AugmentedFace
classe pour détecter un visage, déterminer les poses de régions et générer un maillage de visage 3D. -
AugmentedFace
(Java) et un ensemble deArAugmentedFace_*
(NDK) fournissent des getters pour demander la pose centrale, les poses de région, les sommets, les normales et les indices triangulaires du maillage facial 3D.
- Les applications peuvent désormais activer les visages augmentés avec la caméra frontale (selfie) en demandant le
-
Accès à la caméra partagée (Java uniquement)
- Les applications peuvent désormais partager le contrôle de la caméra avec ARCore en demandant le
SHARED_CAMERA
fonctionnalité lors de la création d’une session. Cette fonctionnalité est principalement destinée à permettre une commutation rapide entre les modes caméra uniquement (non-AR) et ARCore. - Nouveau
shared_camera_java
exemple qui montre comment partager l'accès à la caméra avec ARCore. - Nouveau
SharedCamera
classe pour permettre aux applications de partager l’accès à l’API Camera2 avec ARCore.-
Note:
Frame.getImageMetadata()
jetteIllegalStateException
lorsque vous utilisez une session de caméra partagée. Abonnez-vous plutôt au rappel de la caméra directement en utilisantSharedCamera.setCaptureCallback(…)
, et utiliseFrame.getAndroidCameraTimestamp()
pour corréler le cadre aux métadonnées.
-
Note:
- Nouvelle méthode
Session.getSharedCamera()
obtient l'objet caméra partagé pour la session. - Nouvelle méthode
Frame.getAndroidCameraTimestamp()
renvoie l'horodatage de la caméra Android de l'image.
- Les applications peuvent désormais partager le contrôle de la caméra avec ARCore en demandant le
- Modifications supplémentaires uniquement Java :
- Nouvelle méthode
Session.close()
permet la libération explicite des ressources détenues par la session ARCore pour un meilleur contrôle des ressources. -
PointCloud
met désormais en œuvreCloseable
, lui permettant d'être utilisé avec Java try-with-resources et Kotlinuse
blocs.
- Nouvelle méthode
Dépréciations
-
Frame.transformDisplayUvCoords
(Java) etArFrame_transformDisplayUvCoords
(NDK) est désormais obsolète. Veuillez utiliserframe.transformCoordinates2d(Coordinates2d.VIEW_NORMALIZED, …, Coordinates2d.TEXTURE_NORMALIZED, …)
(Java) etArFrame_transformCoordinates2d(…, AR_COORDINATES_2D_VIEW_NORMALIZED, …, AR_COORDINATES_2D_TEXTURE_NORMALIZED, …)
(NDK) à la place.
Corrections de bugs
-
Numéro 630:
-
Java:
Session.createAnchor()
etTrackable.createAnchor()
va maintenant lancer correctementSessionPausedException
etNotTrackingException
le cas échéant, au lieu deFatalException
. -
C :
ArSession_acquireNewAnchor()
etArTrackable_acquireNewAnchor()
reviendra maintenant correctementAR_ERROR_SESSION_PAUSED
etAR_ERROR_NOT_TRACKING
le cas échéant, au lieu deAR_ERROR_FATAL
.
-
Java:
En savoir plus
Nouveaux appareils prenant en charge ARCore
Depuis que nous dernierapporté votre actualité sur la plateforme de réalité augmentée de Google, voici les appareils qui ont été ajoutés à la liste des appareils pris en charge par Google.
- Honneur Voir 20
- Huawei Nova 4
- Huawei Y9 2019
- Motorola Moto G7
- Motorola Moto G7 Plus
- Motorola Moto G7 Puissance
- Motorola Moto G7 Jouer
- OPPO R17 Pro
- Vivo NEX édition double écran
Honor Voir 20 ForumsForums Huawei Nova 4Forums Moto G7Forums Moto G7 PlayForums Moto G7 PlusForums Moto G7 Power
Le Honneur Voir 20, Huawei Y9 2019, Puissance du Moto G7, et OPPO R17 Pro ont tous récemment été lancés en Inde. Le Huawei Nova 4 et Vivo NEX édition double écran n'ont pas encore été lancés en dehors de la Chine.
Si vous parvenez à télécharger Google ARCore 1.7 sur un appareil pris en charge, découvrez certaines des expériences de réalité augmentée disponibles sur le Google Play Store. J'ai lié ci-dessous une application simple que j'aime utiliser pour vérifier qu'ARCore fonctionne.
Prix : Gratuit.
3.9.
Source 1: blog des développeurs GoogleSource 2: page des versions de Google ARCore GitHubSource 3: Appareils pris en charge par Google ARCore