Démarrage rapide : Créer une application HoloLens avec Azure Object Anchors, en C++/WinRT et DirectX

Ce démarrage rapide explique comment créer une application HoloLens à l’aide d’Azure Object Anchors en C++/WinRT et DirectX. Object Anchors est un service cloud géré qui convertit les ressources 3D en modèles IA qui permettent des expériences de réalité mixte prenant en charge les objets pour HoloLens. Lorsque vous aurez terminé, vous disposerez d’une application HoloLens capable de détecter un objet et sa pose dans une application holographique DirectX 11 (Windows universel).

Vous découvrirez comment effectuer les actions suivantes :

  • Créer et charger de façon autonome une application HoloLens
  • Détecter un objet et visualiser son modèle

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Prérequis

Pour suivre ce guide de démarrage rapide, veillez à avoir :

  • Un objet physique dans votre environnement et son modèle 3D (CAO ou numérisé).
  • Un ordinateur Windows avec les éléments suivants installés :
    • Git pour Windows
    • Visual Studio 2019 avec la charge de travail de développement pour la plateforme Windows universelle et le composant SDK Windows 10 (version 10.0.18362.0 ou plus récente)
  • Un appareil HoloLens 2 à jour et pour lequel le mode développeur est activé.
    • Pour mettre à jour votre appareil HoloLens avec la dernière version, ouvrez l’application Paramètres, accédez à Mise à jour et sécurité, puis sélectionnez Rechercher les mises à jour.

Créer un compte Object Anchors

Tout d’abord, vous devez créer un compte avec le service Object Anchors.

  1. Accédez au portail Azure et sélectionnez Créer une ressource.

    Create a new resource

  2. Recherchez la ressource Object Anchors.

    Recherchez « Object Anchors ».

    Select the Object Anchors Resource

    Sur la ressource Object Anchors dans les résultats de la recherche, sélectionnez Créer -> Object Anchors.

    Create an Object Anchors Resource

  3. Dans la boîte de dialogue Compte Object Anchors :

    • Entrez un nom de ressource unique.
    • Sélectionnez l’abonnement auquel attacher la ressource.
    • Créez un groupe de ressources ou utilisez un groupe existant.
    • Sélectionnez la région dans laquelle vous souhaitez que votre ressource existe.

    Enter Object Anchors resource account details

    Sélectionnez Créer pour commencer à créer la ressource.

  4. Une fois la ressource créée, sélectionnez Accéder à la ressource.

    Go to resource

  5. Sur la page de présentation :

    Prenez note du Domaine du compte. Vous en aurez besoin ultérieurement.

    Copy the account domain for your Object Anchors resource

    Prenez note de l’ID de compte. Vous en aurez besoin ultérieurement.

    Copy the account ID for your Object Anchors resource

    Accédez à la page Clés d’accès et prenez note de la Clé primaire. Vous en aurez besoin ultérieurement.

    Copy the account key for your Object Anchors resource

Charger votre modèle

Avant d’exécuter l’application, vous devez mettre vos modèles à la disposition de l’application. Si vous ne disposez pas déjà d’un modèle Object Anchors, suivez les instructions de la section Créer un modèle pour en créer un. Ensuite, revenez ici.

Une fois que votre HoloLens allumé et connecté à l’appareil de développement (PC), procédez comme suit pour charger un modèle dans le dossier Objets 3D de votre HoloLens :

  1. Sélectionnez et copiez les modèles que vous souhaitez utiliser en appuyant sur les touches Ctrl et C en même temps (Ctrl + C).

  2. Appuyez sur la touche logo Windows et E en même temps (Wi + E) pour lancer l’explorateur de fichiers. Vous devez voir votre HoloLens répertorié avec d’autres lecteurs et dossiers dans le volet gauche.

    file explorer

  3. Appuyez sur le lien HoloLens pour afficher le stockage sur le périphérique HoloLens dans le volet de droite.

    open HoloLens internal storage

  4. Dans l’Explorateur de fichiers, accédez à Stockage interne > Objets 3D. Vous pouvez désormais coller vos modèles dans le dossier Objets 3D en appuyant que les touches Ctrl et V en même temps (Ctrl + V).

    paste models in 3D Objects folder

Ouvrir l’exemple de projet

Clonez le dépôt d’exemples en exécutant les commandes suivantes :

git clone https://github.com/Azure/azure-object-anchors.git

cd ./azure-object-anchors

Ouvrez quickstarts/apps/directx/DirectXAoaSampleApp.sln dans Visual Studio.

Pour Configuration de la solution choisissez Mise en production, pour Plateforme de solution choisissez ARM64, puis sélectionnez Appareil dans les options de cible de déploiement.

Configurer les informations de compte

L’étape suivante consiste à configurer l’application pour qu’elle utilise vos informations de compte. Vous avez noté les valeurs de Clé de compte, ID de compte et Domaine de compte dans la section Créer un compte Object Anchors.

Ouvrez Assets\ObjectAnchorsConfig.json.

Localisez le champ AccountId et remplacez Set me par l’ID du compte.

Localisez le champ AccountKey et remplacez Set me par la clé du compte.

Localisez le champ AccountDomain et remplacez Set me par le domaine du compte.

À présent, générez le projet AoaSampleApp en cliquant avec le bouton droit sur le projet et en sélectionnant Générer.

Screenshot shows configuring Visual Studio project to deploy.

Déployer l’application sur HoloLens

Une fois l’exemple de projet compilé avec succès, vous pouvez déployer l’application sur HoloLens.

Assurez-vous que l’appareil HoloLens est sous tension et connecté au PC via un câble USB. Assurez-vous que l’option Appareil est la cible de déploiement choisie, comme ci-dessus.

Faites un clic droit sur le projet AoaSampleApp, puis sélectionnez Déployer dans le menu contextuel pour installer l’application. Si aucune erreur ne s’affiche dans la Fenêtre Sortie de Visual Studio, l’application est installée sur HoloLens.

Screenshot shows the context menu for the project with Deploy selected.

Avant de lancer l’application, vous devez avoir téléchargé un modèle objet, chair.ou par exemple, dans le dossier 3D Objects de votre HoloLens. Si vous ne l’avez pas déjà fait, suivez les instructions de la section Charger votre modèle.

Pour lancer et déboguer l’application, sélectionnez Déboguer>Démarrer le débogage.

Ingérer un modèle objet et détecter son instance

L’application AoaSampleApp s’exécute maintenant sur votre appareil HoloLens. Rapprochez-vous à une distance de 2 mètres maximum de l’objet cible (chair) et analysez-le en l’examinant sous différentes perspectives. Vous devriez voir un cadre englobant rose autour de l’objet avec des points jaunes proches de la surface de l’objet, ce qui indique qu’il a été détecté. Vous devez également voir une zone jaune indiquant la zone de recherche.

Photograph shows a chair with the bounding box, point cloud, and search area.

Vous pouvez définir un espace de recherche pour l’objet dans l’application en cliquant dans l’air avec la main droite ou gauche. L’espace de recherche se transforme en une sphère de 2 mètres de rayon, un cadre englobant 4 m3 et un tronc de vue. Pour les objets plus grands comme les voitures, le meilleur choix consiste généralement à utiliser la sélection du tronc de vue tout en se tenant dans un coin de l’objet à une distance d’environ 2 mètres. Chaque fois que la zone de recherche change, l’application supprime les instances suivies. Elle tente ensuite de les retrouver dans la nouvelle zone de recherche.

Cette application peut suivre plusieurs objets à la fois. Pour cela, chargez plusieurs modèles dans le dossier 3D Objects de votre appareil et définissez une zone de recherche qui couvre tous les objets cibles. La détection et le suivi de plusieurs objets peuvent prendre plus de temps.

L’application aligne fidèlement un modèle 3D sur son équivalent physique. L’utilisateur peut appuyer dans l’air avec sa main gauche pour activer le mode de suivi haute précision, qui calcule une pose plus précise. Cette fonctionnalité est encore expérimentale. Cette fonctionnalité consomme davantage de ressources système et peut entraîner une plus grande instabilité de la pose estimée. Appuyez à nouveau dans l’air avec la main gauche pour revenir au mode de suivi normal.

Étapes suivantes