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


Az alapötlet

A belső fejkövető rendszerek egy csodálatos új technológia. Az erősségeikben szinte varázslatosak. De nekik is vannak gyengeségeik.

A belső fejkövető rendszerek, mint a HoloLensben, jól jelzik, hogy hol van a fej a közeli fizikai jellemzőkhöz képest. Ezzel egyenértékű, hogy jó mondani, ahol a valós funkciók képest a fej.

De nem olyan jók, hogy elmondják, hol van a fej ahhoz képest, ahol a fej volt. Amikor a fej az A ponttól a B pontig mozog, a nyomkövető rendszer általában kissé helytelen lesz azzal kapcsolatban, hogy a fej milyen messzire haladt. Ez azt jelenti, hogy a követési rendszer helytelen lesz az A és B pontok közötti távolságról. Ezt az effektust gyakran és zavaró módon "skálázási problémának" nevezik.

Ezután amikor a fej a B ponttól az A pontig utazik, ismét helytelen lesz a megtett távolság. Lenyűgözően közel lesz a helyes, de észrevehetően helytelen. Ezt a hatást "sodródásnak" is nevezik.

Ezekről a problémákról bővebben ebben a GYIK-ben olvashat bővebben.

A lényeg az, hogy a World Locking Tools képes megoldani ezeket a problémákat. Az utóbbi esetben, a drift, a World Locking Tools képes felismerni, hogy a fej visszatért az A pont közelében, a fizikai jellemzők az A pont körül, és javítsa a fej koordinátáit.

Az előbbi esetben a skálázási probléma esetén a World Locking Tools képes bemenetet venni az alkalmazásból, hogy megtudja, hol van a B pont az A ponthoz viszonyítva, és javítsa ki a megtett távolságot is.

Ha szeretné megtudni, hogy a Világzárolási eszközök hogyan oldják meg ezeket a problémákat, hasznos lehet néhány további terminológia.

Spongy és a világ zárolt terei

Spongy szóköz

A World Locking Tools alapja egy optimalizálási motor. Bemenetként a világ jelenleg aktív térbeli horgonyainak grafikonját, valamint az aktuális fejkövetési információkat veszi alapul. Ezt a bemenetet gyakran spongy állapotnak nevezik ezen belül és a kapcsolódó dokumentációban és kódban. A spongy állapot neve azért van így elnevezve, mert folyamatosan ingadozik. A térbeli horgonyok mindig egymáshoz képest mozgásban vannak, és a natív spongy koordináta-térben belül, ahogy a bejövő érzékelőadatok finomítják az állapotukat.

Ez a spongy space az egyetlen korábban elérhető koordinátarendszer, amelyben a vegyes valóság alkalmazásfejlesztője működhet.

Világzárt tér

A spongy állapotból a World Locking Tools motor egy stabil helyet számít ki, amely optimálisan igazítja a spongy helyet a fizikai világhoz. Ezt a stabil helyet világzárt térnek, teljes állapotát pedig fagyasztott állapotnak nevezzük.

Fontos felismerni, hogy a spongy tér és a világzárt tér is merev cartesian koordinátarendszer, és valójában csak forgatással és eltolással tér el egymástól. A spongy térről a világra zárolt térre való átalakítás azonban minden keretet megváltoztat, mivel az új érzékelőadatok feldolgozásra kerülnek.

A két tér közötti különbség az, hogy míg a bejövő érzékelőadatok szabadon finomítják (azaz mozgatják) a térbeli horgonyokat egymáshoz képest, és a fejet a szórványos térben, a világ zárolt területét választják az ilyen mozgások minimalizálása érdekében. Ez a különbség lehetővé teszi, hogy a világ zárolt terében elhelyezett jelenetobjektumok rögzítetten jelenjenek meg a fizikai világban anélkül, hogy az egyes térbeli horgonyokhoz csatlakoznak. A motor minden egyes kerete kiszámítja a világ zárolt területét, amelyben a mögöttes horgonyok a legstabilabbak. Vagyis az a világ zárolt területe, amelyben a virtuális objektumok optimálisan igazodnak a valós funkciókhoz.

Ezt az átalakítást a rendszer minden képkockára alkalmazza a kamera szülőjének helyi átalakításával a jelenetdiagramon. Mivel a kamera határozza meg az eredeti spongy tér, beszúrása ezt a "world-locked from spongy" átalakítás a kamera hierarchiájában hozza létre a gyökértér a jelenet, hogy a világ zárolt tér.

Kitartás

A zárolt állapot opcionálisan a munkamenetek között is megőrizhető. Az aktuális állapot mentéséhez és a mentett állapotból való betöltéshez is vannak manuális vezérlők. Emellett a World Locking Tools Manager jelölői engedélyezik vagy letiltják a fagyasztott állapot automatikus rendszeres mentését, valamint az utolsó mentett állapot automatikus betöltését indításkor.

Ezeknek a funkcióknak a használatával egy valós hely vizsgálata és stabilizálása több munkameneten keresztül is megmaradhat.

Emellett ha a Térbehúzás funkcióval a modellezési területet a valós térhez igazítja, az igazítás megmaradhat. Ebben az esetben egy kezdeti igazítási munkamenet után, amely úgy állítja be a térbeli kitűzőket, hogy a modellezett jelenetet fizikai térhez igazítsa, a későbbi munkamenetek automatikusan betölthetik a modellezett jelenetet a fizikai térbe a virtuális és valós funkciókkal igazítva.

További információ: Adatmegőrzés és térbeli rögzítés funkció.

Kamera mozgás következményei

Finom, de fontos dolog megjegyezni, hogy a korrekciós átalakítás a kamera, a natív Unity "helyhez kötött keret referencia" lett átalakítva az optimális világ zárolt referenciakeret. Mivel a jelenetben nem helyezték át az objektumokat, ez a korrekció nem zavarja a fizikai szimulációt vagy más dinamikai számításokat.

A helyhez kötött referenciakereten belül mozgatott kamera azonban következményekkel jár. Pontosabban az olyan alrendszerek, amelyek feltételezik, hogy a fejátalakítás az egyetlen átalakítás a helyhez kötött referenciakeret és a kameratér között, helytelenek lesznek.

Ez a hiba általában nem probléma, mivel az ilyen képességek, mint a teleport, már támaszkodnak arra, hogy képes-e átalakítani a kamera és a gyökértér között.

Az MRTK már eleve figyelembe veszi az ilyen átalakítások szükségességét, így az MRTK-szolgáltatások felhasználói számára ez "csak működik".

Azoknak a felhasználóknak, amelyek közvetlen hozzáférést igényelnek az alacsonyabb szintű rendszerekhez, amelyek nem tudják kihasználni az MRTK előnyeit, mintákat biztosítanak az adapterek létrehozásához. Néhány ilyen példa az alábbiakban látható:

Lásd még