Pokémon GO Style Réalité Augmentée Avec Vuforia

1. Introduction

Grâce au succès retentissant de Pokémon GO, la réalité augmentée (RA) suscite beaucoup d’attention dans le monde du développement mobile. L'idée de la réalité augmentée n'est pas nouvelle, mais ce n'est que maintenant que la technologie approche de la maturité et de la viabilité commerciale. Mais qu'est-ce que la réalité augmentée exactement?

C'est un concept très large qui peut prendre de nombreuses formes différentes. L'idée peut être appliquée au divertissement, à la science, à l'armée, à l'éducation, etc. Cependant, ces applications ont toutes en commun une connexion en temps réel entre le monde physique et le monde numérique..  

Vue en direct, directe ou indirecte, d'un environnement physique réel, dont les éléments sont complétés (ou complétés) par des entrées sensorielles générées par ordinateur, telles que le son, la vidéo, des graphiques ou des données GPS. - Wikipédia

Concrètement, la RA est souvent réalisée dans des expériences interactives qui superposent un flux de caméra avec des objets 2D ou 3D, éclairés par certaines données du capteur.. 

Cependant, créer une expérience de réalité augmentée attrayante à partir de zéro peut être un véritable défi. Heureusement, certaines solutions sont disponibles pour faciliter ce travail. Vuforia est l'un des outils de réalité augmentée les plus solides. Il s'agit d'une bibliothèque d'AR compatible avec Android, iOS, UWP et certaines marques de lunettes intelligentes.. 

Dans ce tutoriel, nous allons explorer la réalité augmentée à l'aide de Vuforia. Nous allons explorer les fonctionnalités, les possibilités et les défis de Vuforia, ainsi que le fonctionnement du SDK et ses fonctions principales. Dans ce didacticiel, nous n'explorerons aucun code. Les didacticiels futurs de cette série approfondiront le codage dans Vuforia, avec des guides détaillés ciblant toutes les principales fonctionnalités de la bibliothèque..

Si vous souhaitez aller plus loin, pourquoi ne pas vous familiariser avec l'un des concepts les plus fondamentaux de la RA, les marqueurs, dans notre cours succinct:

2. Vuforia

Développé à l'origine par Qualcomm et récemment acheté par PTC, Vuforia en est à sa sixième version. Son SDK est en constante évolution et est compatible avec Android, iOS, UWP et Unity. Vuforia n'est malheureusement pas une source ouverte, mais sa fourchette de prix est raisonnable et il n'y a pas de coût initial pour le développement ou l'éducation. Vous pouvez créer presque n'importe quel type d'expérience de RA sur les plates-formes mobiles les plus populaires en utilisant Vuforia. 

2.1. Comment ça marche?

Vuforia utilise l'alimentation de la caméra de l'appareil, associée aux données de l'accéléromètre et du gyroscope, pour examiner le monde. Vuforia utilise la vision par ordinateur pour comprendre ce qu'il "voit" sur l'appareil photo afin de créer un modèle de l'environnement. Après le traitement des données, le système peut se situer grossièrement dans le monde, en connaissant ses coordonnées: où se trouvent le haut, le bas, la gauche, la droite, etc. Ce que vous faites avec cela dépend de vos objectifs de développement.

Il y a plusieurs possibilités:

  • Utiliser les coordonnées du monde: N'importe quel type d'objet peut être exposé en utilisant une référence quelconque, en ignorant les obstacles réels mais en considérant la localisation mondiale obtenue. L'objet peut être hors de vue et continuer à "exister" dans la même position. C'est un système similaire à celui utilisé par Pokémon GO.
  • Reconnaître les cibles: Vuforia peut rechercher des images spécifiques en tant que "cibles". VuMarks, par exemple, une image de style code QR très reconnaissable par le système, peut être utilisée comme point d'ancrage ou référence pour tout type d'objet projeté dans le monde. Un magazine pourrait être "élargi" avec cette ressource, avec ses pages ouvrant des interactions riches comme des vidéos, de l'audio, etc..
  • Reconnaître des objets simples: Les objets simples tels que les boîtes et les cylindres peuvent être reconnus et utilisés comme points d'ancrage. Cette méthode est utile pour reconnaître les packages et les rendre interactifs..
  • Reconnaître des objets complexesVuforia peut également rechercher des objets complexes, tels que des jouets, des pièces d’ordinateur, des gadgets, etc. Ces objets sont préalablement analysés, conformément à des exigences spécifiques et peuvent ensuite être reconnus par le système. Cette fonctionnalité peut être utilisée, par exemple, pour transformer des jouets en créatures vivantes ou pour créer une assistance interactive pour les mécaniciens ou les réparateurs..
  • À la recherche de mots: Les mots anglais peuvent aussi être compris par Vuforia. Le système peut rechercher des mots spécifiques et cibler une sorte d'interaction. Cela pourrait être utile pour des outils d'apprentissage pour les enfants ou pour la traduction d'une langue..
  • Reconnaître le terrain du monde: L’une des fonctionnalités les plus puissantes disponibles sur Vuforia est la capacité de reconnaître le monde tel qu’il est. Vuforia permet à l’utilisateur d’analyser son environnement et d’effectuer un traitement intensif pour interpréter le monde en créant une vision informatique en 3D du monde réel et de ses objets. Imaginez un jeu de type Pokémon GO où les Pokémon peuvent se cacher derrière de vrais objets. Ça ne serait pas génial?

2.2. Développer avec Vuforia

Vuforia est compatible avec plusieurs systèmes. Ses kits de développement logiciel (SDK) sont disponibles pour Android, iOS, UWP et Unity. Une fois que vous avez téléchargé et installé le SDK, vous devez créer un compte développeur et créer une clé d'application avant de pouvoir commencer à coder..

Bien que Vuforia soit compatible avec de nombreux systèmes, le moyen le plus simple de créer des expériences de RA attrayantes à l'aide de son SDK consiste certainement à utiliser Unity. Ne vous méprenez pas, vous pouvez accéder à presque tout ce que Vuforia propose en développant directement pour Android ou iOS. Cependant, le processus est beaucoup plus simple lorsque vous utilisez les préfabriqués proposés dans le SDK de Vuforia pour Unity..

3. Cibles Vuforia

Comme mentionné précédemment, Vuforia peut rechercher des «cibles» sur le flux de la caméra afin de créer des points d'ancrage ou des références à utiliser par les expériences de RA. Ces cibles peuvent revêtir de nombreuses formes et tout fichier préalablement traité par le gestionnaire de cibles Vuforia peut être reconnu. Les cibles peuvent être créées par le développeur ou créées lors de l'exécution par l'utilisateur.

3.1

3.1. Cibles d'image

N'importe quel type d'image peut être une cible d'image Vuforia. Cependant, plus l'image est détaillée et complexe, mieux elle sera reconnue par l'algorithme. De nombreux facteurs feront partie du calcul de reconnaissance, mais l’image doit présenter un niveau de contraste, de résolution et d’éléments distinctif raisonnable. Une photo de ciel bleu ne fonctionnerait pas très bien, mais une photo d'une herbe fonctionnerait avec élégance. Les cibles d'image peuvent être livrées avec l'application, créées ultérieurement et téléchargées vers l'application via un système de cloud ou directement créées sur l'application par l'utilisateur..

3.2. VuMarks

VuMark fonctionne de manière très similaire à un QR Code; Cependant, il est beaucoup plus polyvalent. Il peut prendre de nombreuses formes et couleurs et s’adapter à un grand nombre d’environnements. Son principal avantage est qu'il est totalement conforme à l'algorithme de reconnaissance de Vuforia et qu'il sera facilement "trouvé" par toute application Vuforia AR. Vuforia propose également un plugin Adobe Illustrator qui crée VuMarks.

3.3. Cylindre et Cube Cibles

Il est également possible d'utiliser des cubes et des cylindres comme cibles d'image. Ceci est très approprié pour créer un engagement avec les packages de produits. Une fois reconnu, l'objet primitif est utilisé comme point d'ancrage et semble exister pour la vision par ordinateur du système, permettant aux objets virtuels d'interagir directement avec la primitive. L'objet virtuel peut suivre la position et l'orientation de l'objet réel, par exemple.

3.4. Objets comme cibles

L'une des caractéristiques les plus intéressantes de Vuforia est la possibilité de reconnaître des objets complexes. Un jouet, un téléphone, un tableau d'ordinateur et d'autres types d'objets peuvent être utilisés comme cibles. 

Pour utiliser cette ressource, vous devez analyser l'objet à l'aide de l'outil Vuforia Object Scanner, qui s'exécute uniquement sur les Samsung Galaxy S6 et S7. L'analyse des données est téléchargée vers Vuforia Target Manager, et l'objet analysé sera reconnu par tout périphérique compatible utilisant ces données..

3.5. Gérer les objectifs

Il existe plusieurs façons de créer une cible: 

  • L’application peut être livrée avec une série de cibles intégrées.
  • L'application peut recevoir des cibles en ligne via le système de cloud proposé par Vuforia.
  • L'utilisateur peut utiliser la caméra de l'appareil pour créer une cible.. 

En tant que développeur, vous n’avez pas beaucoup de contrôle sur la manière dont l’utilisateur créera sa cible; tout ce que vous pouvez faire, c'est donner à l'utilisateur des astuces sur la manière de choisir une image appropriée en tant que cible. Cependant, la situation est différente pour les cibles traitées à l'aide du gestionnaire de cibles..

Le portail des développeurs de Vuforia nous fournit l'outil Target Manager pour aider à gérer toutes les cibles de nos applications. Le gestionnaire est très simple à utiliser: vous créez une base de données pour contenir les cibles, téléchargez un fichier correspondant à une cible et attendez que le fichier soit traité. La cible recevra un identifiant unique et un score indiquant si elle est reconnaissable. Elle fera ensuite partie de la base de données, pouvant être téléchargée ou stockée dans le cloud.. 

Il existe trois types de bases de données cibles:

  • Bases de données de périphériques sont des bases de données locales d'images ou d'objets cibles stockées sur le périphérique de l'utilisateur.
  • Bases de données VuMark sont des bases de données locales de VuMarks qui sont stockées sur le périphérique de l'utilisateur.
  • Bases de données en nuage sont des bases de données de cibles d'image stockées en ligne et interrogées sur Internet.

4. Smart Terrain

Lors du développement d'une application Vuforia sur Unity, il existe une option vraiment excitante, le Smart Terrain. Il permet à une application de reproduire des maillages 3D d'objets vus par la caméra.. 

Le processus fonctionne comme une sorte de numérisation, où l'utilisateur utilise l'appareil photo du périphérique en tant que scanner 3D. Lorsque la caméra balaie l'environnement ambiant, l'application crée des modèles 3D des objets reconnus, ce qui lui permet d'ajuster le scénario au monde réel, créant ainsi une expérience profondément engageante..

5. Conclusion

Il existe des centaines de possibilités à explorer avec la réalité augmentée, et nous commençons tout juste à gratter sa surface. Beaucoup pensent que les RA feront partie de notre avenir et que nous les utiliserons au quotidien. C’est un domaine qui promet de croître beaucoup dans les années à venir, et Vuforia nous fournit des outils intéressants pour créer des expériences engageantes..

5.1 Prochaines étapes

Dans les tutoriels suivants de cette série, nous allons travailler avec certains des outils les plus importants de Vuforia. Nous allons développer beaucoup de petites expériences pour illustrer les capacités du SDK, et comme Unity est l’environnement le plus convivial pour les AR, tout sera développé à ce sujet.. 

Il ne sera pas nécessaire d'être un expert d'Unity pour suivre les didacticiels. Notre objectif étant le kit de développement logiciel Vuforia, je vous fournirai des guides étape par étape ne nécessitant qu'une expérience minimale de Unity..

Si vous souhaitez en savoir un peu plus sur Unity, consultez nos autres didacticiels..

  • Créer un jeu de lancer libre de basket-ball avec Unity

    Dans ce tutoriel, vous allez créer un jeu de lancer franc au basket dans Unity. Vous en apprendrez plus sur les modèles 3D, les collisionneurs de maillage, les matériaux de physique, la détection de collision,…
    Carlos Yanez
    Développement mobile
  • Créer une ville 3D dans Unity 5

    Bienvenue dans notre didacticiel Unity où nous allons créer une ville 3D dans le moteur de jeu Unity 5. Vous pouvez utiliser ce projet pour votre première personne ou troisième personne…
    Sandra Gerber
    Unité 3D
  • Saisie de texte pour les jeux avec juste une caméra Intel RealSense

    Dans cet article, je vais partager ce que j'ai appris sur les meilleures (et les pires!) Façons de permettre aux joueurs de saisir du texte par le seul geste, et de vous montrer comment configurer Intel…
    Chris Skaggs
    Intel RealSense

À bientôt!