Exercice - Services cloud Azure pour HoloLens 2

Effectué

Avec chaque chapitre consécutif, vous allez ajouter de nouveaux services Cloud Azure pour développer les fonctionnalités d’application et l’expérience utilisateur, tout en vous apprenant les principes fondamentaux de chaque service cloud Azure.

Remarque

Cette série de modules se concentre sur HoloLens 2, mais en raison de la nature multiplateforme d’Unity, la plupart de ces leçons s’appliquent également aux applications de bureau et mobiles.

Objectifs de l’application

Dans cette série de modules, vous allez créer une application HoloLens 2 qui peut détecter des objets à partir d’images et trouver son emplacement spatial. Nous allons faire référence à ces objets en tant qu’objets suivis.

L’utilisateur peut créer un objet suivi pour associer un ensemble d’images via la vision par ordinateur, un emplacement spatial ou les deux. Toutes les données doivent être conservées dans le cloud.

Fonctionnalités

  • Gestion de base des données et des images
  • Formation et détection d’images
  • Stockage d’un emplacement spatial et d’instructions à celui-ci

Azure Cloud Services

Vous allez utiliser les services Cloud Azure suivants pour implémenter les fonctionnalités ci-dessus :

Azure Storage

Vous utiliserez Stockage Azure pour conserver les données. Stockage Azure vous permet de stocker des données dans une table et de charger des fichiers binaires volumineux comme des images.

Azure Custom Vision

Avec Azure AI Custom Vision (partie des services Azure AI), vous pouvez associer un ensemble d’images à Des objets suivis, entraîner un modèle Machine Learning sur le jeu que vous avez créé et détecter les objets suivis.

Créer et préparer le projet Unity

Dans cette section, vous allez créer un projet Unity et le préparer au développement MRTK.

Tout d’abord, suivez les étapes du parcours d’apprentissage HoloLens 2, à l’exception de la génération de votre application sur vos instructions d’appareil, ce qui inclut les étapes suivantes :

  1. Création du projet Unity et attribution d’un nom approprié, par exemple, didacticiels sur le cloud Azure
  2. Changement de la plateforme de compilation
  3. Importation des ressources TextMeshPro Essential
  4. Importation du Mixed Reality Toolkit
  5. Configuration du projet Unity
  6. Création et configuration de la scène et donner à la scène un nom approprié, par exemple , AzureCloudServices

Importer les ressources du tutoriel

  1. Téléchargez et importez les packages personnalisés Unity suivants dans l’ordre dans lequel ils sont répertoriés :

    Une fois que vous avez importé les ressources du didacticiel, votre fenêtre Project doit ressembler à ceci :

    Capture d’écran des fenêtres Hiérarchie, Scène et Projet Unity après l’importation des ressources du didacticiel.

Préparer la scène

Dans cette section, vous allez préparer la scène en ajoutant certains des préfabriqués du didacticiel.

  1. Dans la fenêtre du Projet, accédez au dossier Assets>MRTK.Tutorials.AzureCloudServices>Prefabs>Manager. Tout en maintenant enfoncé le bouton Ctrl, sélectionnez SceneController, RootMenu et DataManager pour sélectionner les trois préfabriqués :

    Capture d’écran d’Unity avec SceneController, RootMenu et DataManager prefabs sélectionnés.

    SceneController (prefab) contient deux scripts, SceneController (script) et UnityDispatcher (script). Le composant de script SceneController contient plusieurs fonctions d’expérience utilisateur et facilite la fonctionnalité de capture photo, tandis que UnityDispatcher est une classe d’assistance pour autoriser les actions d’exécution sur le thread principal Unity.

    RootMenu (prefab) est le prefab d’interface utilisateur principal qui contient toutes les fenêtres d’interface utilisateur connectées les unes aux autres via différents petits composants de script et contrôler le flux d’expérience utilisateur général de l’application.

    Le DataManager (préfabriqué) est chargé de communiquer avec le stockage Azure et sera expliqué plus en détail dans le tutoriel suivant.

  2. Maintenant, avec les trois préfabriqués toujours sélectionnés, faites-les glisser dans la fenêtre Hiérarchie pour les ajouter à la scène :

    Capture d’écran d’Unity avec les prefabs SceneController, RootMenu et DataManager qui viennent d’être ajoutés.

  3. Pour vous concentrer sur les objets de la scène, vous pouvez double-cliquer sur l’objet RootMenu , puis effectuer un zoom arrière légèrement arrière. Avec l’objet RootMenu toujours sélectionné, modifiez ses valeurs dans son composant Transform en procédant comme suit :

    Position : X = 0,0, Y = 1,6, Z = 0,6

    Capture d’écran de Unity avec l’objet RootMenu sélectionné.

    Conseil / Astuce

    Si vous trouvez les grandes icônes dans votre scène distraire (par exemple, les grandes icônes « T » encadrées), vous pouvez les masquer en basculez les Gizmos à la position désactivée.

Configuration de la scène

Dans cette section, vous allez connecter SceneManager, DataManager et RootMenu ensemble pour avoir une scène de travail pour le prochain didacticiel d’intégration du stockage Azure.

Connecter les objets

  1. Dans la fenêtre Hierarchy, sélectionnez l’objet DataManager :

    Capture d’écran de Unity avec l’objet DataManager sélectionné.

  2. Dans la fenêtre Inspector, recherchez le composant DataManager (Script). Vous verrez un emplacement vide sur l’événement On Data Manager Ready (). Faites glisser l’objet SceneController de la fenêtre Hierarchy vers l’événement On Data Manager Ready ().

    Capture d’écran de Unity avec l’écouteur d’événements DataManager ajouté.

  3. Le menu déroulant de l’événement est désormais actif. Sélectionnez le menu déroulant, accédez à SceneController, puis sélectionnez l’option Init () dans le sous-menu.

    Capture d’écran de Unity avec l’action d’événement DataManager ajoutée.

  4. Dans la fenêtre Hierarchy, sélectionnez l’objet SceneController . Vous trouverez le composant SceneController (script) dans l’inspecteur.

    Capture d’écran de Unity avec SceneController sélectionné.

  5. Il existe maintenant plusieurs champs non remplis ; changeons ça. Déplacez l’objet DataManager de la hiérarchie dans le champ Gestionnaire de données, puis déplacez rootMenu MainMenu> GameObject de la hiérarchie dans le champ Menu principal.

    Capture d’écran d’Unity avec SceneController configuré.

  6. Dans la fenêtre Hierarchy, sélectionnez l’objet MRTK XR Rig . Vérifiez que l’objet enfant MRTK Speech est activé. Cela vous permet d’ouvrir le menu en disant « Menu Ouvrir ».

  7. Votre scène est maintenant prête pour les didacticiels à venir. N’oubliez pas de l’enregistrer dans votre projet.

Préparer le pipeline de génération de projet

Remarque

La création et le test sur HoloLens 2 ne sont pas obligatoires. Vous pouvez tester sur l’émulateur HoloLens 2 si vous n’avez pas d’appareil HoloLens. Vous pouvez acheter des appareils à HoloLens.com.

Avant de terminer la scène, préparons le projet à générer pour HoloLens 2.

1. Ajouter d’autres fonctionnalités requises

  1. Dans le menu Unity, sélectionnez Modifier>les paramètres du projet... pour ouvrir la fenêtre Paramètres du projet.

    Capture d’écran d’Unity pour ouvrir les paramètres du projet.

  2. Dans la fenêtre Paramètres du projet, sélectionnez Lecteur, puis Paramètres de publication :

    Capture d’écran des paramètres de publication Unity.

  3. Dans Paramètres de publication, faites défiler jusqu’à la section Fonctionnalités et vérifiez que les fonctionnalités InternetClient, Microphone et SpatialPerception (que vous avez activées lors de la création du projet au début du didacticiel) sont activées. Ensuite, activez les fonctionnalités InternetClientServer, PrivateNetworkClientServer et Webcam :

    Capture d’écran des fonctionnalités Unity

2. Déployer l’application sur votre HoloLens 2

Vous ne pourrez pas exécuter toutes les fonctionnalités que vous utiliserez dans cette série de tutoriels dans l’éditeur Unity. Par conséquent, vous devez être familiarisé avec le déploiement de l’application sur votre appareil ou émulateur HoloLens 2.

Conseil / Astuce

Pour un rappel sur la création et le déploiement de votre projet Unity sur HoloLens 2, vous pouvez consulter les didacticiels de prise en main : Générer et déployer vos instructions d’application .

3. Exécutez l’application sur votre HoloLens 2 et suivez les instructions dans l’application.

Avertissement

Tous les services Azure utilisent Internet. Vérifiez donc que votre appareil est connecté à Internet.

Lorsque l’application s’exécute sur votre appareil, accordez l’accès aux fonctionnalités demandées suivantes :

  • Microphone
  • Caméra

Ces fonctionnalités sont requises pour que les services tels que Custom Vision fonctionnent correctement.