Övning – Kom igång med Azure Spatial Anchors

Slutförd

I den här lektionen ska du utforska de steg som krävs för att:

  • Starta och stoppa en Azure Spatial Anchors-session.
  • Skapa, ladda upp och ladda ned spatiala fästpunkter på en enda enhet.

När du har slutfört förutsättningarna för den här learn-modulen bör du redan ha ett Unity-projekt som har konfigurerats för OpenXR och MRTK3. Öppna projektet och kontrollera sedan att du har rätt funktioner valda:

  1. Gå till Redigera > Project Inställningar > Player > Publishing Inställningar.
  2. Rulla ned till avsnittet Funktioner och välj följande om de inte redan är markerade:
  • SpatialPerception
  • InternetClient
  • PrivateNetworkClientServer

När du är klar stänger du fönstret Project Inställningar och fortsätter med nästa steg.

Installera inbyggda Unity-paket och importera självstudietillgångarna

  1. På menyraden väljer du Fönsterpakethanterare>.

  2. Kontrollera att AR Foundation version 5.0.3 eller den senaste versionen är installerad.

    Screenshot of selections for verifying the AR Foundation version for Package Manager.

Importera självstudietillgångarna

  1. Lägg till Azure Spatial Anchors SDK V2.12, eller den senaste versionen, i projektet genom att följa den här självstudien.

  2. Ladda ned och importera följande anpassade Unity-paket i den här ordningen:

    Kommentar

    Import av både MRTK3 och ASA kan orsaka fel när ARFoundation-paketversionen inte matchar den importerade ARSubsystems-versionen. Tills detta har åtgärdats kan du lägga till com.unity.xr.arsubsystems version 5.0.2 manuellt i projektets Package Manager som en lösning.

    Du får en varning om att ARSubsystem har blivit inaktuella, men du kan ignorera det. Om du ser några CS0618-varningar som säger "WorldAnchor.SetNativeSpatialAnchorPtr(IntPtr)" är föråldrad kan du också ignorera dessa.

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 går du till MRTK för tillgångar>. Tutorials.AzureSpatialAnchors>Prefabs-mappen och dra sedan följande prefabs till hierarkifönstret för att lägga till dem i din scen:

    • ButtonParent-prefabs
    • Instruktioner prefabs
    • ParentAnchor-prefabs
    • Ändra Värdena för ButtonParents Tranform/Position till följande: X = 0,0, Y = 1,6, Z = 0,6
    • Ändra värdena för Tranform/Position i anvisningarna till följande: X = -0,8, Y = 2,0, Z = 2,0
    • Ändra Värden för ParentAnchor Tranform /Position till följande: X = -0,3, Y = 1,5, Z = 0,6 Screenshot of prefabs added to the Hierarchy pane.

    Dricks

    Om du hittar de stora ikonerna i din scen (till exempel de stora inramade "T"-ikonerna) som distraherar, kan du dölja dem genom att öppna listrutan Gizmos och stänga av visning av ikoner för enskilda objekt.

  2. I hierarkifönstret väljer du MRTK XR Rig> Kamera Offset.

  3. I fönstret Inspector (Kontroll ) använder du knappen Lägg till komponent för att lägga till följande komponenter:

    • AR Anchor Manager (skript)
    • DisableDiagnosticsSystem (skript)

    Kommentar

    När du lägger till komponenten AR Anchor Manager (Script) läggs XR Origin-komponenten automatiskt till, eftersom komponenten AR Anchor Manager (Script) kräver det.

    Screenshot of adding AR Anchor Manager.

Konfigurera knapparna för att använda scenen

I det här avsnittet lägger du till skript i scenen för att skapa en serie knapphändelser som visar grunderna i hur både lokala fästpunkter och spatiala fästpunkter beter sig i en app.

  1. I fönstret Hierarki expanderar du objektet ButtonParent och väljer det första underordnade objektet StartAzureSession.

  2. I fönstret Inspector (Kontroll ) går du till komponenten Tryckbar knapp . Den har en händelse som klickas på ().

  3. I hierarkin väljer du ParentAnchor-objektet och drar det sedan till Inspector och släpper det i fältet Ingen (objekt) för händelsen Klickad().

  4. Välj listrutan Ingen funktion och välj sedan AnchorModuleScript>StartAzureSession (). Den här funktionen körs när händelsen utlöses.

    Screenshot that shows Unity with the StartAzureSession button's OnClick event configured.

  5. I fönstret Hierarki i listan ButtonParent underordnad väljer du StoppaAzureSession

  6. I fönstret Inspector (Kontroll ) går du till komponenten Tryckbar knapp .

  7. I hierarkin väljer du ParentAnchor-objektet och drar det sedan till Inspector och släpper det i fältet Ingen (objekt) för händelsen Klickad().

  8. Välj listrutan Ingen funktion och välj sedan AnchorModuleScript>StopAzureSession ().

    Screenshot of Unity with the StopAzureSession button's OnClick event configured.

  9. I fönstret Hierarki i listan ButtonParent underordnad väljer du SkapaAzureAnchor.

  10. I fönstret Inspector (Kontroll ) går du till komponenten Tryckbar knapp .

  11. I hierarkin väljer du ParentAnchor-objektet och drar det sedan till Inspector och släpper det i fältet Ingen (objekt) för händelsen Klickad().

  12. Välj listrutan Ingen funktion och välj AnchorModuleScript>CreateAzureAnchor.

  13. Välj ParentAnchor-objektet igen och dra det sedan till Inspector och släpp det i parametern AnchorModuleScript.CreateAzureAnchor.

    Screenshot of Unity with the CreateAzureAnchor button's OnClick event configured.

  14. I fönstret Hierarki i listan ButtonParent underordnad väljer du RemoveLocalAnchor.

  15. I fönstret Inspector (Kontroll ) går du till komponenten Tryckbar knapp .

  16. I hierarkin väljer du ParentAnchor-objektet och drar det sedan till Inspector och släpper det i fältet Ingen (objekt) för händelsen Klickad().

  17. Välj listrutan Ingen funktion och välj sedan AnchorModuleScript>RemoveLocalAnchor.

  18. Välj ParentAnchor-objektet igen och dra det sedan till Inspector och släpp det i parametern AnchorModuleScript.RemoveLocalAnchor.

    Screenshot of Unity with the RemoveLocalAnchor button's OnClick event configured.

  19. I fönstret Hierarki i listan ButtonParent underordnad väljer du HittaAzureAnchor.

  20. I fönstret Inspector (Kontroll ) går du till komponenten Tryckbar knapp .

  21. I hierarkin väljer du ParentAnchor-objektet och drar det sedan till Inspector och släpper det i fältet Ingen (objekt) för händelsen Klickad().

  22. Välj listrutan Ingen funktion och välj sedan AnchorModuleScript>FindAzureAnchor.

    Screenshot of Unity with the FindAzureAnchor button's OnClick event configured.

  23. I fönstret Hierarki i listan ButtonParent underordnad väljer du Ta bortAzureAnchor.

  24. I fönstret Inspector (Kontroll ) går du till komponenten Tryckbar knapp .

  25. I hierarkin väljer du ParentAnchor-objektet och drar det sedan till Inspector och släpper det i fältet Ingen (objekt) för händelsen Klickad().

  26. Välj listrutan Ingen funktion och välj sedan AnchorModuleScript>DeleteAzureAnchor.

    Screenshot of Unity with the DeleteAzureAnchor button's OnClick event configured.

Anslut scenen till Azure-resursen

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

  2. Leta reda på komponenten Spatial Anchor Manager (Script) i fönstret Kontroll.

  3. Konfigurera avsnittet Autentiseringsuppgifter med autentiseringsuppgifterna från Azure Spatial Anchors-kontot som du skapade som en del av förutsättningarna för den här självstudieserien:

    • I fältet Spatial Anchors-konto-ID klistrar du in värdet konto-ID från ditt Azure Spatial Anchors-konto.
    • I fältet Kontonyckel för Spatial Anchors klistrar du in det primära eller sekundära åtkomstnyckelvärdet från ditt Azure Spatial Anchors-konto.
    • I fältet Spatial Anchors-kontodomän klistrar du in värdet Kontodomän från ditt Azure Spatial Anchors-konto.

    Screenshot of Unity with the Spatial Anchor Manager configured.

Prova de grundläggande beteendena för Azure Spatial Anchors

Azure Spatial Anchors kan inte köras i Unity. För att testa Azure Spatial Anchors-funktionerna måste du skapa projektet och distribuera appen till din enhet.

Dricks

En påminnelse om hur du skapar och distribuerar ditt Unity-projekt till HoloLens 2 finns i artikeln Skapa ditt program till HoloLens 2 med början i avsnittet (Valfritt) Skapa och distribuera programmet .

När appen körs på enheten följer du anvisningarna på skärmen som visas på panelen Självstudieinstruktioner för Azure Spatial Anchor:

  1. Flytta kuben till en annan plats.
  2. Starta en Azure-session.
  3. Skapa en Azure-fästpunkt på kubens plats.
  4. Stoppa Azure-sessionen.
  5. Ta bort den lokala fästpunkten så att användaren kan flytta kuben.
  6. Flytta kuben till någon annanstans.
  7. Starta en Azure-session.
  8. Hitta Azure-fästpunkten för att placera kuben på platsen från steg 3.
  9. Ta bort Azure Anchor.
  10. Stoppa Azure-sessionen.

Varning

Azure Spatial Anchors använder Internet för att spara och läsa in ankardata. Kontrollera att enheten är ansluten till Internet.