Oefening: Azure Cloud Services voor HoloLens 2

Voltooid

Met elk opeenvolgend hoofdstuk voegt u nieuwe Azure Cloud-services toe om de toepassingsfuncties en gebruikerservaring uit te breiden, terwijl u de basisprincipes van elke Azure Cloud-service leert.

Notitie

Deze modulereeks richt zich op de HoloLens 2, maar vanwege de platformoverschrijdende aard van Unity zijn de meeste van deze lessen ook van toepassing op desktop- en mobiele toepassingen.

Toepassingsdoelen

In deze modulereeks bouwt u een HoloLens 2-toepassing die objecten uit afbeeldingen kan detecteren en de ruimtelijke locatie ervan kan vinden. We verwijzen naar deze objecten als Bijgehouden objecten.

De gebruiker kan een bijgehouden object maken om een set afbeeldingen te koppelen via computer vision, een ruimtelijke locatie of beide. Alle gegevens moeten in de cloud worden bewaard.

Functies

  • Basisbeheer van gegevens en afbeeldingen
  • Training en detectie van afbeeldingen
  • Een ruimtelijke locatie en richtlijnen opslaan

Azure Cloud Services

U gebruikt de volgende Azure Cloud-services om de bovenstaande functies te implementeren:

Azure Storage

U gebruikt Azure Storage om gegevens vast te houden. Met Azure Storage kunt u gegevens opslaan in een tabel en grote binaire bestanden uploaden, zoals afbeeldingen.

Azure Custom Vision

Met Azure AI Custom Vision (onderdeel van de Azure AI-services) kunt u een set afbeeldingen koppelen aan bijgehouden objecten, een machine learning-model trainen op de set die u hebt gemaakt en de bijgehouden objecten detecteren.

Azure Spatial Anchors

Als u een locatie van een bijgehouden object wilt opslaan en begeleide aanwijzingen wilt geven om het te vinden, gebruikt u Azure Spatial Anchors.

Het Unity-project maken en voorbereiden

In deze sectie maakt u een nieuw Unity-project en bereidt u het voor op MRTK-ontwikkeling.

Volg eerst de stappen in het HoloLens 2-leertraject, met uitzondering van de instructies voor het bouwen van uw toepassing op uw apparaat, met de volgende stappen:

  1. Het Unity-project maken en deze een geschikte naam geven, bijvoorbeeld Azure Cloud Tutorials
  2. Overschakelen van het buildplatform
  3. De Essential Resources van TextMeshPro importeren
  4. De Mixed Reality Toolkit importeren
  5. Het Unity-project configureren
  6. De scène maken en configureren en de scène een geschikte naam geven, bijvoorbeeld AzureCloudServices

De zelfstudieassets importeren

  1. Voeg de AzurespatialAnchors SDK toe aan uw project. Volg deze zelfstudie om het pakket toe te voegen.

  2. Download en importeer de volgende aangepaste Unity-pakketten in de volgorde waarin ze worden vermeld:

    Nadat u de zelfstudieassets hebt geïmporteerd, ziet het projectvenster er ongeveer als volgt uit:

    Screenshot of Unity Hierarchy, Scene, and Project windows after importing the tutorial assets.

De scène voorbereiden

In deze sectie bereidt u de scène voor door enkele van de prefabs van de zelfstudie toe te voegen.

  1. Navigeer in het venster Project naar de MRTK assets>. De map Tutorials.AzureCloudServices Prefabs>Manager.> Terwijl u de Ctrl-knop ingedrukt houdt, selecteert u SceneController, RootMenu en DataManager om de drie prefabs te selecteren:

    Screenshot of Unity with SceneController, RootMenu, and DataManager prefabs selected.

    De ScèneController (prefab) bevat twee scripts, ScèneController (script) en UnityDispatcher (script). Het ScèneController-scriptonderdeel bevat verschillende UX-functies en faciliteert de functionaliteit voor het vastleggen van foto's, terwijl UnityDispatcher een helperklasse is om uitvoeracties op de Unity-hoofdthread toe te staan.

    Het RootMenu (prefab) is de primaire UI-prefab die alle UI-vensters bevat die met elkaar zijn verbonden via verschillende kleine scriptonderdelen en de algemene UX-stroom van de toepassing beheren.

    DataManager (prefab) is verantwoordelijk voor het praten met Azure Storage en wordt verder uitgelegd in de volgende zelfstudie.

  2. Als de drie prefabs nog steeds zijn geselecteerd, sleept u ze naar het venster Hierarchy om ze toe te voegen aan de scène:

    Screenshot of Unity with newly added SceneController, RootMenu and DataManager prefabs still selected.

  3. Als u zich wilt richten op de objecten in de scène, dubbelklikt u op het object RootMenu en zoomt u iets opnieuw uit. Terwijl het object RootMenu nog steeds is geselecteerd, wijzigt u de waarden in het onderdeel Transformeren in het volgende:

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

    Screenshot of Unity with RootMenu object selected.

    Tip

    Als u de grote pictogrammen in uw scène afleidt (bijvoorbeeld de grote 'T'-pictogrammen), kunt u ze verbergen door de Gizmos naar de off-positie te schakelen.

De scène configureren

In deze sectie verbindt u SceneManager, DataManager en RootMenu samen om een werkscène te hebben voor de volgende zelfstudie over het integreren van Azure Storage.

de objecten Verbinding maken

  1. Selecteer in het venster Hierarchy het DataManager-object :

    Screenshot of Unity with DataManager object selected.

  2. Zoek in het venster Inspector het onderdeel DataManager (Script). U ziet een lege site op de gebeurtenis On Data Manager Ready (). Sleep het ScèneController-object vanuit het venster Hierarchy naar de gebeurtenis On Data Manager Ready ().

    Screenshot of Unity with DataManager event listener added.

  3. De vervolgkeuzelijst van de gebeurtenis is nu actief. Selecteer de vervolgkeuzelijst, navigeer naar SceneController en selecteer de optie Init () in het submenu.

    Screenshot of Unity with DataManager event action added.

  4. Selecteer in het venster Hierarchy het Object SceneController . U vindt het onderdeel SceneController (script) in de Inspector.

    Screenshot of Unity with SceneController selected.

  5. Er zijn nu verschillende niet-ingevulde velden; Laten we dat veranderen. Verplaats het DataManager-object van de hiërarchie naar het veld Data Manager en verplaats vervolgens het Hoofdmenu Hoofdmenu> GameObject van de hiërarchie naar het veld Hoofdmenu.

    Screenshot of Unity with SceneController configured.

  6. Selecteer in het venster Hierarchy het MRTK XR Rig-object . Zorg ervoor dat het onderliggende MRTK Speech-object is ingeschakeld. Hiermee kunt u het menu openen door 'Menu Openen' te zeggen.

  7. Nu is uw scène klaar voor de komende zelfstudies. Vergeet niet om het op te slaan in uw project.

Pijplijn voor projectbuild voorbereiden

Notitie

Het bouwen en testen op HoloLens 2 is niet verplicht. U kunt testen op de HoloLens 2 Emulator als u geen HoloLens-apparaat hebt. U kunt apparaten kopen op HoloLens.com.

Voordat we klaar zijn met de scène, gaan we het project voorbereiden om te bouwen voor HoloLens 2.

1. Andere vereiste mogelijkheden toevoegen

  1. Selecteer In het Unity-menu Project bewerken>Instellingen... om het venster Project Instellingen te openen.

    Screenshot of Unity open Project Settings.

  2. Selecteer Player in het venster Project Instellingen en vervolgens Instellingen publiceren:

    Screenshot of Unity Publishing Settings.

  3. Schuif in Het publiceren Instellingen omlaag naar de sectie Mogelijkheden en controleer of de mogelijkheden van InternetClient, Microfoon en SpatialPerception (die u hebt ingeschakeld toen u het project aan het begin van de zelfstudie maakte) zijn ingeschakeld. Schakel vervolgens de mogelijkheden InternetClientServer, PrivateNetworkClientServer en Webcam in:

    Screenshot of Unity Capabilities

2. Implementeer de app op uw HoloLens 2

U kunt niet alle functies uitvoeren die u in deze zelfstudiereeks in de Unity-editor gaat gebruiken. Daarom moet u bekend zijn met het implementeren van de toepassing op uw HoloLens 2-apparaat of emulator.

Tip

Voor een herinnering over het bouwen en implementeren van uw Unity-project in HoloLens 2, kunt u verwijzen naar de zelfstudies Aan de slag: instructies voor het bouwen en implementeren van uw toepassing .

3. Voer de app uit op uw HoloLens 2 en volg de instructies in de app

Let op

Alle Azure-services gebruiken internet, dus zorg ervoor dat uw apparaat is verbonden met internet.

Wanneer de toepassing op uw apparaat wordt uitgevoerd, verleent u toegang tot de volgende aangevraagde mogelijkheden:

  • Microfoon
  • Camera

Deze mogelijkheden zijn vereist om services zoals Custom Vision goed te laten functioneren.