Cvičení – začínáme s Azure Spatial Anchors

Dokončeno

V této lekci prozkoumáte kroky potřebné pro:

  • Spusťte a zastavte relaci Azure Spatial Anchors.
  • Vytvořte, nahrajte a stáhněte prostorové kotvy na jednom zařízení.

V důsledku dokončení požadavků pro tento modul learn byste už měli mít projekt Unity, který je nastavený a nakonfigurovaný pro OpenXR a MRTK3. Otevřete tento projekt a zkontrolujte, jestli máte vybrané správné možnosti:

  1. Přejděte na upravit > Nastavení publikování v aplikaci Project Nastavení > Player>.
  2. Posuňte se dolů do části Možnosti a vyberte následující položky, pokud ještě nejsou vybrané:
  • SpatialPerception
  • InternetClient
  • PrivateNetworkClientServer

Až budete hotovi, zavřete okno Nastavení Projectu a pokračujte dalším postupem.

Instalace integrovaných balíčků Unity a import prostředků kurzu

  1. Na řádku nabídek vyberte Okno> Správce balíčků.

  2. Ověřte, že je nainstalovaná verze AR Foundation verze 5.0.3 nebo nejnovější verze.

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

Import prostředků kurzu

  1. Podle tohoto kurzu přidejte do projektu sadu Azure Spatial Anchors SDK verze 2.12 nebo nejnovější verzi.

  2. Stáhněte a naimportujte následující vlastní balíčky Unity v tomto pořadí:

    Poznámka:

    Import MRTK3 i ASA může způsobit chyby, když verze balíčku ARFoundation neodpovídá importované verzi ARSubsystems. Dokud to neupravíte, můžete ručně přidat com.unity.xr.arsubsystems verze 5.0.2 do Správce balíčků projektu jako alternativní řešení.

    Zobrazí se upozornění, že arSubsystems je zastaralý, ale můžete ho ignorovat. Pokud se zobrazí nějaká upozornění CS0618, která říkají "WorldAnchor.SetNativeSpatialAnchorPtr(IntPtr)" je zastaralá, můžete je také ignorovat.

Příprava scény

V této části připravíte scénu přidáním některých předfabů kurzu.

  1. V podokně Projekt přejděte na sadu PROSTŘEDKŮ>MRTK. Tutorials.AzureSpatialAnchors>Prefabs folder a přetáhněte do podokna Hierarchie následující prefabs a přidejte je do scény:

    • Prefabs buttonParent
    • Předfaktory pokynů
    • Prefabs parentAnchor
    • Změňte hodnoty Tranform/Position buttonParentu na následující hodnoty: X = 0,0, Y = 1,6, Z = 0,6
    • Změňte hodnoty Tranform/Position pokynů na následující hodnoty: X = -0,8, Y = 2,0, Z = 2,0
    • Změňte hodnoty Tranform/Position parentAnchoru na následující hodnoty: X = -0,3, Y = 1,5, Z = 0,6Screenshot of prefabs added to the Hierarchy pane.

    Tip

    Pokud ve scéně najdete velké ikony (například velké ikony s rámečkem "T"), můžete je skrýt tak, že otevřete rozevírací seznam Gizmos a vypnete zobrazení ikon pro jednotlivé objekty.

  2. V okně Hierarchie vyberte MRTK XR Rig> Kamera Offset.

  3. V podokně inspektoru přidejte pomocí tlačítka Přidat součást následující součásti:

    • Správce ukotvení AR (skript)
    • DisableDiagnosticsSystem (skript)

    Poznámka:

    Když přidáte komponentu AR Anchor Manager (Script), komponenta XR Origin se automaticky přidá, protože komponenta AR Anchor Manager (Script) ji vyžaduje.

    Screenshot of adding AR Anchor Manager.

Konfigurace tlačítek pro provoz scény

V této části přidáte do scény skripty, které vytvoří řadu událostí spouštěných tlačítkem, které demonstrují základy chování místních ukotvení i prostorových ukotvení v aplikaci.

  1. V podokně Hierarchie rozbalte objekt ButtonParent a vyberte první podřízený objekt StartAzureSession.

  2. V podokně inspektoru přejděte do komponenty stisknutelným tlačítkem. Má událost Při kliknutí ().

  3. V hierarchii vyberte objekt ParentAnchor a přetáhněte ho do inspektoru a přetáhněte ho do pole None (Object) události On Clicked().

  4. Vyberte rozevírací seznam Bez funkce a pak vyberte AnchorModuleScript>StartAzureSession (). Tato funkce se spustí při aktivaci události.

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

  5. V podokně Hierarchie v podřízené seznamu ButtonParent vyberte StopAzureSession

  6. V podokně inspektoru přejděte do komponenty stisknutelným tlačítkem.

  7. V hierarchii vyberte objekt ParentAnchor a přetáhněte ho do inspektoru a přetáhněte ho do pole None (Object) události On Clicked().

  8. Vyberte rozevírací seznam Bez funkce a pak vyberte AnchorModuleScript>StopAzureSession ().

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

  9. V podokně Hierarchie v podřízené seznamu ButtonParent vyberte CreateAzureAnchor.

  10. V podokně inspektoru přejděte do komponenty stisknutelným tlačítkem.

  11. V hierarchii vyberte objekt ParentAnchor a přetáhněte ho do inspektoru a přetáhněte ho do pole None (Object) události On Clicked().

  12. Vyberte rozevírací seznam Bez funkce a vyberte AnchorModuleScript>CreateAzureAnchor.

  13. Znovu vyberte objekt ParentAnchor a přetáhněte ho do inspektoru a přetáhněte ho do parametru AnchorModuleScript.CreateAzureAnchor.

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

  14. V podokně Hierarchie v podřízeného seznamu ButtonParent vyberte RemoveLocalAnchor.

  15. V podokně inspektoru přejděte do komponenty stisknutelným tlačítkem.

  16. V hierarchii vyberte objekt ParentAnchor a přetáhněte ho do inspektoru a přetáhněte ho do pole None (Object) události On Clicked().

  17. Vyberte rozevírací seznam Bez funkce a pak vyberte AnchorModuleScript>RemoveLocalAnchor.

  18. Znovu vyberte objekt ParentAnchor a přetáhněte ho do inspektoru a přetáhněte ho do parametru AnchorModuleScript.RemoveLocalAnchor.

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

  19. V podokně Hierarchie v podřízené seznamu ButtonParent vyberte FindAzureAnchor.

  20. V podokně inspektoru přejděte do komponenty stisknutelným tlačítkem.

  21. V hierarchii vyberte objekt ParentAnchor a přetáhněte ho do inspektoru a přetáhněte ho do pole None (Object) události On Clicked().

  22. Vyberte rozevírací seznam Bez funkce a pak vyberte AnchorModuleScript>FindAzureAnchor.

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

  23. V podokně Hierarchie v podřízené seznamu ButtonParent vyberte DeleteAzureAnchor.

  24. V podokně inspektoru přejděte do komponenty stisknutelným tlačítkem.

  25. V hierarchii vyberte objekt ParentAnchor a přetáhněte ho do inspektoru a přetáhněte ho do pole None (Object) události On Clicked().

  26. Vyberte rozevírací seznam Bez funkce a pak vyberte AnchorModuleScript>DeleteAzureAnchor.

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

Připojení scénu k prostředku Azure

  1. V podokně Hierarchie vyberte objekt ParentAnchor.

  2. V podokně inspektoru vyhledejte komponentu Spatial Anchor Manager (Script).

  3. V části Přihlašovací údaje nakonfigurujte přihlašovací údaje z účtu Azure Spatial Anchors, který jste vytvořili jako součást požadavků pro tuto sérii kurzů:

    • Do pole ID účtu Spatial Anchors vložte hodnotu ID účtu z účtu Azure Spatial Anchors.
    • Do pole Klíč účtu Spatial Anchors vložte hodnotu primárního nebo sekundárního přístupového klíče z účtu Azure Spatial Anchors.
    • Do pole Doména účtu Spatial Anchors vložte hodnotu Doména účtu z účtu Azure Spatial Anchors.

    Screenshot of Unity with the Spatial Anchor Manager configured.

Vyzkoušejte základní chování Azure Spatial Anchors.

Azure Spatial Anchors nejde spustit v Unity. Pokud chcete otestovat funkce Azure Spatial Anchors, musíte sestavit projekt a nasadit aplikaci do zařízení.

Tip

Připomenutí, jak sestavit a nasadit projekt Unity do HoloLens 2, najdete v článku Sestavení aplikace do HoloLens 2 počínaje částí sestavení (volitelné) sestavení a nasazení aplikace .

Když aplikace běží na vašem zařízení, postupujte podle pokynů na obrazovce zobrazených na panelu s pokyny k kurzu azure Spatial Anchor:

  1. Přesuňte datovou krychli do jiného umístění.
  2. Spusťte relaci Azure.
  3. Vytvořte ukotvení Azure v umístění datové krychle.
  4. Zastavte relaci Azure.
  5. Odeberte místní ukotvení, aby uživatel mohl datová krychle přesunout.
  6. Přesuňte datová krychli jinam.
  7. Spusťte relaci Azure.
  8. Vyhledejte ukotvení Azure pro umístění datové krychle v umístění z kroku 3.
  9. Odstraňte ukotvení Azure.
  10. Zastavte relaci Azure.

Upozornění

Azure Spatial Anchors používá internet k ukládání a načítání dat ukotvení. Ujistěte se, že je vaše zařízení připojené k internetu.