Szem által támogatott navigáció az MRTK-ban – MRTK2
Tegyük fel, hogy egy lappal olvas információkat, és amikor eléri a megjelenített szöveg végét, a szöveg automatikusan felgörget, hogy több tartalmat jelenítsen meg. Azt is megteheti, hogy folyékonyan nagyítja a képet. A térkép automatikusan módosítja a tartalmat is, hogy az érdekes dolgok a nézeten belül maradjanak. Egy másik érdekes alkalmazás a 3D-s hologramok kihangosító nélküli megfigyelése a hologram azon részeinek automatikus előtérbe állításával, amelyeket megtekint. Ezek a példák a szem által támogatott navigáció kontextusában jelennek meg ezen az oldalon.
Az alábbi leírások feltételezik, hogy már ismeri a szemkövetés beállítását az MRTK-jelenetben , valamint a szemkövetési adatok MRTK Unityben való elérésének alapjait.
Az alábbiakban ismertetett példák a (Assets/MRTK/Examples/Demos/EyeTracking/Scenes/EyeTrackingDemo-03-Navigation) jelenet részei EyeTrackingDemo-03-Navigation
.
Összefoglaló: Szöveg automatikus görgetése, szempillantás által támogatott pásztázás és virtuális térkép nagyítása, kihangosító nélküli tekintet által irányított 3D forgatás.
Automatikus görgetés
Az automatikus görgetés lehetővé teszi, hogy a felhasználó az ujj felemelése nélkül görgetjen a szövegek között.
Egyszerűen folytassa az olvasást, és a szöveg automatikusan felfelé vagy lefelé görget attól függően, hogy a felhasználó hol keres.
A (Assets/MRTK/Examples/Demos/EyeTracking/Scenes) példából EyeTrackingDemo-03-Navigation
indulhat ki.
Ez a példa egy TextMesh összetevőt használ az új szöveg rugalmas betöltéséhez és formázásához.
Az automatikus görgetés engedélyezéséhez egyszerűen adja hozzá a következő két szkriptet a szövegdoboz ütköztető összetevőjéhez:
ScrollRectTransf
Ha végig szeretne görgetni egy TextMesh vagy általánosabb értelemben egy RectTransform-összetevőn , használhatja a ScrollRectTransf szkriptet. Ha a RectTransform helyett egy anyagmintán szeretne végiggörgetni, a ScrollRectTransf helyett használja a ScrollTexture parancsot. Az alábbiakban a Unity-szerkesztőben elérhető ScrollRectTransf paramétereket ismertetjük részletesebben:
Paraméterek | Description |
---|---|
LimitPanning | Ha engedélyezve van, leállítja a görgethető tartalmat a határán. |
RectTransfToNavigate | A görgetéshez hivatkozzon a RectTransformra . |
RefToViewport | Hivatkozzon a görgethető tartalom szülő RectTransformjára a megfelelő eltolás és határ meghatározásához. |
AutoGazeScrollIsActive | Ha engedélyezve van, a szöveg automatikusan görget, ha a felhasználó aktív régiót tekint meg (például a görgetőpanel felső és alsó részét, ha a függőleges görgetési sebesség nem nulla). |
ScrollSpeed_x | Ha nullára nem egyenlő értékre van állítva, a vízszintes görgetés engedélyezve lesz. A negatív értékek a görgetés irányának változását jelentik: Balról jobbra és jobbról balra. |
ScrollSpeed_y | Ha nullára nem egyenlő értékre van állítva, a függőleges görgetés engedélyezve lesz. A negatív értékek a görgetés irányának változását jelentik: Fel és le, illetve felfelé. |
MinDistFromCenterForAutoScroll | Normalizált minimális távolság x-ben és y-ban a cél találatmezőjének közepétől (0, 0) a görgetéshez. Így az értékeknek 0 (mindig görgetés) és 0,5 (görgetés nélkül) között kell lenniük. |
UseSkimProofing | Ha engedélyezve van, megakadályozza a hirtelen görgetési mozgásokat, ha gyorsan körülnéz. Ez azonban kevésbé rugalmassá teheti a görgetést. A SkimProofUpdateSpeed értékkel hangolható. |
SkimProofUpdateSpeed | Minél alacsonyabb az érték, annál lassabb lesz a görgetés a legörgetés után. Ajánlott érték: 5. |
EyeTrackingTarget
Az EyeTrackingTarget összetevő csatlakoztatásával rugalmasan kezelhetők a szempillantással kapcsolatos események. A görgetési minta bemutatja a görgetési szöveget, amely akkor kezdődik, amikor a felhasználó megtekinti a panelt, és leáll, amikor a felhasználó távol van tőle.
Tekintet által támogatott pásztázás és nagyítás
Ki nem használt még virtuális térképet az otthonuk kereséséhez vagy teljesen új helyek felfedezéséhez? Szemkövetés lehetővé teszi, hogy közvetlenül merüljön el pontosan azokat a részeket, amelyek érdeklik, és miután nagyított, akkor gördülékenyen kövesse az utat az utcán felfedezni a környéken! Ez nem csak a földrajzi térképek felfedezéséhez hasznos, hanem a fényképek, adatvizualizációk vagy akár élő streamelt orvosi képek részleteinek megtekintéséhez is. Ezt a képességet egyszerűen használhatja az alkalmazásban! A Textúra (például fénykép, streamelt adatok) számára renderelt tartalomhoz egyszerűen adja hozzá a PanZoomTexture szkriptet. RectTransform esetén használja a PanZoomRectTransf parancsot. Az Automatikus görgetés funkció kiterjesztése lényegében lehetővé teszi, hogy egyszerre függőlegesen és vízszintesen is görgethessen, és nagyíthassa a tartalmat közvetlenül a felhasználó aktuális fókuszpontja körül.
Paraméterek | Description |
---|---|
LimitPanning | Ha engedélyezve van, leállítja a görgethető tartalmat a határán. |
HandZoomEnabledOnStartup | Azt jelzi, hogy a kézmozdulatok automatikusan engedélyezve vannak-e a nagyítási kézmozdulatok végrehajtásához. Érdemes lehet először letiltani, hogy elkerülje a nagyítási műveletek véletlen aktiválását. |
RendererOfTextureToBeNavigated | A navigálni kívánt anyagminta hivatkozott renderelője. |
Zoom_Acceleration | A logisztikai sebességfüggvény-leképezés meredekségét meghatározó nagyítási gyorsítás. |
Zoom_SpeedMax | Maximális nagyítási sebesség. |
Zoom_MinScale | A textúra minimális mérete a nagyításhoz – például 0,5f (az eredeti méret fele). |
Zoom_MaxScale | Az anyagminta maximális mérete a kicsinyítéshez – például 1f (az eredeti méret) vagy 2,0f (az eredeti méret kétszerese). |
Zoom_TimeInSecToZoom | Időzített nagyítás: Az aktiválást követően a rendszer másodpercek alatt elvégzi a nagyítást/kicsinyítést a megadott ideig. |
Zoom_Gesture | A nagyításhoz/kicsinyítéshez használható kézmozdulat típusa. |
--- | --- |
Pan_AutoScrollIsActive | Ha engedélyezve van, a szöveg automatikusan görget, ha a felhasználó aktív régiót tekint meg (például a görgetőpanel felső és alsó részét, ha a függőleges görgetési sebesség nem nulla). |
Pan_Speed_x | Ha nullára nem egyenlő értékre van állítva, a vízszintes görgetés engedélyezve lesz. A negatív értékek a görgetés irányának változását jelentik: Balról jobbra és jobbról balra. |
Pan_Speed_y | Ha nullára nem egyenlő értékre van állítva, a függőleges görgetés engedélyezve lesz. A negatív értékek a görgetés irányának változását jelentik: Fel és le, illetve felfelé. |
Pan_MinDistFromCenter | Normalizált minimális távolság x-ben és y-ban a cél találatmezőjének közepétől (0, 0) a görgetéshez. Így az értékeknek 0 (mindig görgetés) és 0,5 (görgetés nélkül) között kell lenniük. |
UseSkimProofing | Ha engedélyezve van, megakadályozza a hirtelen görgetési mozgásokat, ha gyorsan körülnéz. Ez azonban kevésbé rugalmassá teheti a görgetést. A SkimProofUpdateSpeed értékkel hangolható. |
SkimProofUpdateSpeed | Minél alacsonyabb az érték, annál lassabb lesz a görgetés a legörgetés után. Ajánlott érték: 5. |
Figyelemalapú térbeli forgatás
Képzelje el, hogy egy 3D objektumot néz, és azokat a részeket, amelyeket látni szeretne, varázslatosan feléd fordul - mintha a rendszer felolvasná az elméjét, és tudná, hogy az elemet feléd fordítja! Ez a figyelemalapú térbeli forgatások ötlete, amely lehetővé teszi a hologramok minden oldalának vizsgálatát anélkül, hogy ujját felemeli. Ennek a viselkedésnek az engedélyezéséhez egyszerűen adja hozzá az OnLookAtRotateByEyeGaze szkriptet a GameObject egy ütköző összetevővel rendelkező részéhez. Az alábbiakban felsorolt számos paraméter finomhangolásával korlátozhatja a hologram sebességének és irányának korlátozását.
Ahogy el tudod képzelni, ha ez a viselkedés folyamatosan aktív lehet, gyorsan elég zavaróvá válhat egy zsúfolt jelenetben.
Ezért érdemes lehet letiltani ezt a viselkedést, majd gyorsan engedélyezni a hangparancsok használatával.
Másik lehetőségként hozzáadtunk egy példát ( EyeTrackingDemo-03-Navigation
Assets/MRTK/Examples/Demos/EyeTracking/Scenes) a TargetMoveToCamera használatához, amelyhez kiválaszthat egy célzott célt, és ön előtt repül – egyszerűen mondja ki a "Gyere hozzám" szöveget.
A közeli módban az automatikus forgatási mód automatikusan engedélyezve van. Ebben a módban minden oldalról megfigyelheti, egyszerűen hátradőlve és ránézve, körbejárva, vagy kinyúlva megragadhatja és elforgathatja a kezével. Amikor bezárja a célt (& csippentsen be, vagy mondja ki a "Küldés vissza" szöveget), az visszatér az eredeti helyére, és távolról nem reagál Önre.
Paraméterek | Description |
---|---|
SpeedX | Vízszintes forgatási sebesség. |
Gyors | Függőleges forgatási sebesség. |
InverseX | A vízszintes forgatás irányának inverze. |
Inverz | A függőleges forgatás irányának inverze. |
RotációThreshInDegrees | Ha a "Tekintet a célhoz" és a "Kamera a célhoz" szög kisebb ennél az értéknél, semmit sem kell tennie. Ez a kis jittery rotációk megelőzése. |
MinRotX | Minimális vízszintes forgatási szög. Ennek az a célja, hogy a forgatást különböző irányokban korlátozza. |
MaxRotX | Maximális vízszintes forgatási szög. Ennek az a célja, hogy a forgatást különböző irányokban korlátozza. |
MinRotY | Minimális függőleges forgatási szög az x tengely körüli forgatás korlátozásához. |
MaxRotY | Maximális függőleges forgatási szög az y tengely körüli forgatás korlátozásához. |
Összefoglalva, a fenti szkripteknek lehetővé kell tenniük a szemnézés használatát a különböző bemeneti navigációs feladatokhoz, például a görgető szövegekhez, a nagyításhoz és a pásztázáshoz, valamint a 3D hologramok vizsgálatához.
Lásd még
Vissza a "Eye tracking in the MixedRealityToolkit" (Szemkövetés a MixedRealityToolkitban)