Cherchez Unity

Créer des applications en RA avec Unity : les derniers conseils et ressources

Dernière mise à jour : novembre 2018

Avec AR Foundation et le logiciel d'architecture dont il tire parti, les développeurs Unity disposent désormais d'une API standard qui prend en charge les fonctionnalités principales d'ARCore, d'ARKit et de futures plateformes. ARCore et ARKit offrent chacun un mélange de fonctionnalités propres à chaque plateforme, ainsi que d'autres plus communes. Avec AR Foundation et les kits de développement spécifiques aux plateformes, vous avez tout ce dont vous avez besoin dans Unity pour créer du contenu en RA, plus une collection toujours plus vaste de ressources d'apprentissage détaillées.

de Google

ARCore est un plugin développé et mis à jour par Google. Vous pouvez télécharger le kit de développement Unity adapté ici. ARCore est compatible avec les versions 2017.1 ou ultérieures de Unity et est directement intégré au moteur : il suffit de cocher une case dans les paramètres de XR.

Wizard of Oz

ARCore Wizard d'Oz app, par Google

Le kit de développement ARCore fournit une scène d'exemple HelloAR, qui montre quelques fonctionnalités, comme Images augmentées, Cloud Anchors et la vision par ordinateur. D'autres fonctionnalités uniques d'ARCore sont Feature Points et Instant Preview.

HelloAR est préconfiguré pour trouver à la fois les plans verticaux et horizontaux. L'application inclut un prefab d'Andy l'androïde qui apparaît chaque fois que l'utilisateur appuie sur l'écran, mais vous pouvez facilement le remplacer par vos propres modèles 3D. Lorsque vous concevez à partir de la scène d'HelloAR, il faut savoir qu'ARCore traite les sessions comme des ressources programmables. Alors, si vous essayez d'utiliser certaines fonctionnalités sur ARCore, vous devez vous assurer d'utiliser les bonnes données de session et que vous avez configuré celle-ci par ce biais.

La base de données Augmented Image est un exemple de ressource programmable que vous assignez spécifiquement à votre session. Les images augmentées vous permettent de sélectionner plusieurs images de votre projet, de faire un clic droit dessus et de créer un sous-menu dans le menu Create. Ces images sont ensuite rassemblées sous la forme d'une unique ressource programmable et notées selon la facilité avec laquelle la vision informatique peut retrouver et suivre ces objets (il est conseillé d'obtenir un score de 85 ou plus).

ARKit

Contrairement à ARCore, ce kit de développement est développé et mis à jour par Unity. Il fonctionne avec les versions 2017.1 et ultérieures du logiciel, ainsi que sur les appareils Apple sous iOS 11.3 et versions ultérieures. Vous pouvez le télécharger ici. L'exemple de scène fourni inclut toutes les principales fonctionnalités d'ARKit, y compris Focus Square, Shadows and Occlusion, Image Anchor, Plane Mesh, Relocalize et Face Tracking. Sont aussi incluses d'autres fonctionnalités propres à ARKit, telles qu'Environment Probes, World Maps et Trackable Images. Pour en savoir plus, consultez les docs ARKit.

AR Foundation

AR Foundation est la solution Unity qui réunit les principales fonctionnalités d'ARKit et ARCore dans une API distincte. Pour l'instant, seules quelques fonctionnalités sont prises en charge. Celles propres à chaque plateforme, comme Environment Probes pour ARKit ou Instant Preview d'ARCore, ne sont disponibles que via le kit de développement. De nouvelles fonctionnalités seront ajoutées continuellement à AR Foundation. Pour le moment, la solution prend en charge la détection de plans horizontaux et verticaux, l'estimation de l'éclairage, les points d'action, l'adaptation à la RA et l'ancrage à la RA.

AR Foundation est disponible dans les versions 2018.1 et ultérieures et peut être installé via le gestionnaire de package.

Dan Miller, conseiller XR chez Unity, montre comment installer AR Foundation étape par étape à partir de 17 min 30 s dans cette session Unite.

GNOG

GNOG, par KO_OP, créé avec ARKit

Le problème d'échelle en RA, et comment le surmonter

Réduire la taille des ressources de vos contenus de RA est une opération risquée. Par exemple, si vous avez des physiques sur un objet de jeu, le comportement des physiques évoluera et pourra devenir instable si vous réduisez l'échelle. Cela ne fonctionnera pas correctement pour les niveaux complexes. De plus, certains systèmes dans Unity ne peuvent pas être réellement modifiés une fois réduits. C'est par exemple le cas des maillages de navigation, des terrains, des lightmaps ou encore des systèmes de particules.

aperçu de ville sur une table

Pensez plutôt à appliquer des astuces de caméra pour donner l'impression que vos ressources ont été réduites. Adaptez la position d'une caméra ou utilisez plusieurs caméras pour créer un effet de réduction. Pour mieux comprendre cette méthode, consultez cet article de blog par l'ingénieur Unity Rick Johnson. Vous trouverez une démonstration de ces conseils de redimensionnement à partir de 42:05 dans le discours de Jimmy et Tim.

Quelques astuces supplémentaires : les points d'action disparaîtront si l'appareil reste immobile un certain temps. Si l'appareil voit uniquement une image caméra avec une orientation, il aura des difficultés à percevoir le monde. L'application nécessite du mouvement, l'utilisateur doit regarder autour pour découvrir toutes les fonctionnalités.

développement avec la DOTS Unity

Vous devez fournir des repères visuels et/ou audio pour que l'utilisateur tourne suffisamment l'appareil pour voir les points d'action. Choisissez avec soin l'emplacement des repères visuels, par exemple un point focal où apparaissent instructions ou consignes.

Fournissez des repères pour informer les joueurs que des actions sont à effectuer à quelques pas de leur emplacement. Et que l'éclairage de leur environnement ne doit pas être trop sombre ou trop vif, ce qui pourrait masquer certaines informations. Un bon équilibre lumière/ombre est nécessaire pour que les caméras détectent les bords des surfaces.

Gardez une IU simple, ordonnée et flexible. Ne submergez pas l'utilisateur avec trop de texte, d'éléments d'IU, de personnages, d'explosions, etc. Essayez de réunir l'action et les éléments de votre IU au même endroit.

Enfin, proposez quelques options pour gérer des facteurs incontrôlables comme les personnes traversant l'espace dans lequel l'utilisateur joue. Par exemple, fournissez des gizmos permettant aux utilisateurs de déplacer des contenus, afin qu'ils puissent choisir leur espace ou leur surface de jeu.

Sept des meilleurs ensembles d'outils pour développer des contenus en RA

Vuforia AR Toolkit : Vuforia AR toolkit, disponible dans les versions 2017.2 et ultérieures, peut être utilisé avec ARCore, ARKit et Microsoft Hololens, et fournit des fonctionnalités de RA supplémentaires.

Vuforia

Les cibles images de Vuforia

Télécommande RA faciale : Facial AR Remote permet de capturer les performances faciales à l'aide d'un appareil directement connecté à l'Éditeur Unity en entraînant une faible surcharge. Elle est très pratique, non seulement pour créer des animations, mais aussi pour modéliser des blend shape et des personnages et en construire le squelette, créant un moyen rationnalisé de concevoir vos propres interactions de type animoji et memoji dans Unity. Les développeurs peuvent ainsi itérer sur le modèle dans l'Éditeur sans avoir à s'adapter à l'appareil, ce qui leur permet de sauter des étapes chronophages. Pour plus de détails, consultez les docs.

Unity ARKit Remote : cette fonctionnalité est utilisable avec le plugin ARKit de Unity. Unity ARKit Remote vous permet d'exécuter une application spéciale sur l'appareil iOS qui envoie les données ARKit à l’Éditeur Unity, pour que vous puissiez répondre à ces données en temps réel.

IU Unity : faites preuve de créativité pour l'IU de votre jeu ou application en RA. L'IU Unity sera votre principal outil de travail. Il existe de nombreuses astuces pour utiliser efficacement l'IU Unity, notamment :

Documents IU Unity

Les meilleurs conseils d'optimisation pour l'IU Unity

Bonnes pratiques : optimiser l'IU Unity

Profiler IU

Text Mesh Pro : Text Mesh Pro est un puissant outil à associer à l'IU Unity pour une flexibilité optimale et des IU riches et dynamiques. Il est disponible gratuitement dans l'Asset Store.

TextMesh Pro exploite des techniques de rendu avancées pour le texte, ainsi qu'un ensemble de shaders personnalisés. Il permet des améliorations visuelles significatives tout en offrant une flexibilité inégalée aux utilisateurs pour personnaliser textures et styles de texte.

Text Mesh Pro

Timeline : Timeline est un séquenceur complet multipiste intégré en natif à Unity. Il vous permet de contrôler chaque élément pour créer des cinématiques et des séquences sans code complexe. Séquencez des clips d'animation, des keyframes, des éléments audio et bien plus encore. Voici un résumé pratique des dernières ressources pédagogiques sur Timeline.

séquenceur multipiste Timeline

Systèmes de particules : Unity met à votre disposition une vaste liste de modules permettant de créer une myriade de systèmes de particules. Commencez par cette vue d'ensemble des dernières fonctionnalités des systèmes de particules. Vous trouverez toute la documentation à ce sujet ici.

Analytics : Unity Analytics ne sert pas uniquement une fois votre jeu publié. Vous pouvez également vous en servir pour les phases de test, pour découvrir comment les joueurs utilisent votre jeu et comprennent votre IU. En savoir plus sur l'utilisation de Unity Analytics avant, pendant et après le déploiement du jeu.

Préférez la qualité à la quantité : astuces d'optimisation pour la RA

Les applications en RA nécessitent beaucoup d'éléments techniques : plusieurs caméras qui fonctionnent simultanément, des capacités de perception profondes, des algorithmes... Et puisqu'elles sont largement utilisées sur appareils mobiles, vous devrez optimiser considérablement vos performances, notamment la gestion de la mémoire, le traitement et le contrôle de la zone physique de l'expérience.

Ici se trouvent trois astuces d'optimisation pour vous aider à éviter les surchauffes avec vos applications en RA.

Plus de ressources

Dites-nous si vous avez aimé ce contenu !

Oui, continuez comme ça Ça pourrait être mieux