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:
- Konfigurálja a Unity globális koordináta-rendszerét a fizikai környezet tekintetében.
- Tegye közzé a rendszerkonfigurációt az Azure-ban az Azure Spatial Anchors használatával.
- 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
- Beállítás – A mintaalkalmazás telepítése és üzembe helyezése.
- Jegyzetek az alkalmazás futtatásáról, valamint a javasolt lépésekről.
- 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.
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.
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
- 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).
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.
Ú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