A szemkövetés első lépések az MRTK-ban


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"

Ez az oldal bemutatja, hogyan állíthatja be Unity MRTK-jelenetét a szemkövetés használatára az alkalmazásban. Az alábbiakban feltételezzük, 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! Alább 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óiban ez a képesség csak az Visual Studio-ban é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 a felhasználó szemre van-e beállítva vagy sem.

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

Az MRTK által biztosított buildeszköz (pl. Mixed Reality Toolkit – Segédprogramok – Build ablak) 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" (Tekintetbeviteli képesség):

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

Felhívjuk: 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

Állítsa be a MixedRealityToolkit eszközt úgy, hogy egyszerűen Mixed Reality a menüsáv "Eszközkészlet – Konfigurálás..." elemét.

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 MRTK-profilt. Egyszerűen válassza a DefaultMixedRealityToolkitConfigurationProfile lehetőséget, majd válassza a "Testreszabás másolása" lehetőséget.

MRTK-profil

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

  • Kattintson az "Input" (Bemenet) lapra az MRTK-profilban.
  • Az alapértelmezett fájl (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 a Bemeneti adatszolgáltatókgombra, és válassza a "+ Adatszolgáltató hozzáadása" lehetőséget.
  • Új adatszolgáltató létrehozása:
    • A Típus alatt válassza a "Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input""WindowsMixedRealityEyeGazeDataProvider" lehetőséget.
    • A Platform(k) beállításnál 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 a szemkövetési bemenetet szimulálva biztosíthatja az események megfelelő aktiválását, mielőtt üzembe helyez egy HoloLens 2. A szem tekintete jelet úgy szimuláljuk, hogy egyszerűen a kamera helyét használjuk a tekintet eredeteként, és a kamera előrevektorát a tekintet irányának. Bár ez nagyszerű a kezdeti teszteléshez, vegye figyelembe, hogy nem jó imitáció a gyors szemmozgáshoz. Ehhez jobb biztosítani a szemalapú interakciók gyakori teszteket a 2. HoloLens teszten.

  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""Input Simulation Service" (Bemeneti szimulációs szolgáltatás) lapra.
    • Klónozza a "DefaultMixedRealityInputSimpulationProfile" et annak 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énekletiltá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ó-profilhoz van csatolva.

    • Lépjen az MRTK konfigurációs profiljára – >> – >>
    • Klónozza a "DefaultMixedRealityInputPointerProfile" et, hogy módosítsa.
    • A "Pointer Gépház"tetején egy láthatatlan kurzor-előfedőt kell hozzárendelni a "GazeCursor" előlaphoz. Ezt az MRTK Foundation "EyeGazeCursor" előfab kiválasztásával használhatja.

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 fej tekintete továbbra is elérhető az MRTK GazeProvider eszközén keresztül, amely a kamerához van csatolva,a bemeneti mutató profiljának tekinteti beállításai között az "IsEyeTrackingEnabled" jelölőnégyzet be jelölésével 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 tekinteti adatok 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-es HoloLens

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

Szemszétebráció

Végül 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 görbére jutni, ha feldobja a vizort, és visszafordul. Új felhasználóként egy rendszerértesítésnek kell megjelennie, amely arra kéri, hogy ássa be a szemét. Alternatív megoldásként a rendszerbeállításokban is megtalálja a szemredőzőt: a Gépház >> szemszirebrációt. >

Szemkövetési engedély

Amikor először a 2. HoloLens alkalommal kezdi el az alkalmazást, egy üzenet jelenik meg, amely engedélyt kér a felhasználótól a szemkövetés használatára. Ha nem jelenik meg, az á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 ismét megjelenik. Ha "megtagadta a szemkövetési engedélyt",a következő dokumentumban állíthatja vissza: Gépház adatvédelem – > Alkalmazások.