Sdílet prostřednictvím


Nastavení a spuštění ukázek WLT+ASA

Shrnutí

World Locking Tools for Unity (WLT) poskytuje stabilní souřadnicový systém založený na místním sledování. V kombinaci s Azure Spatial Anchors (ASA) je možné zachovat stabilní souřadnicový systém napříč relacemi a sdílet mezi zařízeními.

Toto video vám může dát představu, co očekávat při spuštění ukázky.

Co je v této ukázce?

Tato ukázka poskytuje prostředky a skripty pro:

  1. Nakonfigurujte globální souřadnicový systém Unity s ohledem na fyzické prostředí.
  2. Publikujte konfiguraci systému souřadnic do Azure pomocí Azure Spatial Anchors.
  3. Načtením dat z Azure obnovíte souřadnicový systém v pozdějších relacích nebo na jiných zařízeních.

Struktura tohoto dokumentu

  1. Nastavení – Postup instalace a nasazení ukázkové aplikace
  2. Poznámky ke spuštění aplikace spolu s navrhovanými kroky
  3. Popis architektury podpůrných skriptů

Nastavení a otestované verze

Tento vzorek byl vyvinut a testován pomocí:

  • Unity 2020.3.8f1
  • Azure Spatial Anchors (ASA) v2.9.0 – v2.10.2.
  • Mixed Reality Toolkit v2.7.2
  • World Locking Tools for Unity v1.4.1
  • FrozenWorldEngine v1.1.1

WLT a tuto ukázku můžete nainstalovat buď z WLT verze .unitypackage , nebo z nástroje pro funkce hybridní reality. Při instalaci z FeatureTool musíte nainstalovat nejen závislost WLT Examples (automaticky), ale také importovat příklady do projektu. Podrobnosti najdete v tématu Instalace WLT z nástroje funkcí MR.

Instalace knihovny DLL zmrazeného world engine do projektu

Prvním krokem je instalace knihovny DLL frozen World Engine v1.1.1. Tady najdete pokyny, které používají NuGet pro Unity, nebo nuget.exe příkazového řádku.

Instalace ASA

Vytváření prostředků prostorového ukotvení

Tato úvodní příručka vás provede postupem vytvoření účtu Azure a potřebných prostředků prostorových ukotvení. Ke spuštění ukázky bude potřeba ID účtu, doména účtu a klíč účtu. Přidáte je do správných polí ve skriptu Spatial Anchor Manager v objektu SpacePinBinder ve scéně. Podporují se jiné metody ověřování, ale při zahájení je nejjednodušší ID účtu, doména nebo klíč.

Pole s přihlašovacími údaji

Nainstalujte sadu SDK .

Dále nainstalujte Azure Spatial Anchors v2.9.0 pomocí jedné z metod popsaných v těchto pokynech. Použil(a) jsem metodu MR Feature Tool.

Další nastavení pro hrubé přemístění

Při použití hrubého přemístění se při nasazování do Androidu nebo HoloLens2 vyžaduje další nastavení.

Co je hrubé přemístění?

Hrubé přemístění je technologie, která umožňuje vyhledat dříve vytvořené cloudové kotvy v rámci aktuálního okolí. Podrobnosti o přemístění kurzu najdete v části Přemístění kurzu v dokumentaci k Azure Spatial Anchors.

Tato ukázka ukazuje vyhledání cloudových ukotvení buď hrubým přemístěním, nebo explicitně POMOCÍ ID ukotvení cloudu (GUID). Pokud je povolené hrubé přemístění, vyžadují se následující další kroky nastavení. Pokud vás nezajímá hrubé přemístění, můžete ho zakázat v komponentě "Publisher ASA" na objektu SpacePinBinder.

Zakázání hrubého přemístění

Další kroky nastavení pro HoloLens2

Pokud chcete povolit hrubé přemístění na HoloLens2, musíte přidat oprávnění k souboru Package.appxmanifest vygenerovaného do ARM/WorldLockingTools/Package.appxmanifest (za předpokladu, že jste jako cíl sestavení vybrali složku ARM). Pokud je tento projekt vlastní, nahraďte v této cestě příslušný název WorldLockingTools. Do části Schopnosti přidejte následující řádek:

    <DeviceCapability Name="wiFiControl"/>

Další informace najdete v tomto příspěvku na GitHubu.

Pokud tento krok vynecháte, vydavatele "Readiness" se nikdy nedostane do stavu Připraveno, bude vaše frekvence snímků extrémně nízká a vaše UnityPlayer.log (pokud je vygenerováno) bude plná výjimek formuláře:

InvalidOperationException: Hrubé přidělení: Přístup k Wi-Fi byl odmítnut. Žádost CV: . Odpověď CV: .

Tuto funkci budete muset přidat do souboru Package.appxmanifest pokaždé, když je řešení sestavené z čistého prostředí. Následující buildy z Unity ale tuto funkci zachová.

Ve správě modulů plug-in Project Nastavení/XR se ujistěte, že windows Mixed Reality je vybraným poskytovatelem modulů plug-in na kartě UPW (OpenXR se podporuje také pro WLT s ASA).

Profil XAmple XRSDK ToolkitConfigurationProfile MRTK v XAmpleApp/CustomProfiles je vhodný pro spouštění na HoloLens2.

Další kroky nastavení pro Android

Pokud chcete v Androidu povolit hrubé přemístění, nakonfigurujte podle těchto pokynů soubor Assets/Plugins/Android/mainTemplate.gradle.

V modulu Assets/Plugins/Android/AndroidManifest.xml musí být také povolená spousta oprávnění, aby bylo možné povolit přístup k Wi-Fi na Androidu. Opět platí, že pokud do svého vlastního projektu začleníte prvky tohoto projektu, musíte postupovat podle těchto kroků, abyste mohli použít hrubé přemístění. Další podrobnosti o požadovaných oprávněních pro přístup k Wi-Fi v Androidu najdete v tomto příspěvku a příspěvek, na který odkazuje.

Ukázky upravených mainTemplate.gradle a AndroidManifest.xml jsou součástí ukázkového projektu WLT-ASA, který je nakonfigurovaný speciálně pro společné použití WLT a ASA. Dají se zkopírovat přímo do projektu po povolení vlastního hlavního manifestu a vlastní šablony Main Gradle v Nastavení publikování přehrávače, jak je popsáno.

Pokud v MRTK_Standard materiálu dojde k chybě sestavení a spuštění sestavení selže, zkuste znovu sestavit a spustit. Funguje to pro mě druhý pokus. Existují nějaké informace o tom, že v mrTK problémy, ale pokud mohu říct všechny informace, že jsou nesprávné.

V Aplikaci Project Nastavení/XR Plugin Management se ujistěte, že je ARCore vybraným poskytovatelem modulů plug-in na kartě Android.

Profil XAmple AR ToolkitConfigurationProfile MRTK je vhodný pro provoz na mobilních zařízeních. Po přepnutí na Android nebo iOS nezapomeňte skript Mixed Reality/Utilities/UnityAR/Update Scripting Defines spustit.

Co tlačítka dělají

Připraven

  • Přepínací špendlíky – Pokud nejsou mezerník aktivní, mohou být jejich úchyty pro manipulaci skryté.
  • Publikování – uložte aktuální konfiguraci a povolte její načtení v pozdější relaci nebo na jiných zařízeních.
  • Načtení Oracle – K obnovení prostorové konfigurace použijte dříve uložené vazby.
  • Vymazat Oracle – Odstraňte všechny záložní prostředky, zejména prostorové ukotvení Azure, a vymažte orákulum vazeb.
  • Hledání – Vyhledejte všechny prostorové kotvy Azure v bezprostřední blízkosti a obnovte z nich prostorovou konfiguraci.
  • Vyprázdnění – Vyhledejte všechny prostorové kotvy Azure v bezprostřední blízkosti a vymažte je.
  • Resetovat připínáky – Vrátí zpět všechny manipulace s mezerníkem. Nevymaže žádné prostorové ukotvení Azure.

Nabídka na mobilu se mírně liší ve formuláři, ale pozice a významy tlačítek jsou stejné.

Návod – publikování z HoloLens2

Umístění scény pomocí SpacePins

Při spuštění vzorku je souřadnicový systém umístěn a orientovaný na základě pozice sledování hlavy při spuštění. To znamená, že je to docela libovolné. První věcí, kterou je potřeba udělat, je upravit souřadnicový systém na požadovaný referenční stav.

Pohovka ve scéně PinTestSofa je 2,18 metrů dlouhá, 0,78 m vysoká a 1,0 m hluboko. SpacePin úchyty na každém konci horní části pohovky jsou proto 2,18 m od sebe a 0,78 m od země. Doporučuji měření a umístění dočasných značek 2,18 m od sebe, na určitou pohodlnou výšku. Případně můžete scénu upravit tak, aby odpovídala fyzickému prostoru.

Po sestavení a nasazení aplikace do zařízení HoloLens2 počkejte, až se stav v plovoucí nabídce zobrazí s upozorněním Připraveno (nápověda – stavový řádek přejde z červené na bílou, až bude připraven).

Nepřipraveno

Po jednom vezměte každou z úchytů SpacePin (bílé drátové koule) a přetáhněte ji do pozice vzhledem k vašim referenčním značkám.

Po uvolnění každé značky do pozice by scéna měla být přesunuta k obnovení zadní části pohovky vzhledem k SpacePin. Objekty ve scéně se nepřesouvají, celý prostor souřadnic se upraví tak, aby původní souřadnice spacepins byly na místě ve fyzickém světě, do kterého jste je přetáhli.

Publikování prostoru souřadnic

Po vytvoření požadovaného prostoru teď můžete toto místo publikovat a zpřístupnit ho v pozdějších relacích a na jiných zařízeních.

Pokud používáte hrubé přemístění, je vhodné v tuto chvíli vymazat všechny dříve vytvořené cloudové kotvy. Stiskněte tlačítko "Vyprázdnit z hledání" a počkejte na dokončení.

Teď v plovoucí nabídce stiskněte tlačítko Publikovat a počkejte, až se dokončí.

Připraven

Návod – Využívání z HoloLens2 pomocí hrubého přemístění

Spusťte aplikaci znovu na jiném zařízení HoloLens2 nebo na stejném zařízení po zavření předchozí relace. Jakmile se stav zobrazí jako Připraveno, stiskněte tlačítko Načíst z hledání. Po dokončení operace se globální souřadnicový systém Unity přerovná do vašeho fyzického prostředí, protože byl v předchozí (publikované) relaci.

Návod – Využívání z HoloLens2 pomocí IBindingOracle (SpacePinBinderFile)

Když jsou vazby publikovány na zařízení nebo když jsou obnoveny z vyhledávání, jsou zaznamenány do IBindingOracle. Tato ukázka obsahuje nejzábavnější Oracle, který jednoduše zapisuje vazby do textového souboru.

Restartujte aplikaci do nové relace. Pokud se jedná o stejný HoloLens2, ze které bylo provedeno publikování, existuje soubor vazby z publikování. Pokud se jedná o jiný HoloLens2, ale hledání bylo úspěšně provedeno v předchozí relaci, soubor vazby z tohoto souboru zůstane.

Stisknutím tlačítka Načíst ze souboru načtěte dříve zaznamenané vazby a obnovte souřadnicový prostor.

Návod – Využívání z Androidu pomocí hrubého přemístění

UX se v Androidu mírně liší, ale funguje úplně stejně. Hlavní rozdíl spočívá v tom, že se vyžaduje trochu větší kontrola prostředí při spuštění vzhledem k HoloLens2, než ASA bude připraven pokračovat.

Když se systém zobrazí jako Připraveno, můžete stisknout modré tlačítko (třetí zprava) a vyhledat dříve publikované vazby a obnovit souřadnicový systém.

Návod – Využívání z Androidu pomocí IBindingOracle (SpacePinBinderFile)

Po úspěšném dokončení načtení z hledání se na zařízení ponechá soubor vazeb. V pozdějších relacích stačí stisknout možnost Načíst ze souboru a obnovit souřadnicový systém.

Alternativně můžete zkopírovat textový soubor vazeb ze zařízení pro publikování do spotřebujícího zařízení. Výchozí umístění textového souboru vazeb je:

HoloLens2: Uživatelské složky/ LocalAppData/WLT-ASA/LocalState/BinderFile.txt

Android: Interní sdílené úložiště/Android/data/com. WorldLockingTools.WLTASA/files/BinderFile.txt

Viz také