Ismerkedés a szemkövetéssel az MRTK-ban

Ez az oldal bemutatja, hogyan állíthatja be a Unity MRTK-jelenetét a szemkövetés használatára az alkalmazásban. A következők feltételezik, hogy egy új jelenetből indul ki. Másik lehetőségként tekintse meg a már konfigurált MRTK-szemkövetési példákat rengeteg nagyszerű példával, amelyekre közvetlenül építhet.

Szemkövetési követelmények ellenőrzőlistája

Ahhoz, hogy a szemkövetés megfelelően működjön, az alábbi követelményeknek kell teljesülnie. Ha még csak most figyel a 2. HoloLens, és hogy hogyan van beállítva a szemkövetés az MRTK-ban, ne aggódjon! Az alábbiakban részletesen is foglalkozunk velük.

  1. A bemeneti rendszerhez hozzá kell adni egy "Szem tekintete adatszolgáltatót". Ez a platformról származó szemkövetési adatokat biztosít.
  2. A "GazeInput" képességet engedélyezni kell az alkalmazásjegyzékben. Ez a képesség beállítható a Unity 2019-ben, de a Unity 2018-ban és korábbi verziókban ez a képesség csak a Visual Studio és az MRTK buildeszköz használatával érhető el
  3. A HoloLens az aktuális felhasználó szemre van beállítva. Tekintse meg a mintát, amely azt észleli, hogy afelhasználó szemre van-e beállítva vagy sem.

Megjegyzés a GazeInput képességről

Az MRTK által biztosított buildeszköz (Mixed Reality Toolkit -> Utilities -> Build Window) automatikusan engedélyezheti a GazeInput képességet. Ehhez győződjön meg arról, hogy az Appx Build Options (Appx build beállításai) lapon be van jelölve a "Gaze Input Capability" (Tekinteti bemenet képessége):

MRTK buildeszközök

Ez az eszköz megkeresi az AppX-jegyzékfájlt a Unity-build befejezése után, és manuálisan adja hozzá a GazeInput képességet. A Unity 2019 előtt ez az eszköz NEM aktív a Unity beépített Build Window (például File -> Build Gépház) használata esetén.

A Unity 2019 előtt a Unity buildablakának használata esetén a képességet manuálisan kell hozzáadni a Unity-build után, az alábbiak szerint:

  1. Nyissa meg a lefordított Visual Studio, majd nyissa meg a Package.appxmanifest adatokat a megoldásában.
  2. Mindenképpen jelölje be a "GazeInput" jelölőnégyzetet a Capabilities (Képességek) alatt. Ha nem látja a "GazeInput" képességet, ellenőrizze, hogy a rendszer megfelel-e az MRTK használatának előfeltételeinek (különösen az Windows SDK verziójának).

Vegye figyelembe a következőt: Ezt csak akkor kell megtennie, ha egy új buildmappába épít. Ez azt jelenti, hogy ha már felépítette a Unity-projektet, és korábban beállította az appxmanifest parancsot, és most ismét ugyanazt a mappát célozza meg, nem kell újraalkalmaznunk a módosításokat.

A szemkövetés beállítása lépésről lépésre

A jelenet beállítása

A MixedRealityToolkit beállításhoz egyszerűen kattintson a Mixed Reality Toolkit -> Configure... > elemre. a menüsávon.

MRTK konfigurálása

A szemkövetéshez szükséges MRTK-profilok beállítása

Az MRTK-jelenet beállítása után a rendszer megkéri, hogy válasszon egy profilt az MRTK-hoz. Egyszerűen válassza a DefaultMixedRealityToolkitConfigurationProfile lehetőséget, majd válassza a "Másolás & Testreszabás" lehetőséget.

MRTK-profil

"Tekinteti adatszolgáltató létrehozása"

  • Kattintson az "Input" (Bemenet) lapra az MRTK-profilban.
  • Az alapértelmezett (DefaultMixedRealityInputSystemProfile) szerkesztéséhez kattintson a mellette lévő "Klónozás" gombra. Megjelenik a "Profil klónozása" menü. Egyszerűen kattintson a menü alján található "Klónozás" elemre.
  • Kattintson duplán az új bemeneti profilra, bontsa ki az Input Data Providers (Bemeneti adatszolgáltatók) gombra, és válassza a "+ Adatszolgáltató hozzáadása" lehetőséget.
  • Hozzon létre egy új adatszolgáltatót:
    • A Típus alatt válassza a "Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input" -> "WindowsMixedRealityEyeGazeDataProvider" lehetőséget
    • A Platform(k) mezőben válassza a "Windows Universal" lehetőséget.

MRTK-adatszolgáltató

A szemkövetés szimulálása a Unity-szerkesztőben

A Unity-szerkesztőben szimulálhatja a szemkövetési bemenetet, így biztosíthatja az események megfelelő aktiválását, mielőtt üzembe helyezné az alkalmazást a HoloLens 2.-ben. A szem tekintete jelet úgy szimuláljuk, hogy egyszerűen a kamera tartózkodási helyét használjuk a tekintet eredeteként, és a kamera előretekintő vektorát a tekintet irányának. Bár ez nagyszerű a kezdeti teszteléshez, vegye figyelembe, hogy ez nem jó imitáció a gyors szemmozgáshoz. Ehhez jobb biztosítani a szemalapú interakciók gyakori teszteket a 2. HoloLens során.

  1. Szimulált szemkövetés engedélyezése:

    • Kattintson az "Input" (Bemenet) lapra az MRTK-konfigurációs profilban.
    • Innen navigáljon a Bemeneti adatszolgáltatók -> "Bemeneti szimulációs szolgáltatás" lapra.
    • Klónozza a "DefaultMixedRealityInputSimpulationProfile" et a módosításaihoz.
    • Jelölje be a "Simulate Eye Position" (Szempozíció szimulálása) jelölőnégyzetet.

    MRTK-szemszi szimulálása

  2. Az alapértelmezett fej tekintetének letiltása: Általában ajánlott elkerülni a tekintet kurzorának megjelenítését, vagy ha feltétlenül szükséges, hogy nagyon finom legyen. Azt javasoljuk, hogy rejtse el az alapértelmezett fej tekinteti kurzort, amely alapértelmezés szerint az MRTK tekintetmutató-mutató profiljához van csatolva.

    • Navigáljon az MRTK konfigurációs profiljához , > "Bemenet" -> "Mutatók" adatokat
    • Klónozza a "DefaultMixedRealityInputPointerProfile" et a módosításhoz.
    • A "Pointer Gépház" tetején egy láthatatlan kurzor-előlapnak kell a "GazeCursor" előlapját hozzárendelni. Ehhez válassza az MRTK Foundation "EyeGazeCursor" előfab beállítását.

A tekintetalapú tekintet engedélyezése a tekintetszolgáltatóban

A HoloLens v1-ben a fej tekintetét használták elsődleges rámutatási technikaként. Bár a tekintet továbbra is elérhető a Kamera eszközhöz csatolt MRTK GazeProvider eszközén keresztül,a bemeneti mutató profilja tekinteti beállításai között az "IsEyeTrackingEnabled" jelölőnégyzet bejelölése után ellenőrizheti, hogy a tekintetet használja-e.

Megjegyzés

A fejlesztők válthatnak a szemalapú tekintet és a fejalapú tekintet között a kódban a GazeProvider "IsEyeTrackingEnabled" tulajdonságának módosításával.

Fontos

Ha a szemkövetési követelmények bármelyike nem teljesül, az alkalmazás automatikusan visszatér a fejalapú tekintethez.

A tekintetadatok elérése

Most, hogy beállította a jelenetét a szemkövetés használatára, nézzük meg, hogyan érhető el a szkriptek között: Hozzáférés a szemkövetési adatokhoz az EyeGazeProvider és a szem által támogatott célkijelölések használatával.

Unity-alkalmazás tesztelése HoloLens 2-

Az alkalmazás szemkövetéssel való összeállításának hasonlónak kell lennie ahhoz, ahogy más HoloLens 2 MRTK-alkalmazást. Győződjön meg arról, hogy engedélyezte a "Gaze Input" képességet a GazeInputképességről az A megjegyzés című szakaszban leírtak szerint.

Szemszétebráció

Végül pedig ne felejtsen el szemkontrasztot futtatni a 2. HoloLens szemével. A szemkövetési rendszer nem ad vissza semmilyen bemenetet, ha a felhasználó nincs beállítva. A legegyszerűbben úgy lehet a színre ásni, ha feldobja a vizort, és visszafordul. Egy rendszerértesítésnek kell megjelennie, amely új felhasználóként üdvözli, és megkéri, hogy ássa át a szemét. Alternatív megoldásként a rendszerbeállításokban is megtalálja a szemredőzőt: Gépház > System > Az > szemszekés.

Szemkövetési engedély

Amikor először a 2. HoloLens indul el az alkalmazás, megjelenik egy üzenet, amely engedélyt kér a felhasználótól a szemkövetés használatára. Ha nem jelenik meg, akkor ez általában azt jelzi, hogy a "GazeInput" képesség nincs beállítva.

Miután az engedély kérése egyszer megjelent, nem fog automatikusan újra megjelenik. Ha "megtagadta a szemkövetési engedélyt", ezt a következő Gépház -> adatvédelem -> alkalmazásokban állíthatja vissza.


Ez a cikk a szemkövetés az MRTK Unity-alkalmazásban való használatának első lépésekben való használatával kezdődik. Ne felejtse el megnézni az MRTK szemkövetési oktatóanyagokat és mintákat, amelyek bemutatják a szemkövetési bemenetek használatát és a projektekben újrafelhasználható szkriptek kényelmes nyújtását.


Vissza a "Szemkövetés a MixedRealityToolkitben"