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 sezení 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 Úpravy > Nastavení projektu > Přehrávač > Nastavení publikování.
  2. Posuňte se dolů do části Schopnosti a vyberte následující položky, pokud ještě nejsou vybrané:
  • ProstorovéVnímání
  • InternetClient
  • PrivateNetworkClientServer

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

Nainstalujte integrované balíčky Unity a importujte materiály pro výuku

  1. Na nabídkové liště vyberte Okno>Správce balíčků.

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

    Snímek obrazovky s výběry pro ověření verze AR Foundation ve Správci balíčků.

Import materiálů tutoriálu

  1. Přidejte do projektu sadu Azure Spatial Anchors SDK verze 2.12 nebo nejnovější verzi podle tohoto návodu.

  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 nebude opraveno, 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 prefabů kurzu.

  1. V podokně Projektu přejděte na Prostředky>MRTK.Tutorials.AzureSpatialAnchors>Prefabs složku a potom přetáhněte následující Prefabs do podokna Hierarchy a přidejte je do scény:

    • předfaktory ButtonParent
    • pokyny prefabrikáty
    • 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 Transform/Position na následující: X = -0,8, Y = 2,0, Z = 2,0
    • Změňte hodnoty ParentAnchor Transform/Position na následující: X = −0,3, Y = 1,5, Z = 0,6 Snímek obrazovky s prefaby přidané do podokna Hierarchie.

    Spropitné

    Pokud ve scéně najdete velké ikony (například velké ikony s rámečkem "T") rušivé, můžete je skrýt otevřením rozevíracího seznamu Gizmos a vypnutím zobrazení ikon pro jednotlivé objekty.

  2. V okně Hierarchy vyberte MRTK XR Rig>Odsazení kamery.

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

    • AR Manažer ukotvení (skript)
    • DisableDiagnosticsSystem (script)

    Poznámka

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

    snímek obrazovky s přidáním Správce AR ukotvení

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í na ().

  3. V hierarchiivyberte objekt ParentAnchor a přetáhněte ho do inspektoru události None (Objekt) události Při kliknutí().

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

    snímek obrazovky, který zobrazuje Unity s nakonfigurovanou událostí OnClick tlačítka StartAzureSession

  5. V podokně Hierarchie, v seznamu podřízených ButtonParent, vyberte StopAzureSession.

  6. V podokně Inspektoru přejděte ke komponentě Pressable Button.

  7. Ve struktuře Hierarchievyberte objekt ParentAnchor a přetáhněte ho do Inspektoru, potom ho umístěte do pole události Při kliknutí(), kde je None (Objekt).

  8. Vyberte rozevírací seznam Bez funkce a následně vyberte AnchorModuleScript>StopAzureSession ().

    snímek obrazovky Unity s nakonfigurovanou událostí OnClick tlačítka StopAzureSession.

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

  10. V podokně inspektoru přejděte ke komponentě Pressable Button.

  11. V hierarchii vyberte objekt ParentAnchor, přetáhněte jej do Inspektoru a umístěte jej do pole None (Object) události On Clicked().

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

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

    snímek obrazovky Unity, kde je nakonfigurována událost OnClick tlačítka CreateAzureAnchor

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

  15. V panelu Inspektor přejděte ke komponentě Stisknutelné tlačítko.

  16. Ve struktuře vyberte objekt ParentAnchor a přetáhněte ho do Inspektoru, pak ho umístěte do pole None (Objekt) události Při kliknutí().

  17. Vyberte rozevírací seznam Žádná funkce a pak vyberte AnchorModuleScript>RemoveLocalAnchor.

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

    Snímek obrazovky Unity s nakonfigurovanou událostí OnClick tlačítka RemoveLocalAnchor

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

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

  21. V hierarchiivyberte objekt ParentAnchor, přetáhněte ho do Inspektoru a umístěte ho do pole On Clicked() události None (Objekt).

  22. Vyberte výběrové pole Bez funkce a poté vyberte AnchorModuleScript>FindAzureAnchor.

    snímek obrazovky Unity s nakonfigurovanou událostí OnClick na tlačítku FindAzureAnchor

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

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

  25. Ve hierarchiivyberte objekt ParentAnchor, přetáhněte ho do Inspektoru a pusťte do Při kliknutí() události na pole None (Objekt).

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

    Snímek obrazovky z Unity, kde je na tlačítku DeleteAzureAnchor nakonfigurována událost OnClick.

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

  1. V podokně Hierarchie vyberte objekt ParentAnchor.

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

  3. Nakonfigurujte část Přihlašovací údaje s přihlašovacími údaji 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 vašeho úč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.

    snímek obrazovky Unity s nakonfigurovaným Správcem prostorového ukotvení

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í.

Spropitné

Pro připomenutí, jak sestavit a nasadit projekt Unity pro HoloLens 2, se podívejte na článek Sestavení vaší aplikace pro HoloLens 2 a začněte u části (Volitelné) sestavení a nasazení aplikace.

Když se aplikace spustí na vašem zařízení, postupujte podle pokynů na obrazovce zobrazených na panelu Kurz Azure Spatial Anchor.

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

Opatrnost

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.