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ábbi dokumentum feltételezi, hogy egy új jelenettel kezd. Másik lehetőségként megtekintheti a már konfigurált MRTK szemkövető példákat , amelyeken rengeteg nagyszerű példa található, 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 csak most ismerkedik a HoloLens 2 szemkövetési funkcióval, és hogy hogyan van beállítva a szemkövetés az MRTK-ban, ne aggódjon! A következő szakaszokban részletesen ismertetjük, hogyan lehet őket részletesebben kezelni.

  1. A bemeneti rendszerhez hozzá kell adni egy "Szemnézet adatszolgáltatót" . Ez az adatszolgáltató szemkövetési 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 a korábbi verziókban ez a képesség csak a Visual Studióban és az MRTK buildelési eszközén keresztül érhető el.
  3. A HoloLens-t szemre kell kalibrálni az aktuális felhasználó számára. Tekintse meg a mintát annak észleléséhez, hogy egy felhasználó szemkalibrált-e vagy sem.

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

Az MRTK által biztosított buildelési eszközkészlet (Mixed Reality Toolkit - Utilities –>> Build Window) automatikusan lehetővé teszi a GazeInput képességet. A lépés elvégzéséhez győződjön meg arról, hogy a "Tekintet beviteli képessége" jelölőnégyzet be van jelölve az "Appx buildbeállítások" lapon:

MRTK buildelési eszközök

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 (Fájl –> Buildbeállítások) használatakor.

A Unity 2019 előtt a Unity buildablaká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 a Windows SDK-verziónak).

Megjegyzés: Ezt csak akkor kell megtennie, ha új buildmappába épít. Nem kell újra alkalmaznia a módosításokat, 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.

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

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 profilt az MRTK-hoz. Válassza a DefaultMixedRealityToolkitConfigurationProfile lehetőséget, majd a "Másolás & Testreszabás" lehetőséget.

MRTK-profil

"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 "Profil klónozása" menü. Kattintson a menü alján található "Klónozás" elemre.
  • Kattintson duplán az új bemeneti profilra, bontsa ki a "Bemeneti adatszolgáltatók" elemet, majd válassza a "+ Adatszolgáltató hozzáadása" lehetőséget.
  • Adja hozzá a megfelelő adatszolgáltatót:
    • Örökölt Windows Mixed Reality
      • A Típus területen válassza a "Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input" ->'WindowsMixedRealityEyeGazeDataProvider' elemet.
    • Windows XR beépülő modulhoz
      • A Típus területen válassza a "Microsoft.MixedReality.Toolkit.XRSDK.WindowsMixedReality" ->'WindowsMixedRealityEyeGazeDataProvider' lehetőséget.
    • OpenXR esetén
      • A Típus területen válassza a "Microsoft.MixedReality.Toolkit.XRSDK.OpenXR" ->'OpenXREyeGazeDataProvider' lehetőséget.

MRTK-adatszolgáltató

"Szemkövetési adatok használata" engedélyezése

  • Lépjen az MRTK konfigurációs profiljához –>'Input' ->'Pointers'
    • Klónozza a DefaultMixedRealityInputPointerProfile parancsot a módosítások végrehajtásához.
  • Keresse meg a "Szemkövető adatok használata" lehetőséget a beállítások között, és engedélyezze azokat.
  • Előfordulhat, hogy megjelenik a "GazeInput képesség beállítása" gomb, és meg kell nyomnia az UWP-képesség engedélyezéséhez.

Az MRTK szemkövető adatokat használ

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

A Szemkövetés bemenetét szimulálhatja a Unity Szerkesztőben, így meggyőződhet arról, hogy az események megfelelően aktiválódnak, mielőtt üzembe helyezené az alkalmazást a HoloLens 2. A szem tekintet jelét a kamera helyének szem tekintetforrásként való használatával, a kamera előrevektorát pedig szemnézet irányának használatával szimuláljuk. Bár ez nagyszerű a kezdeti teszteléshez, vegye figyelembe, hogy nem jó utánzás gyors szemmozgásokhoz. Ehhez célszerűbb a szemalapú interakciók gyakori tesztelését biztosítani a HoloLens 2.

  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 adatszolgáltatók) ->'Input Simulation Service' (Bemeneti szimulációs szolgáltatás) elemre.
    • Klónozza a DefaultMixedRealityInputSimulationProfile parancsot a módosítások végrehajtásához.
    • Válassza ki a megfelelő "Alapértelmezett szemnéz szimulációs mód" beállítást.

    MRTK-szemek szimulálása

  2. Alapértelmezett fejnézet-kurzor letiltása: Általában azt javasoljuk, hogy kerülje a szemkurzor megjelenítését, vagy ha feltétlenül szükséges, tegye nagyon finomsá. Javasoljuk, hogy alapértelmezés szerint rejtse el az MRTK-tekintet mutatóprofiljához csatolt alapértelmezett tekintetmutatót.

    • Lépjen az MRTK konfigurációs profiljához –>'Input' ->'Pointers'
    • Klónozza a DefaultMixedRealityInputPointerProfile parancsot a módosítások végrehajtásához.
    • A "Mutatóbeállítások" felső részén egy láthatatlan kurzorelőtagot kell hozzárendelnie a "Tekintetkurzor előlapja" elemhez. Ezt az MRTK Foundation "EyeGazeCursor" előlapjá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 kamerához van csatolva, használhatja a szemnézetet a bemeneti mutatóprofil tekintetbeállításai között az "IsEyeTrackingEnabled" jelölőnégyzet bejelölésével.

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 fej-alapú tekintetbe.

Szempillantás adatainak elérése

Most, hogy beállította a jelenetet a szemkövetés használatára, nézzük meg, hogyan érheti el azt a szkriptekben: Szemkövetési adatok elérése az EyeGazeProvider ésa szem által támogatott célkijelölések használatával.

A Unity-alkalmazás tesztelése egy HoloLens 2

Az alkalmazás szemkövetéssel való létrehozásának hasonlónak kell lennie ahhoz, ahogyan más HoloLens 2 MRTK-alkalmazásokat fordítana le. Győződjön meg arról, hogy engedélyezte a "Tekintet bemenete" funkciót a GazeInput képesség A megjegyzése című szakaszában leírtak szerint.

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

Győződjön meg arról, hogy megfelelően konfigurálta a projektet. Ehhez tekintse át az OpenXR-projekt beállítása AZ MRTK-val című témakör konfigurációs lépéseit.

A legfontosabb szempontok:

  • Tekintse át a kulcsbeállításokat a Projektbeállítások 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

Szemkalibrálás

Ne felejtse el átfutni a szem kalibrálását a HoloLens 2. A szemkövető rendszer nem ad vissza bemenetet, ha a felhasználó nincs kalibrálva. A kalibrációhoz a legegyszerűbben úgy juthat el, ha felfelé, majd visszafelé fordítja a visort. Megjelenik egy rendszerértesítés, amely új felhasználóként üdvözli Önt, és megkéri, hogy menjen végig a szem kalibrálásán. A szem kalibrálását a rendszerbeállítások között is megtalálhatja: Beállítások > Rendszerkalibrálás > Szemkalibrálás > futtatása.

Szemkövetési engedély

Amikor első alkalommal indítja el az alkalmazást a HoloLens 2, fel kell jelennie egy üzenetnek, amely engedélyt kér a felhasználótól a szemkövetés használatára. Ha a kérdés nem jelenik meg, az á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. Ha "megtagadta a szemkövetési engedélyt", ezt alaphelyzetbe állíthatja a Beállítások –> 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 következőhöz: "Szemkövetés a MixedRealityToolkitban"