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

MRTK

Imagine lappal kapcsolatos információkat olvas, é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 meg is tudja nagyítani, hogy hol is néz. A térkép automatikusan módosítja a tartalmat, hogy a fontos dolgokat megtartsa a nézeten belül. Egy másik érdekes alkalmazás a 3D hologramok kéz nélküli megfigyelése, amely automatikusan az ön előtt álló hologram részeit hozza elő. Íme néhány példa, amelyet ezen az oldalon a szem által támogatott navigáció kontextusában mutatunk be.

Az alábbi leírások feltételezik, hogy már ismeri a szemkövetés beállításának az MRTK-jelenetben való beállítását, valamint az MRTK Unityben a szemkövetési adatok elérésének alapjait. Az alábbiakban tárgyalt példák mind az EyeTrackingDemo-03-Navigation (Assets/MRTK/Examples/Demos/EyeTracking/Scenes/EyeTrackingDemo-03-Navigation) jelenet részei.

Összefoglalás: Szöveg automatikus görgetése, a virtuális térkép szem által támogatott pásztázása és nagyítása, kéz nélküli tekintet, 3D-s elforgatás.

Automatikus görgetés

Az automatikus görgetéssel a felhasználó anélkül görgetheti végig a szövegeket, hogy meghozta volna az egyik ujját. 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 keresi. Kezdhet a következőben megadott EyeTrackingDemo-03-Navigation példával: (Assets/MRTK/Examples/Demos/EyeTracking/Scenes). 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övegmező collider összetevőjhez:

ScrollRectTransf

A TextMesh vagy általánosabban beszédes RectTransform-összetevők görgetéshez használhatja a ScrollRectTransf szkriptet. Ha RectTransformhelyett egy textúra között szeretne görgetni, a ScrollRectTransfhelyett használja a ScrollTexture függvényt. Az alábbiakban részletesebben ismertetjuk a Unity-szerkesztőben elérhető ScrollRectTransf paramétereit:

Paraméterek Description
LimitPanning (Korlátozás) Ha engedélyezve van, a leállítja a görgethető tartalmat a határán.
RectTransfToNavigate A görgetéshez hivatkozhat a RectTransformra.
RefToViewport A megfelelő eltolás és határ meghatározásához hivatkozhat a görgethető tartalom szülő RectTransform szülőre.
AutoGazeScrollIsActive Ha engedélyezve van, a szöveg automatikusan görgethető, ha a felhasználó egy aktív régiót néz 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ési irány változását jelentik: balról jobbra, illetve 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ési irány változását jelentik: felfelé és lefelé.
MinDistFromCenterForAutoScroll Normalizált minimális távolság x és y értékben a célpont találati mezője közepétől (0, 0) a görgetéshez. Ezért az értékeknek 0 (mindig görgetés) és 0,5 (görgetés nélkül) közötti tartományba kell esnie.
UseSkim Új Ha engedélyezve van, megakadályozza a hirtelen görgetőmozgást, amikor gyorsan körbeteker. A görgetés azonban kevésbé rugalmas lehet. A Skim ÚjdateSpeed értékkel hangolhatja.
Skim ÚjdateSpeed Az alacsonyabb értékkel a görgetés lassabban halad a görgetés után. Ajánlott érték: 5.

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

EyeTrackingTarget

Az EyeTrackingTarget összetevő csatolása rugalmasan kezeli a szemkörrel kapcsolatos eseményeket. A görgetési minta görgethető szöveget mutat be, amely akkor kezdődik, amikor a felhasználó a panelre néz, és leáll, amikor a felhasználó távolról néz. A 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

Who korábban nem használt virtuális térképet az otthoni kereséshez vagy teljesen új helyek felfedezéséhez? A szemkövetéssel közvetlenül megismerheti az Önt érdeklő részeket, és ha ráközelít, zökkenőmentesen követheti az utca kurzusát, hogy felfedezze a környezetét! Ez nem csupán a földrajzi térképek felfedezéséhez hasznos, hanem a fényképeken, adatvizualizációkban vagy élő streamben közvetített orvosi képek részleteinek vizsgálatában is. Ezt a képességet egyszerűen használhatja az alkalmazásában! A Textúra(Textúra) használatával megjelenített tartalmakhoz (például fényképhez, streamelt adatokhoz) egyszerűen adja hozzá a PanZoomTexture szkriptet. RectTransform használata: PanZoomRectTransf. Az Automatikus görgetés funkció kiterjesztésekor lényegében lehetővé teszi, hogy egyszerre függőlegesen és vízszintesen is görgetve nagyítson tartalmat közvetlenül a felhasználó aktuális fókuszpontja körül.

Paraméterek Description
LimitPanning (Korlátozás) Ha engedélyezve van, a 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. Előfordulhat, hogy először le szeretné tiltani, nehogy véletlenül nagyítási műveleteket indítsunk.
RendererOfTextureToBeNavigated A navigálható textúra hivatkozott renderelője.
Zoom_Acceleration Nagyítás-gyorsítás, amely a logisztikai sebesség funkcióleképezésének nehézségét határozza meg.
Zoom_SpeedMax Maximális nagyítási sebesség.
Zoom_MinScale A textúra minimális skálája nagyításhoz – például 0,5f (az eredeti méret fele).
Zoom_MaxScale A textúra maximális mérete nagyításhoz – például 1f (az eredeti méret) vagy 2,0f (az eredeti méret duplája).
Zoom_TimeInSecToZoom Időkorrektált nagyítás: Az aktiválás után a megadott ideig (másodpercben) nagyítunk vagy kicsinyítünk.
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örgethető, ha a felhasználó egy aktív régiót néz 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ési irány változását jelentik: balról jobbra, illetve 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ési irány változását jelentik: felfelé és lefelé.
Pan_MinDistFromCenter Normalizált minimális távolság x és y értékben a célpont találati mezője közepétől (0, 0) a görgetéshez. Ezért az értékeknek 0 (mindig görgetés) és 0,5 (görgetés nélkül) közötti tartományba kell esnie.
UseSkim Új Ha engedélyezve van, megakadályozza a hirtelen görgetőmozgást, amikor gyorsan körbeteker. A görgetés azonban kevésbé rugalmas lehet. A Skim ÚjdateSpeed értékkel hangolhatja.
Skim ÚjdateSpeed Az alacsonyabb értékkel a görgetés lassabban halad a gö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ú 3D-rotáció

Imagine egy 3D-objektumot és a látni kívánt részeket, amelyek még közelebbről is megfordulnak Ön előtt – mintha a rendszer olvasna, és ismerné, hogy az elemet ön felé fordítsa! Ez a figyelemalapú 3D-rotációk ötlete, amely lehetővé teszi, hogy egy hologram minden oldalát megvizsgálja anélkül, hogy hozzáér egy ujjlenyomathoz. Ennek engedélyezéséhez egyszerűen adja hozzá az OnLookAtRotateByEyeGaze szkriptet a GameObject részhez egy collider összetevővel. Az alább felsorolt paraméterek közül több is finomhangolással korlátozhatja, hogy a hologram milyen gyorsan és milyen irányban fordul.

Ahogy képzelheti, ez a viselkedés mindig aktívvá válhat egy zsúfolt jelenetben. Ezért érdemes lehet ezt a viselkedést letiltva kezdeni, majd hangparancsokkal gyorsan engedélyezni. Másik lehetőségként hozzáadtunk egy példát a EyeTrackingDemo-03-Navigation (Assets/MRTK/Examples/Demos/EyeTracking/Scenes) parancsban a TargetMoveToCamera használatára, amelyhez kiválaszthat egy célzott célt, amely az Ön előtt áll – egyszerűen mondja ki a "Come to me"(Velem jöjjön) szót.

A közel módban az automatikus rotáció automatikusan engedélyezve lesz. Ebben a módban megfigyelheti azt minden oldalról, egyszerűen hátradőlve és nézve, körbe járva, vagy a kézvel megragadva és elforgatva. Ha elveti a célt (& csippentés vagy a "Visszaküldés" szöveg) vissza fog térni az eredeti helyére, és nem fog távolról reagálni.

Paraméterek Description
SpeedX Vízszintes elforgatási sebesség.
Gyors Függőleges elforgatási sebesség.
InverseX A vízszintes elforgatás irányának inverzét.
Inverz A függőleges elforgatás irányának inverzét.
RotationThreshInDegrees Ha a "Tekintet a célnak" és a "Camera to Target" közötti szög kisebb ennél az értéknél, ne tegye a következőt: . Ez megakadályozza a kis jitteri rotációkat.
MinRotX Minimális vízszintes elforgatási szög. Ez a rotáció különböző irányban való korlátozására való.
MaxRotX Maximális vízszintes elforgatási szög. Ez a rotáció különböző irányban való korlátozására való.
MinRotY Minimális függőleges elforgatási szög az x tengely körüli elforgatás korlátozásához.
MaxRotY (MaxRotY) Maximális függőleges elforgatási szög az y tengely körüli elforgatás korlátozásához.

A szem által támogatott 3D-rotáció beállítása a Unityben

Összefoglalva, a fenti szkriptek lehetővé teszik a különböző bemeneti navigációs feladatok, például a görgető szövegek, a nagyítás és a textúra-árnyékolás, valamint a 3D hologramok vizsgálatának forgó vizsgálatához való használatának első lépéseket.

Lásd még


Vissza a "Szemkövetés a MixedRealityToolkitben"