A szemkövetés első lépései az MRTK2-ben

Ez az oldal bemutatja, hogyan állíthatja be Unity MRTK-jelenetét úgy, hogy szemkövetést használjon az alkalmazásban. Az alábbiakban feltételezzük, hogy egy új jelenettel kezd. Másik lehetőségként megtekintheti a már konfigurált MRTK szemkövető 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, a következő követelményeknek kell teljesülniük. Ha még nem ismeri a HoloLens 2-ben a szemkövetést, és hogy hogyan van beállítva a szemkövetés az MRTK-ban, ne aggódjon! Az alábbiakban részletesen ismertetjük, hogyan lehet ezek mindegyikével foglalkozni.

  1. A bemeneti rendszerhez hozzá kell adni egy "Szempillantás adatszolgáltatót" . Ez szemkövető adatokat biztosít a platformról.
  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ábban ez a képesség csak Visual Studio és az MRTK buildelési eszközén keresztül érhető el
  3. A HoloLens az aktuális felhasználó szemével kell kalibrálni. Tekintse meg a mintát annak észleléséhez, hogy a felhasználó szemre van-e kalibrálva.

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

Az MRTK által biztosított buildelési eszközkészlet (például Mixed Reality Eszközkészlet –> Segédprogramok –> Build ablak) automatikusan lehetővé teszi a GazeInput képességet. Ehhez győződjön meg arról, hogy a "Tekintet beviteli képessége" jelölőnégyzet be van jelölve az "Appx buildelési beállításai" lapon:

MRTK Build Tools

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

A Unity 2019 előtt a Unity buildelési ablakának használatakor a képességet manuálisan kell hozzáadni a Unity buildelése után, az alábbiak szerint:

  1. Nyissa meg a lefordított Visual Studio projektet, majd nyissa meg a Package.appxmanifest fájlt a megoldásban.
  2. Jelölje be a "GazeInput" jelölőnégyzetet a Képességek területen. 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ónak).

Felhívjuk: Ezt csak akkor kell megtennie, ha új buildmappába épít. Ez azt jelenti, hogy ha már létrehozta a Unity-projektet, és korábban beállította az appxmanifestet, és most ismét ugyanazt a mappát célozza meg, akkor nem kell újra alkalmaznia a módosításokat.

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ásához egyszerűen kattintson a menüsáv "Mixed Reality Eszközkészlet -> Konfigurálás..." parancsára.

MRTK configure

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

MRTK profile

"Szempillantás adatszolgáltató" létrehozása

  • Kattintson az MRTK-profil "Bemenet" fülére.
  • Az alapértelmezett ( DefaultMixedRealityInputSystemProfile ) szerkesztéséhez kattintson a mellette lévő "Klónozás" gombra. Megjelenik a "Klónozási profil" menü. Egyszerűen kattintson a " Klónozás" elemre a menü alján.
  • Kattintson duplán az új bemeneti profilra, bontsa ki a "Bemeneti adatszolgáltatók" elemet, és válassza a "+ Adatszolgáltató hozzáadása" lehetőséget.
  • Hozzon létre egy új adatszolgáltatót:
    • A Típus területen válassza a "Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input" ->'WindowsMixedRealityEyeGazeDataProvider' lehetőséget
    • Platform(ok) esetén válassza az "Windows Universal" lehetőséget.

MRTK data provider

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

A Szemkövető bemenetet szimulálhatja a Unity Szerkesztőben, így meggyőződhet arról, hogy az események megfelelően aktiválódtak, mielőtt üzembe helyezené az alkalmazást a HoloLens 2-ben. A szem tekintet jel szimulálása egyszerűen használja a kamera helyét, mint szem tekintet forrása és a kamera előrevektor a szem szem irányát. Bár ez nagyszerű a kezdeti teszteléshez, vegye figyelembe, hogy nem jó utánzás gyors szemmozgásokhoz. Ehhez jobb, ha a szemalapú interakciók gyakori tesztjeit a 2. HoloLens biztosítja.

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

    • Kattintson az MRTK-konfigurációs profil "Bemenet" fülére.
    • Innen lépjen az "Input Data Providers" ->"Input Simulation Service" (Bemeneti szimulációs szolgáltatás) elemre.
    • Klónozza a DefaultMixedRealityInputSimpulationProfile fájlt a módosításhoz.
    • Jelölje be a "Szempozíció szimulálása" jelölőnégyzetet.

    MRTK eyes simulate

  2. Tiltsa le az alapértelmezett fejnézeti kurzort: Általában ajánlott elkerülni a szemszemek kurzorának megjelenítését, vagy ha feltétlenül szükséges ahhoz, hogy nagyon finom legyen. Javasoljuk, hogy alapértelmezés szerint rejtse el az MRTK-tekintet mutatóprofiljához csatolt alapértelmezett fejnézet-kurzort.

    • Lépjen az MRTK konfigurációs profiljához –>'Input' ->'Pointers'
    • Klónozza a DefaultMixedRealityInputPointerProfile fájlt a módosításhoz.
    • A "Mutató Gépház" tetején egy láthatatlan kurzorelőfabot kell hozzárendelnie a "GazeCursor" előtaghoz. Ezt az MRTK Foundation "EyeGazeCursor" előtagjának kiválasztásával teheti meg.

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

A HoloLens v1-ben a fej tekintetét használták elsődleges mutató technikaként. Bár a fej tekintete továbbra is elérhető az MRTK GazeProvider eszközén keresztül, amely a Kamera van csatolva, a bemenő mutatóprofil tekintetbeállításai között jelölje be az "IsEyeTrackingEnabled" jelölőnégyzetet.

Megjegyzés

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

Fontos

Ha valamelyik szemkövetési követelmény nem teljesül, az alkalmazás automatikusan visszaesik a fejalapú tekintetbe.

Szempillantás adatainak elérése

Most, hogy a jelenet be van állítva a szemkövetés használatára, tekintsük meg, hogyan érheti el azt a szkriptekben: A szemkövetési adatok elérése az EyeGazeProvider és a szem által támogatott célkijelölések segítségével.

Unity-alkalmazás tesztelése HoloLens 2-n

Az alkalmazás szemkövetővel való létrehozásának hasonlónak kell lennie ahhoz, ahogyan más HoloLens 2 MRTK-alkalmazást fordítana le. Győződjön meg arról, hogy engedélyezte a "Gaze Input" képességet a GazeInput képességről szóló A szakaszban leírtak szerint.

Győződjön meg arról, hogy a projekt konfigurálva van a HoloLens 2-höz

Győződjön meg arról, hogy megfelelően konfigurálta a projektet. Ehhez tekintse át az OpenXR-projekt MRTK-val való beállításával kapcsolatos lépéseket.

A legfontosabb szempontok:

  • Tekintse át a kulcsbeállításokat a Project Gépház ablakban.
    • Győződjön meg arról, hogy a beépülő modulok szolgáltatói megfelelően vannak beállítva
  • A figyelmeztető háromszögek feloldása.
    • Az interakciós profilokat be kell állítani
    • Az OpenXR szolgáltatáscsoportokat megfelelően kell kijelölni

Szem kalibrációja

Végül ne felejtse el átfutni a szem kalibrációját a HoloLens 2-n. A szemkövető rendszer nem ad vissza bemenetet, ha a felhasználó nincs kalibrálva. A kalibráció legegyszerűbb módja, ha felfordítjuk a visort és vissza. Egy rendszerértesítésnek új felhasználóként kell megjelennie, és kérnie kell, hogy menjen végig a szem kalibráción. Másik lehetőségként megtalálhatja a szem kalibrációt a rendszerbeállításokban: Gépház > Rendszerkalibrációs >> run eye kalibráció.

Szemkövetési engedély

Amikor első alkalommal indítja el az alkalmazást a HoloLens 2-ben, fel kell jelennie egy üzenetnek, 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élykérés egyszer megjelent, nem jelenik meg automatikusan újra. Ha "megtagadta a szemkövetési engedélyt", ezt alaphelyzetbe állíthatja a Gépház –> Adatvédelem –> Alkalmazások területen.


Ezzel megkezdheti a szemkövetés használatát az MRTK Unity-alkalmazásban. Ne felejtse el megnézni az MRTK szemkövető oktatóanyagait és mintáit , amelyek bemutatják, hogyan használhatja a szemkövetési bemenetet, és kényelmesen biztosíthatja a projektekben újra felhasználható szkripteket.


Vissza a "Eye Tracking in the MixedRealityToolkit" (Szemkövetés a MixedRealityToolkitben) című szakaszhoz