AR : augmentez la réalité de vos objets 3D avec Vuforia

D’un point de vue du développeur mobile comme le mien, une solution telle que Vuforia représente un SDK cross platform riche, très riche, avec des outils efficaces. Parmi ces outils, on trouve une détection de markers (image à charger à la compilation de l’application) qui servent de repères pour un objet 3D à scanner.

 D’un point de vue du développeur mobile comme le mien, une solution telle que Vuforia représente un SDK cross platform riche, très riche, avec des outils efficaces. Parmi ces outils, on trouve une détection de markers (image à charger à la compilation de l’application) qui servent de repères pour un objet 3D à scanner. Oui, un objet 3D ! Nombreuses alors sont les possibilités fonctionnelles autour que l’on peut associer à cet objet : tutoriels, guide d’utilisation, supports marketing… Pour gérer cette reconnaissance d’objet, il faut créer un marker (objet 3D compatible). Afin de créer ces objets, Vuforia met à sa disposition un exécutable Android appelé Vuforia Object Scanner) ainsi qu’une feuille de cible à imprimer. Le principe est alors simple, il suffit de lancer l’APK fourni par Vuforia et scanner l’objet à intégrer comme marker, cela crée alors un nuage de points qui sera la signature numérique de ce marker. La saisie des données consiste à réaliser des «scans» depuis différents points de vue de la scène à numériser. Pour des environnements complexes ou de grande taille, il peut être nécessaire d’effectuer un grand nombre de points de vue (quelques dizaines).

Exemple avec une montre :

Armé du fichier objet alors généré (d’extension .od), nous aurons à notre disposition, sur l’espace target manager de notre compter Vuforia, la possibilité de créer une base de données qui sera chargée directement depuis le téléphone. Depuis l’interface Target Manager, il est possible d’uploader des fichiers .od. Nous pourrons alors exporter notre base de données afin de la placer dans le dossier assets de notre application.  

Exemple d’implémentation

  Pour ma part j’utilise Unity pour la création d’application mobile utilisant de la réalité augmentée. L’implémentation est la suivante :  

  1.  Créez une base de données dans la gestionnaire de cible qui inclut la cible d’objets que vous souhaitez utiliser :
  2. Téléchargez cette base de données sous la forme d’un fichier *.unitypackage
  3. Importez ce package unity en allant dans Asset –> import Package dans l’éditeur Unity. Ce package sera ajouté dans le dossier Streaming Assets/QCAR

  Pour ajouter et configurer le marqueur d’objet sous forme de GameObject :  

    1. Ajoutez un objet de type ARCamera à votre scène dans Unity (menu : GameObject>Vuforia> AR Camera). Supprimez la caméra par défaut de votre scène.
    2. Allez dans la section Databases de la configuration de Unity (menu: Window>Vuforia Configuration) et vérifiez que votre base de données soit activée :

3. Ajoutez un ObjectTarget à votre scène (menu : GameObject>Vuforia>3D Scan), l’objet AR Camera et cet objet devront être au même niveau dans la hiérarchie de la scène.

              4. Cliquez sur Object Target Behaviour dans l’inspecteur de l’objet target et sélectionnez le nom de votre base de données à y associer avec votre marqueur. Il ne peut y avoir qu’une seule base de données associée à l’objet target.

5. Mettez les valeurs à zéro pour les positions de cet objet target. 6. Ajoutez votre contenu (video, objet 3D, textes, images…) qui se superposera à votre marqueur dans votre scène.

                7. Pour implémenter des évènements personnalisés lors de la reconnaissance du marqueur, vous pouvez étendre la classe DefaultTrackableEventHandler et l’associer à votre objet target.   Le résultat lors de la reconnaissance d’une montre avec l’affichage d’une vidéo comme contenu :

 

Conclusion

Avec cette fonctionnalité de reconnaissance d’objet 3D, Vuforia permet de considérablement augmenter les possibilités de développement d’applications en réalité augmentée. Ce type de reconnaissance est à terme un moyen d’augmenter les possibilités d’interactions autour d’un objet physique et de créer une expérience utilisateur mêlant virtuel et produit de marque. En bref, une belle valeur ajoutée au produit. Néanmoins, à ce jour Vuforia ne permet pas la détection de surface plane comme ARKit mais depuis l’annonce datant du 2 octobre 2017 annonçant la prise en charge de la détection de surfaces plane, Vuforia sera surement en 2018 LA solution AR multiplateforme à suivre.  

Auteur : Eric Duport, Ingénieur concepteur développeur SQLI Lyon