Megosztás a következőn keresztül:


A WLT+ASA-minták beállítása és futtatása

Összegzés

A World Locking Tools for Unity (WLT) stabil koordinátarendszert biztosít a helyi nyomon követés alapján. Az Azure Spatial Anchors (ASA) használatával kombinálva ez a stabil koordinátarendszer több munkamenetben is megőrizhető, és megosztható az eszközökön.

Ez a videó képet ad arról, hogy mire számíthat a minta futtatásakor.

Mi van ebben a mintában?

Ez a minta a következő eszközökhöz és szkriptekhez biztosít eszközöket és szkripteket:

  1. Konfigurálja a Unity globális koordináta-rendszerét a fizikai környezet tekintetében.
  2. Tegye közzé a rendszerkonfigurációt az Azure-ban az Azure Spatial Anchors használatával.
  3. Kérje le az adatokat az Azure-ból a koordinátarendszer visszaállításához a későbbi munkamenetekben vagy más eszközökön.

A dokumentum felépítése

  1. Beállítás – A mintaalkalmazás telepítése és üzembe helyezése.
  2. Jegyzetek az alkalmazás futtatásáról, valamint a javasolt lépésekről.
  3. A támogató szkriptek architekturális leírása.

Telepítő és tesztelt verziók

Ezt a mintát a következő módon fejlesztettük ki és teszteltük:

  • 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

A WLT és a minta a WLT .unitypackage kiadásából vagy a Mixed Reality szolgáltatáseszközből telepíthető. Ha a FeatureTool-ból telepíti, nem csak a WLT-példák függőségét (automatikus), hanem a Példák importálását is a projektbe kell telepítenie. Részletekért lásd: WLT telepítése az MR szolgáltatáseszközről .

A Frozen World Engine DLL telepítése a projektbe

Első lépésként telepítse a Frozen World Engine DLL 1.1.1-es verzióját. Itt a NuGet for Unity vagy a parancssori nuget.exe használatával útmutatást talál.

Az ASA telepítése

Térbeli horgonyerőforrások létrehozása

Ez a rövid útmutató végigvezeti az Azure-fiók létrehozásának lépésein és a szükséges térbeli horgonyerőforrásokon. A minta futtatásához szükség lesz a fiókazonosítóra, a fióktartományra és a fiókkulcsra. Ezeket a megfelelő mezőkbe fogja felvenni a "Spatial Anchor Manager" szkriptben, a jelenet SpacePinBinder objektumában. Más hitelesítési módszerek is támogatottak, de első lépésként a fiókazonosító/tartomány/kulcs a legegyszerűbb.

Hitelesítő adatok mezői

Telepítse a SDK-t

Ezután telepítse az Azure Spatial Anchors 2.9.0-s verzióját az utasításokban leírt módszerek egyikével. Az MR Feature Tool metódust használtam.

További beállítás a durva áthelyezéshez

Durva áthelyezés használata esetén további telepítésre van szükség az Android vagy a HoloLens2 rendszerre való üzembe helyezéskor.

Mi az a durva áthelyezés?

A durva áthelyezés egy olyan technológia, amely lehetővé teszi a korábban létrehozott felhőhorgonyok keresését a jelenlegi környezetében. A kurzusáthelyezéssel kapcsolatos részletek az Azure Spatial Anchors dokumentációjának Kurzusáthelyezési szakaszában találhatók.

Ez a minta bemutatja, hogy a felhőhorgonyokat durva áthelyezéssel vagy explicit módon a felhőhorgony-azonosító (GUID) alapján találja meg. Ha a durva áthelyezés engedélyezve van, a következő további telepítési lépésekre van szükség. Ha nem érdekli a durva áthelyezés, letilthatja azt a SpacePinBinder objektum "Publisher ASA" összetevőjében.

Durva áthelyezés letiltása

A HoloLens2 további telepítési lépései

A HoloLens2 durva áthelyezésének engedélyezéséhez hozzá kell adnia egy engedélyt az ARM/WorldLockingTools/Package.appxmanifest fájlban létrehozott Package.appxmanifest fájlhoz (feltéve, hogy az ARM mappát választotta buildcélként). Ha ez a projekt a sajátja, cserélje le az elérési úton a WorldLockingTools megfelelő nevét. Adja hozzá a következő sort a Képességek szakaszhoz:

    <DeviceCapability Name="wiFiControl"/>

További információkért tekintse meg ezt a bejegyzést a GitHubon.

Ha kihagyja ezt a lépést, a Publisher "Készültség" állapota soha nem éri el a "Kész" állapotot, a keretsebesség rendkívül alacsony lesz, és a UnityPlayer.log (ha létrejön) tele lesz az űrlap kivételekkel:

InvalidOperationException: CoarseReloc: A Wi-Fi-hozzáférés megtagadva. Cv kérése: . Válasz önéletrajza: .

Ezt a képességet minden alkalommal hozzá kell adnia a Package.appxmanifesthez, amikor a megoldás tiszta forrásból készült. A Unity későbbi buildjei azonban megőrzik a képességet.

A Project Gépház/XR beépülő modulkezelésben győződjön meg arról, hogy a Windows Mixed Reality a kiválasztott beépülő modulszolgáltató az UWP lapon (az OpenXR a WLT és az ASA esetében is támogatott).

Az XAmpleApp/CustomProfiles MRTK-profilja XAmple XRSDK ToolkitConfigurationProfile alkalmas a HoloLens2-en való futtatásra.

További beállítási lépések Androidhoz

Az Android durva áthelyezésének engedélyezéséhez kövesse az alábbi utasításokat az Assets/Plugins/Android/mainTemplate.gradle fájl konfigurálásához.

Emellett az Eszközök/Beépülő modulok/Android/AndroidManifest.xml esetében sok engedélyt kell engedélyezni a Wi-Fi-hez való hozzáférés engedélyezéséhez Androidon. Ha a projekt elemeit beépíti a saját projektjébe, ezeket a lépéseket is követnie kell a durva áthelyezés használatához. A Wi-Fi Androidon való eléréséhez szükséges engedélyekkel kapcsolatos további részletek ebben a bejegyzésben találhatók, és a bejegyzésre hivatkozik.

A módosított mainTemplate.gradle és AndroidManifest.xml mintái a WLT-ASA mintaprojekt részét képezik, amely kifejezetten a WLT és az ASA együttes használatára van konfigurálva. Ezeket közvetlenül a projektbe másolhatja, miután engedélyezte az "Egyéni fő jegyzék" és az "Egyéni fő Gradle-sablon" lehetőséget a Player Publishing Gépház a leírtak szerint.

Amikor eléri a Build &futtatás parancsot, ha a build egy Shader-hibával meghiúsul az MRTK_Standard anyagban, próbálkozzon újra a Build &Runtal. Ez működik a második próbálja meg nekem. Van néhány információ, hogy az MRTK problémák, de amennyire tudom mondani az összes információ helytelen.

A Project Gépház/XR beépülő modulkezelésben győződjön meg arról, hogy az ARCore a kiválasztott beépülő modulszolgáltató az Android lapon.

Az MRTK-profil XAmple AR ToolkitConfigurationProfile alkalmas mobilon való futtatásra. Ne felejtse el futtatni a szkriptet Mixed Reality/Utilities/UnityAR/Update Scripting Defines , miután átváltott Androidra vagy iOS-re.

A gombok használata

Kész

  • Tűk kapcsolója – Ha a Szóközbillentyűk nem aktívak, a kezelőfogópontok rejtettek lehetnek.
  • Közzététel – Mentse az aktuális konfigurációt, és engedélyezze annak lekérését a későbbi munkamenetben vagy más eszközökön.
  • Oracle betöltése – A korábban tárolt kötések használatával visszaállíthatja a térbeli konfigurációt.
  • Oracle törlése – Törölje az összes háttérerőforrást, különösen az Azure térbeli horgonyait, és törölje a kötéseket.
  • Keresés – Keresse meg az összes Azure-beli térbeli horgonyt a közvetlen közelben, és állítsa vissza a térbeli konfigurációt.
  • Törlés – Keresse meg az összes Azure-beli térbeli horgonyt a közvetlen közelben, és törölje őket.
  • Kitűzők alaphelyzetbe állítása – A szóközbillentyű-manipulációk visszavonása. Nem törli az Azure térbeli horgonyait.

A mobil menü kissé eltérő formában, de a gombpozíciók és a jelentéseik megegyeznek.

Útmutató – Közzététel a HoloLens2-ből

A jelenet elhelyezése a SpacePins használatával

A minta indításakor a koordináta-rendszer pozíciója és orientáltja a fejkövető pózolása alapján indul el. Ami azt mondja, hogy meglehetősen önkényes. Az első teendő az, hogy a koordinátarendszert a kívánt referenciaállapothoz igazítsa.

A PinTestSofa jelenet kanapéja 2,18 méter hosszú, 0,78 m magas és 1,0 m mély. A SpacePin fogópontjai a kanapé felső részének mindkét végén 2,18 m távolságra vannak, és 0,78 m távolságra vannak a talajtól. Azt javaslom, hogy az ideiglenes jelölőket 2,18 m távolságra, kényelmes magasságban mérje és helyezze el. Másik lehetőségként beállíthatja a jelenetet úgy, hogy illeszkedjen a fizikai térhez.

Miután elkészítette és üzembe helyezte az alkalmazást egy HoloLens2-eszközön, várjon, amíg a lebegő menü állapota Kész (tipp – az állapotsor pirosról fehérre változik, ha készen áll).

Nem áll készen

Egyenként ragadja meg a SpacePin-fogópontokat (a fehér drótvázgömböket), és húzza a referenciajelölőkhöz képest helyzetbe.

Miután az egyes jelölőket felengedte a pozícióba, a jelenetnek el kellett volna tolnia, hogy visszaállítsa a kanapé hátoldalát a SpacePinhez képest. A jelenetben lévő objektumok nem lesznek áthelyezve, a teljes koordináta-tér úgy van beállítva, hogy a SpacePins eredeti koordinátái azon a helyen legyenek a fizikai világban, ahová húzta őket.

A koordinátaterület közzététele

Miután létrehozta a kívánt területet, közzéteheti azt a helyet, hogy elérhetővé tegye a későbbi munkamenetekben és más eszközökön.

Ha durva áthelyezést használ, célszerű törölni a korábban létrehozott felhőhorgonyokat ezen a ponton. Nyomja le a "Törlés a keresésből" gombot, és várja meg, amíg ez befejeződik.

Most a lebegő menüben nyomja le a "Közzététel" gombot, és várja meg, amíg befejeződik.

Kész

Útmutató – Felhasználás a HoloLens2-ből durva áthelyezéssel

Indítsa újra az alkalmazást egy másik HoloLens2-eszközön vagy ugyanazon az eszközön az előző munkamenet bezárása után. Ha az állapot készként jelenik meg, nyomja le a "Betöltés a keresésből" gombot. A művelet befejezése után a Unity globális koordináta-rendszere át lesz alakítva a fizikai környezetbe, ahogyan az az előző (közzétett) munkamenetben volt.

Útmutató – Felhasználás a HoloLens2-ből az IBindingOracle (SpacePinBinderFile) használatával

Amikor a kötéseket közzéteszik egy eszközön, vagy amikor visszaállítják őket a keresésből, a rendszer rögzíti őket egy IBindingOracle-be. Ez a minta tartalmazza a legalapvetőbb Oracle-t, amely egyszerűen egy szövegfájlba írja a kötéseket.

Indítsa újra az alkalmazást egy új munkamenetbe. Ha ez ugyanaz a HoloLens2, mint a Közzététel, akkor a közzétételből maradt egy kötésfájl. Ha ez egy másik HoloLens2, de egy korábbi munkamenetben sikeresen végrehajtották a keresést, akkor a kötésfájl ebből marad.

A korábban rögzített kötések betöltéséhez és a koordinátaterület visszaállításához nyomja le a "Betöltés fájlból" gombot.

Útmutató – Felhasználás Androidról durva áthelyezéssel

Az UX kissé másképp néz ki Androidon, de pontosan ugyanúgy működik. A fő különbség az, hogy egy kicsit több vizsgálatra van szükség a környezet indításakor a HoloLens2-hez képest, mielőtt az ASA készen áll a folytatásra.

Ha a rendszer készként jelenik meg, a kék gombra (jobbról a harmadikra) kattintva megkeresheti a korábban közzétett kötéseket, és visszaállíthatja a koordinátarendszert.

Útmutató – Felhasználás Androidról az IBindingOracle (SpacePinBinderFile) használatával

Miután sikeresen végrehajtott egy betöltési elemet a keresésből, egy kötésfájl maradt az eszközön. A későbbi munkamenetekben egyszerűen megnyomhatja a Fájlból való betöltést a koordináta-rendszer visszaállításához.

Másik lehetőségként egyszerűen átmásolhatja a kötések szövegfájlt a közzétételi eszközről a fogyasztó eszközre. A kötések szövegfájljának alapértelmezett helye a következő:

HoloLens2: Felhasználói mappák/LocalAppData/WLT-ASA/LocalState/BinderFile.txt

Android: Belső megosztott tároló/Android/data/com. WorldLockingTools.WLTASA/files/BinderFile.txt

Lásd még