Világzárolás és térbeli horgonyok a Unityben

Világzárolási eszközök főképe

A hologramok a helyén maradnak, együtt mozognak, vagy bizonyos esetekben a többi hologramhoz képesti pozíciójuk nagy részét képezi a Mixed Reality létrehozásában. Ez a cikk végigveszi az ajánlott megoldáson a World Locking Tools használatával, de a térbeli horgonyok Unity-projektekben való manuális beállításával is szó lesz. Mielőtt belevetjük a kódba, fontos tisztában lenni vele, hogy a Unity hogyan kezeli a koordináták térét, és hogyan horgonyoz a saját motorban.

Világméretű koordinátarendszerek

Manapság játékok, adatvizualizációs alkalmazások vagy virtuális valóságon keresztüli alkalmazások írásakor a tipikus megközelítés egy abszolút világ koordinátarendszer létrehozása, amely minden más koordinátára megbízhatóan visszaleképezhető. Ebben a környezetben mindig talál egy stabil átalakítást, amely meghatározza a kapcsolatot a világ bármely két objektuma között. Ha nem mozgatta volna ezeket az objektumokat, a relatív átalakításaik mindig változatlanok maradnak. Az ilyen típusú globális koordinátarendszer könnyen elérhető egy tisztán virtuális világ renderelése során, ahol előre ismeri az összes geometriát. Napjainkban a helyiségméretű VR-alkalmazások általában ilyen abszolút, helyiségméretű koordinátarendszert hoznak létre, annak eredetével együtt a padlóra.

Ezzel szemben az olyan nem összetért vegyes valóságon alapuló eszközök, mint a HoloLens, dinamikus érzékelőalapú ismeretekkel rendelkezik a világról, és folyamatosan módosítja az ismereteit a felhasználó környezetének ideje alatt, miközben egy épület számos mérőeszközét járja. Egy világméretű helyzetben, ha minden hologramját egy merev koordinátarendszerbe helyezné, akkor ezek a hologramok az idő során a világ alapján vagy egymáshoz viszonyítva sodródnak.

Előfordulhat például, hogy a headset jelenleg úgy véli, hogy a világ két helye 4 méter távolságra van egymástól, majd később finomítja a megértést, és megtanulja, hogy a helyek valójában 3,9 méter távolságra vannak egymástól. Ha ezek a hologramok eredetileg 4 méter távolságra voltak egymástól egyetlen merev koordinátarendszerben, akkor az egyik mindig 0,1 méter távolságra volt a való világtól.

A Unityben manuálisan is el lehet látni térbeli horgonyokat, hogy a felhasználó mobileszközökön is fenntartsa a hologram pozícióját – ez azonban nem teszi lehetővé a virtuális világban az önkonzisztenciát. A különböző horgonyok relációban folyamatosan mozognak, és a globális koordinátatérben is mozognak. Ebben a forgatókönyvben az egyszerű feladatok, például az elrendezés bonyolultsá válnak, a fizikai szimuláció pedig problémássá válik.

A World Locking Tools segítségével mindkét világból a legjobbat sajátíthatja el, és stabilizálhatja az egyetlen merev koordinátarendszert a virtuális jelenetben a felhasználó mozgása során elterjedő térbeli horgonyok belső készletével. Az eszközök elemzik a kamera és a térbeli horgonyok koordinátáit minden egyes képkockán. Ahelyett, hogy a világ minden koordinátáit módosítanák a felhasználó fejének koordinátáiban megadott korrekciók kompenzálása érdekében, az eszközök csak a fej koordinátáit javítják.

A világzárolási megközelítés kiválasztása

  • Javasoljuk, hogy minden hologrampozíciós igényhez használja a World Locking Tools eszközt.
    • A World Locking Tools stabil koordinátarendszert biztosít, amely minimálisra csökkenti a virtuális és a valós jelölők közötti látható inkonzisztenciákat. Egy másik módszer, hogy a teljes jelenet egy megosztott horgonykészletet tartalmaz, ahelyett, hogy az objektumok minden csoportját a csoport saját horgonyával zárolja.
    • A World Locking Tools automatikusan belsőleg kezeli a térbeli horgonyok létrehozását és kezelését. Nem kell az ARAnchorManager vagy a WorldAnchor interakcióba lépnie ahhoz, hogy a hologramok világhűen zárolva maradnak.
  • Az OpenXR-t vagy az Windows XR beépülő modult használó Unity 2019/2020esetén az ARAnchorManagert kell használnia
  • Régebbi Unity-verziók vagy WSA-projektek esetén a WorldAnchort kell használnia

Világzárolás beállítása

Javasoljuk, hogy telepítse a Világzárolási eszközöket az új Mixed Reality funkció eszköz használatával. Miután letöltötte a Mixed Reality Feature Tool eszközt az alábbi hivatkozásról, válassza ki a WLT Core legújabb verzióját a World Locking Tools (Világzárolási eszközök) szakaszban:

Mixed Reality funkciókiválasztási ablak a Világzárolási eszközök lehetőség kijelölésével

Automatikus beállítás

Amikor a projekt készen áll, futtassa a jelenet konfigurálási segédprogramot a Mixed Reality Eszközök:

Unity-szerkesztő Mixed Reality eszközkészlet menüjével

Fontos

A Configure scene segédprogram bármikor újrafuttatható. Például akkor kell újrafuttatni, ha az AR-cél örököltről XR SDK-ra változott. Ha a jelenet már megfelelően van konfigurálva, a segédprogram futtatása nincs hatással.

Visualizers

A korai fejlesztés során hasznos lehet vizualizációkat hozzáadni a WLT beállításához és megfelelő működéséhez. Az éles teljesítmény érdekében eltávolíthatók, vagy ha valamilyen okból már nincs rájuk szükség, a Vizualizációk eltávolítása segédprogrammal. A vizualizációkról a Tools dokumentációjában talál további információt.

Állandó világzárolás

A térbeli horgonyok valós térben mentik a hologramokat az alkalmazás-munkamenetek között. Miután mentette őket a HoloLens horgonytárolójában, különböző munkamenetekben találhatók és betölthetők, és ideális tartalékként használhatja őket, ha nincs internetkapcsolat.

Fontos

A helyi horgonyok az eszközön, az Azure Spatial Anchors pedig a felhőben vannak tárolva. Ha az Azure Cloud Servicest használja a horgonyok tárolására, van egy dokumentumunk, amely végigkúton végigveszi az Azure Spatial Anchors. Vegye figyelembe, hogy helyi és Azure-horgonyokat ütközés nélkül is használhat ugyanabban a projektben.

Alapértelmezés szerint a World Locking Tools visszaállítja a Unity koordinátarendszerét a fizikai világhoz viszonyítva a helyi térbeli horgonyok megőrzését támogató eszközök munkamenetei között. Ahhoz, hogy egy hologram ugyanazon a helyen jelenjen meg a fizikai világban az alkalmazás lefutást és újrafuttatást követően, a hologramnak csak akkor kell ismét ugyanaz a pozíciója.

Világzárolási környezeti összetevő a Unity vizsgálóban

Ha az alkalmazásnak finomabb vezérlésre van szüksége, előfordulhat, hogy az automatikus mentés és az automatikus betöltés le van tiltva a vizsgálóban, és az adatmegőrzést egy szkriptből kezeli a dokumentáció adatmegőrzési szakaszában leírtak szerint.

A helyi horgonymegőrzés jelenleg csak az eszköz HoloLens támogatott. Android és iOS rendszeren, valamint a HoloLens-ban a koordinátaterek munkamenetek közötti megőrzését, valamint a koordinátaterek eszközök közötti megosztását az Azure Spatial Anchors. Rengeteg további információ és minta áll rendelkezésre a világzárolási eszközök és az Azure Spatial Anchors.

Koordinátaterek megosztása

Ha egy világ által zárolt koordinátaterületet szeretne megosztani, tekintse meg az átfogó, megosztott felhasználói élményt dokumentációját.

Következő fejlesztési ellenőrzőpont

Ha az általunk kifektetett Unity-fejlesztési ellenőrzőpont-utat követi, akkor a legfontosabb építőelemek Mixed Reality ismerkedik. Innen folytathatja a következő építőelemre:

Vagy ugorjon a Mixed Reality képességekre és API-kra:

Bármikor visszamehet a Unity fejlesztési ellenőrzőpontjaira.

Lásd még: