Share via


Szem által támogatott navigáció az MRTK-ban – MRTK2

MRTK

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.

Szem által támogatott görgetési beállítás a Unityben

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. Szem által támogatott görgetési beállítás a Unityben: EyeTrackingTarget

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.

Szem által támogatott pásztázás és nagyítás beállítása a Unityben

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.

Szem által támogatott térbeli forgatás beállítása a Unityben

Ö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)