Démarrage rapide : Créer une application HoloLens avec Azure Object Anchors, dans Unity avec MRTK

Ce guide de démarrage rapide explique comment créer une application HoloLens Unity qui utilise Azure Object Anchors. Azure 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 générée avec Unity, capable de détecter des objets dans le monde physique.

Vous découvrirez comment effectuer les actions suivantes :

  • Préparer les paramètres de build Unity.
  • Exporter le projet HoloLens Visual Studio.
  • Déployer l’application et l’exécuter sur un appareil HoloLens 2.

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é).
  • Une machine 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 Kit de développement logiciel (SDK) Windows 10 (version 10.0.18362.0 ou ultérieure)
    • Unity 2019.4
  • 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

Configurer votre appareil

Pour déployer des applications sur votre HoloLens, vous devez associer votre HoloLens à votre ordinateur.

  1. Dans votre HoloLens, accédez à Paramètres -> Mettre à jour et sécurité -> Pour les développeurs.
  2. Cliquez sur Associeret laissez l’écran ouvert jusqu’à ce que vous entriez le code confidentiel dans Visual Studio lors de votre premier déploiement.

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

L’étape suivante consiste à télécharger le package Azure Object Anchors pour Unity.

Repérez le package Azure Object Anchors pour Unity (com.microsoft.azure.object-anchors.runtime) ici. Sélectionnez la version souhaitée et téléchargez le package à l’aide du bouton Télécharger.

Dans Unity, ouvrez le projet quickstarts/apps/unity/mrtk.

Suivez les instructions ici pour importer le package Azure Object Anchors que vous avez téléchargé dans le projet Unity à l’aide du gestionnaire de package d’Unity.

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.

Dans le volet Project (Projet), accédez à Assets\AzureObjectAnchors.SDK\Resources.

Sélectionnez ObjectAnchorsConfig. Dans le volet Inspecteur, entrez Account Key comme valeur de Clé de compte Object Anchors, Account ID comme valeur d’ID de compte Object Anchors, et Account Domain comme valeur de Domaine de compte Object Anchors.

Générer et exécuter l’application

Générer l’exemple de scène

Dans Unity Editor, accédez à Assets/MixedReality.AzureObjectAnchors/Scenes, puis ouvrez AOASampleScene et ajoutez le fichier à la liste des générations de scène.

Quand une boîte de dialogue « Importateur TMP » vous invite à importer des ressources TextMesh Pro, sélectionnez « Importer TMP Essentials » pour ce faire. Import TextMesh Pro resources

Sélectionnez Fichier -> Paramètres de génération. Sélectionnez Plateforme Windows universelle, puis Changer de plateforme. Si Unity Editor indique que vous devez télécharger d’abord certains composants, téléchargez-les et installez-les. Suivez la capture d’écran ci-dessous pour configurer les paramètres de génération. Vérifiez que seulAOASampleScene est coché : les autres scènes ne doivent pas être incluses.

build settings

Cliquez sur Générer et sélectionnez un dossier de sortie. Vous pouvez maintenant générer un projet VS dans le dossier de sortie.

Génération et déploiement de l’application

Ouvrez le fichier .sln généré par Unity. Modifiez la configuration de build comme suit.

build configuration

Ensuite, vous devez configurer l’adresse IP de l’ordinateur distant pour déployer et déboguer l’application.

Cliquez avec le bouton droit sur le projet App et sélectionnez Propriétés. Sur la page des propriétés, sélectionnez Propriétés de configuration -> Débogage. Remplacez la valeur Nom de l’ordinateur par l’adresse IP de votre appareil HoloLens, puis cliquez sur Appliquer.

remote debug

Fermez la page de propriétés. Cliquez sur Ordinateur distant. L’application doit commencer à compiler et à déployer sur votre appareil distant. Assurez-vous que votre appareil est actif.

Après l’écran de démarrage de Unity, vous devrez voir un rectangle englobant blanc. Vous pouvez utiliser votre main pour déplacer, mettre à l’échelle ou faire pivoter le rectangle englobant. Positionnez celui-ci de façon à couvrir l’objet que vous souhaitez détecter.

Ouvrez le menu de la main et sélectionnez Verrouiller la zone de recherche pour empêcher le déplacement du rectangle englobant. Sélectionnez Démarrer la recherche pour démarrer la détection d’objets. Une fois l’objet est détecté, un maillage s’affiche sur l’objet. Les détails d’une instance détectée s’affichent à l’écran, tels que l’horodatage mis à jour et le ratio de couverture des surfaces. Sélectionnez Arrêter la recherche pour arrêter le suivi. Toutes les instances détectées seront supprimées.

Menus de l’application

Vous pouvez également effectuer d’autres actions à l’aide du menu de la main.

Menu principal
  • Démarrer la recherche/Arrêter la recherche : démarre ou arrête le processus de détection d’objet.

  • Activer/désactiver le mappage spatial : afficher/masquer le rendu de mappage spatial. Cette option peut être utilisée pour déterminer si l’analyse est terminée ou non.

  • Paramètres du dispositif de suivi : active/désactive le menu des paramètres du dispositif de suivi.

  • Paramètres de la zone de recherche : active/désactive le menu des paramètres de la zone de recherche.

  • Démarrer le suivi : capture les données de diagnostic et les enregistre sur l’appareil. Pour plus d’informations, consultez la section Déboguer les problèmes de détection et capturer les diagnostics.

  • Charger le suivi : charge les données de diagnostics dans le service Object Anchors.

    Unity primary hand menu

Menu des paramètres du dispositif de suivi
  • Haute précision : fonctionnalité expérimentale utilisée pour obtenir une position plus précise. L’activation de cette option nécessite davantage de ressources système lors de la détection d’objet. Le maillage de l’objet s’affiche en rose dans ce mode. Cliquez de nouveau sur ce bouton pour revenir au mode de suivi normal.

  • Alignement vertical souple : permet de détecter un objet à un angle non vertical. Utile pour la détection d’objets sur des pentes.

  • Autoriser le changement d’échelle : permet au dispositif de suivi de modifier la taille de l’objet détecté en fonction d’informations environnementales.

  • Curseur de ratio de couverture : ajuste la proportion des points de surface qui doivent correspondre pour que le dispositif de suivi détecte un objet. Des valeurs inférieures permettent au dispositif de suivi de mieux détecter des objets à détecter pour les capteurs HoloLens, tels que des objets sombres ou très réfléchissants. Des valeurs plus élevées réduisent la fréquence des fausses détections.

    Unity tracker hand menu

Menu des paramètres de zone de recherche
  • Verrouiller la zone de recherche : verrouille le rectangle englobant de la zone de recherche pour empêcher tout déplacement accidentel résultant d’un mouvement de main.

  • Ajuster automatiquement la zone de recherche : permet que la zone de recherche se repositionne d’elle-même lors de la détection d’objet.

  • Cycle de maillage : parcourt la visualisation des maillages chargés dans la zone de recherche. Cette option permet aux utilisateurs d’aligner la zone de recherche pour détecter des objets difficiles à détecter.

    Unity search area hand menu

Dépannage

Conseils

Si votre objet n’est pas détecté, vous pouvez essayer les étapes suivantes :

  1. Vérifiez que vous utilisez le bon modèle pour votre objet.
  2. Visualisez la zone de recherche et assurez-vous qu’elle couvre l’objet cible.
  3. Essayez de réduire MinSurfaceCoverage.
  4. Dans le portail d’appareil Windows, cliquez sur Vues -> Vues 3D et vérifiez si la numérisation est terminée.

Étapes suivantes