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

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

Az Mixed Reality alkalmazások létrehozásának fontos része, hogy a hologramok a helyén maradjanak, önnel együtt mozogjanak, vagy bizonyos esetekben más hologramokhoz viszonyítva helyezzék el magukat. Ez a cikk végigvezeti a Javasolt megoldáson a World Locking Tools használatával, de a Unity-projektek térbeli horgonyainak manuális beállításával is foglalkozunk. Mielőtt belevágnánk egy kódba, fontos tisztában lenni azzal, hogy a Unity hogyan kezeli a térközöket és a horgonyokat a saját motorjában.

Világszintű koordinátarendszerek

Napjainkban játékok, adatvizualizációs alkalmazások vagy virtuális valóságbeli alkalmazások írásakor a tipikus megközelítés egy olyan abszolút világkoordináta-rendszer létrehozása, amelyre minden más koordináták megbízhatóan visszaképezhetők. Ebben a környezetben mindig talál egy stabil átalakítást, amely a világ bármely két objektuma közötti kapcsolatot definiálja. Ha nem helyezné át ezeket az objektumokat, a relatív átalakítások mindig változatlanok maradnának. Ez a fajta globális koordináta-rendszer könnyen helyrehozható, ha tisztán virtuális világot jelenít meg, ahol előre ismeri az összes geometriát. A szobaméretű VR-alkalmazások ma általában ilyen abszolút helyiségméretű koordinátarendszert hoznak létre, amelynek eredete a padlón található.

Ezzel szemben a holoLenshez hasonló, nem kötött vegyes valóságú eszközök dinamikus érzékelőalapú ismeretekkel rendelkeznek a világról, és folyamatosan igazítják tudását a felhasználó környezetének idejében, miközben egy épület teljes emeletén több métert gyalogolnak. Egy világszintű élményben, ha az összes hologramot naiv, merev koordinátarendszerbe helyezné, ezek a hologramok idővel sodródnának, akár a világ alapján, akár egymáshoz viszonyítva.

Például a headset jelenleg úgy véli, hogy a világ két helye 4 méterre van egymástól, majd később finomíthatja ezt a megértést, és megtanulhatja, hogy a helyek valójában 3,9 méterre vannak egymástól. Ha ezek a hologramok eredetileg 4 méter távolságra lettek volna egymástól egyetlen merev koordinátarendszerben, akkor az egyik mindig 0,1 méterre lenne a való világtól.

A térbeli horgonyokat manuálisan helyezheti el a Unityben, hogy fenntartsa a hologram pozícióját a fizikai világban, amikor a felhasználó mobil. Ez azonban feláldozza az önkonzisztenciát a virtuális világban. A különböző horgonyok folyamatosan mozognak egymáshoz képest, és a globális koordináta-térben is mozognak. Ebben a forgatókönyvben az egyszerű feladatok, például az elrendezés nehézkessé válnak. A fizikai szimuláció is problémás lehet.

A World Locking Tools (WLT) mindkét világ legjobbjait nyújtja, egyetlen merev koordinátarendszert stabilizálva a virtuális jelenetben elterülő térbeli horgonyok belső készletével, miközben a felhasználó mozog. A WLT elemzi a kamera koordinátáit, és ezeket a térbeli horgonyokat minden keretben. Ahelyett, hogy a világ minden pontjának koordinátáit megváltoztatná, hogy kompenzálja a felhasználó fejének koordinátáiban szereplő korrekciókat, a WLT csak a fej koordinátáit javítja ki.

A világzárolási módszer kiválasztása

Ha lehetséges, használja a World Locking Tools eszközt a hologramok elhelyezéséhez.

A World Locking Tools stabil koordinátarendszert biztosít, amely minimalizálja a virtuális és a valós jelölők közötti látható inkonzisztenciákat. A World Locking Tools a teljes jelenetet egy közös horgonykészlettel zárolja ahelyett, hogy a csoport saját horgonyával zárolna minden objektumcsoportot.

A World Locking Tools automatikusan kezeli a térbeli horgonyok belső létrehozását és kezelését. A hologramok világzárolt állapotban tartásához nem kell az ARAnchorManager vagy a WorldAnchor használatával kommunikálnia.

  • A Unity 2019/2020-hoz az OpenXR vagy a Windows XR beépülő modul használatával használja az ARAnchorManagert.
  • Régebbi Unity-verziókhoz vagy WSA-projektekhez használja a WorldAnchort.

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

A World Locking Tools használatának megkezdéséhez töltse le a Mixed Reality funkcióeszközt. Az alapokkal kapcsolatos további információkért tekintse meg a World Locking Tools fő dokumentációs oldalát, amely áttekintésre, rövid útmutatóra és egyéb hasznos témakörökre mutató hivatkozásokat tartalmaz.

Automatikus beállítás

Ha a projekt készen áll a használatra, futtassa a jelenet konfigurálása segédprogramot Mixed Reality > World Locking Tools eszközből:

Unity editor with Mixed Reality Toolkit menu selected

Fontos

A Jelenet konfigurálása segédprogram bármikor újrafuttatható. Újra kell futtatni például, ha az AR-cél régiről XR SDK-ra módosult. Ha a jelenet már megfelelően van konfigurálva, a segédprogram futtatásának nincs hatása.

Visualizers

A korai fejlesztés során a vizualizációk hozzáadása hasznos lehet annak biztosításához, hogy a WLT megfelelően legyen beállítva és működjön. Az éles teljesítmény érdekében eltávolíthatók, vagy ha már nincs rájuk szükség, használja a Vizualizációk eltávolítása segédprogramot. A vizualizációkról további információt az Eszközök dokumentációjában talál.

Állandó világzárolás

A térbeli horgonyok valós térben mentik a hologramokat az alkalmazás munkamenetei között. A HoloLens horgonytárolóban való mentés után a térbeli horgonyok különböző munkamenetekben találhatók és tölthetők be, és ideális tartalék, ha nincs internetkapcsolat.

Fontos

A helyi horgonyok tárolása az eszközön történik, míg az Azure Spatial Anchors a felhőben van tárolva. A helyi és az Azure-beli horgonyok ütközés nélkül is lehetnek ugyanabban a projektben. További információ az Azure-felhőszolgáltatásoknak a horgonyok tárolására való integrálásáról: Azure Spatial Anchors.

Alapértelmezés szerint a World Locking Tools visszaállítja a Unity koordinátarendszerét a fizikai világhoz képest a helyi térbeli horgonyok megőrzését támogató eszközökön futó munkamenetek között. Ahhoz, hogy a hologram ugyanazon a helyen jelenjen meg a fizikai világban az alkalmazás bezárása és újrafuttatása után, az alkalmazásnak csak a hologramra kell visszaállítania ugyanazt a pózt.

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

Ha az alkalmazásnak finomabb vezérlésre van szüksége, letilthatja az automatikus mentést és az automatikus betöltést az ellenőrben, és kezelheti az adatmegőrzést egy szkriptből. További információ: Térbeli koordinátarendszerek megőrzése.

A World Locking Tools csak HoloLens-eszközökön támogatja a helyi horgonyok megőrzését. Android-, iOS- és HoloLens-eszközök esetén integrálható az Azure Spatial Anchors szolgáltatással a koordinátahelyek munkamenetek és eszközök közötti megőrzésének és megosztásának támogatása érdekében. A World Locking Tools és az Azure Spatial Anchors együttes használatával kapcsolatos további információkért és mintákért lásd: World Locking Tools (WLT) és Az Azure Spatial Anchors (ASA) együttes használata.

Következő lépések

A világ zárolt koordinátaterületének megosztása:

Tudnivalók a térbeli leképezésről:

Vissza a Unity fejlesztési ellenőrzőpontjaihoz:

Lásd még