Övning – Azure Cloud Services för HoloLens 2

Slutförd

Med varje kapitel i följd lägger du till nya Azure Cloud-tjänster för att utöka programfunktionerna och användarupplevelsen, samtidigt som du lär dig grunderna i varje Azure Cloud-tjänst.

Kommentar

Den här modulserien fokuserar på HoloLens 2, men på grund av Unitys plattformsoberoende karaktär kommer de flesta av dessa lektioner också att gälla för skrivbords- och mobilprogram.

Programmål

I den här modulserien skapar du ett HoloLens 2-program som kan identifiera objekt från bilder och hitta dess rumsliga plats. Vi refererar till dessa objekt som Spårade objekt.

Användaren kan skapa ett spårat objekt för att associera en uppsättning bilder via visuellt innehåll, en rumslig plats eller båda. Alla data måste sparas i molnet.

Funktioner

  • Grundläggande hantering av data och bilder
  • Bildträning och identifiering
  • Lagra en rumslig plats och vägledning till den

Azure Cloud Services

Du använder följande Azure Cloud-tjänster för att implementera ovanstående funktioner:

Azure Storage

Du använder Azure Storage för att spara data. Med Azure Storage kan du lagra data i en tabell och ladda upp stora binärfiler som bilder.

Azure Custom Vision

Med Azure AI Custom Vision (en del av Azure AI-tjänsterna) kan du associera en uppsättning bilder till Spårade objekt, träna en maskininlärningsmodell på den uppsättning du skapade och identifiera spårade objekt.

Azure Spatial Anchors

Om du vill lagra en plats för spårat objekt och ge guidade anvisningar för att hitta den använder du Azure Spatial Anchors.

Skapa och förbereda Unity-projektet

I det här avsnittet ska du skapa ett nytt Unity-projekt och förbereda det för MRTK-utveckling.

Följ först stegen i utbildningsvägen HoloLens 2, med undantag för att skapa ditt program enligt enhetsinstruktionerna, som innehåller följande steg:

  1. Skapa Unity-projektet och ge det ett lämpligt namn, till exempel Azure Cloud Tutorials
  2. Byta byggplattform
  3. Importerar nödvändiga TextMeshPro-resurser
  4. Importera Mixed Reality Toolkit
  5. Konfigurera Unity-projektet
  6. Skapa och konfigurera scenen och ge scenen ett lämpligt namn, till exempel AzureCloudServices

Importera självstudietillgångarna

  1. Lägg till SDK:et AzurespatialAnchors i projektet. Följ den här självstudien om du vill lägga till paketet.

  2. Ladda ned och importera följande anpassade Unity-paket i den ordning de visas:

    När du har importerat självstudietillgångarna bör projektfönstret se ut ungefär så här:

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

Förbereda scenen

I det här avsnittet förbereder du scenen genom att lägga till några av självstudieprefaberna.

  1. I fönstret Projekt navigerar du till MRTK för tillgångar>. Tutorials.AzureCloudServices>Prefabs>Manager-mapp . När du håller ned CTRL-knappen väljer du SceneController, RootMenu och DataManager för att välja de tre prefaberna:

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

    SceneController (prefab) innehåller två skript, SceneController (skript) och UnityDispatcher (skript). Skriptkomponenten SceneController innehåller flera UX-funktioner och underlättar funktionen för bildtagning, medan UnityDispatcher är en hjälpklass för att tillåta körningsåtgärder på Unity-huvudtråden.

    RootMenu (prefab) är den primära UI-prefab som innehåller alla gränssnittsfönster som är anslutna till varandra via olika små skriptkomponenter och styr programmets allmänna UX-flöde.

    DataManager (prefab) ansvarar för att prata med Azure Storage och kommer att förklaras ytterligare i nästa självstudie.

  2. Nu när de tre prefaberna fortfarande är markerade drar du dem till hierarkifönstret för att lägga till dem i scenen:

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

  3. Om du vill fokusera på objekten i scenen kan du dubbelklicka på RootMenu-objektet och sedan zooma ut något igen. När RootMenu-objektet fortfarande är markerat ändrar du dess värden i transformeringskomponenten till följande:

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

    Screenshot of Unity with RootMenu object selected.

    Dricks

    Om du hittar de stora ikonerna i din scen som distraherar (till exempel de stora inramade T-ikonerna) kan du dölja dem genom att växla Gizmos till avpositionen.

Konfigurera scenen

I det här avsnittet ansluter du SceneManager, DataManager och RootMenu till att ha en arbetsscen för nästa självstudie om integrering av Azure Storage.

Anslut objekten

  1. I fönstret Hierarki väljer du DataManager-objektet :

    Screenshot of Unity with DataManager object selected.

  2. Leta reda på komponenten DataManager (Skript) i fönstret Kontroll. Du ser ett tomt fack på händelsen On Data Manager Ready (). Dra Objektet SceneController från hierarkifönstret till händelsen På datahanteraren redo ().

    Screenshot of Unity with DataManager event listener added.

  3. Händelsens nedrullningsbara meny är nu aktiv. Välj den nedrullningsbara menyn, navigera till SceneController och välj alternativet Init () i undermenyn.

    Screenshot of Unity with DataManager event action added.

  4. I hierarkifönstret väljer du objektet SceneController . Du hittar komponenten SceneController (skript) i Inspector.

    Screenshot of Unity with SceneController selected.

  5. Det finns nu flera ofyllda fält. Låt oss ändra på det. Flytta DataManager-objektet från hierarkin till fältet Data Manager och flytta sedan RootMenu MainMenu> GameObject från hierarkin till fältet Huvudmeny.

    Screenshot of Unity with SceneController configured.

  6. I hierarkifönstret väljer du objektet MRTK XR Rig . Kontrollera att det underordnade MRTK Speech-objektet är aktiverat. På så sätt kan du öppna menyn genom att säga "Öppna meny".

  7. Nu är scenen redo för de kommande självstudierna. Glöm inte att spara den i projektet.

Förbereda pipeline för projektbygge

Kommentar

Det är inte obligatoriskt att skapa och testa på HoloLens 2. Du kan testa HoloLens 2-emulatorn om du inte har en HoloLens-enhet. Du kan köpa enheter på HoloLens.com.

Innan vi avslutar scenen ska vi förbereda projektet för att bygga för HoloLens 2.

1. Lägg till andra nödvändiga funktioner

  1. I Unity-menyn väljer du Redigera>projekt Inställningar... för att öppna fönstret Project Inställningar.

    Screenshot of Unity open Project Settings.

  2. I fönstret Project Inställningar väljer du Spelare och sedan Publicera Inställningar:

    Screenshot of Unity Publishing Settings.

  3. I Publicering Inställningar rullar du ned till avsnittet Funktioner och dubbelkollar att funktionerna InternetClient, Microphone och SpatialPerception (som du aktiverade när du skapade projektet i början av självstudien) är aktiverade. Aktivera sedan funktionerna InternetClientServer, PrivateNetworkClientServer och Webcam:

    Screenshot of Unity Capabilities

2. Distribuera appen till din HoloLens 2

Du kommer inte att kunna köra alla funktioner som du kommer att använda i den här självstudieserien i Unity-redigeraren. Därför måste du vara bekant med att distribuera programmet till din HoloLens 2-enhet eller emulator.

Dricks

En påminnelse om hur du skapar och distribuerar ditt Unity-projekt till HoloLens 2 finns i självstudierna Komma igång – Skapa och distribuera dina programinstruktioner .

3. Kör appen på din HoloLens 2 och följ anvisningarna i appen

Varning

Alla Azure-tjänster använder Internet, så se till att enheten är ansluten till Internet.

När programmet körs på enheten beviljar du åtkomst till följande begärda funktioner:

  • Mikrofon
  • Kamera

Dessa funktioner krävs för att tjänster som Custom Vision ska fungera korrekt.