A szemkövetési adatok elérése a Unity-szkriptben

Ez a cikk feltételezi, hogy az egyik tudja, hogyan lehet beállítani a szemkövetést egy MRTK-jelenetben (lásd: Alapszintű MRTK-beállítás a szemkövetés használatára). A szemkövetési adatok elérése egy MonoBehaviour-szkriptben egyszerű! Egyszerűen használja a CoreServices.InputSystem.EyeGazeProvider adatokat.

IMixedRealityEyeGazeProvider

Az MRTK szemkövetési konfigurációja a felületen keresztül IMixedRealityEyeGazeProvider konfigurálható. A CoreServices.InputSystem.EyeGazeProvider használata biztosítja az eszközkészletben futásidőben regisztrált alapértelmezett tekintetszolgáltatói implementációt. A hasznos tulajdonságait EyeGazeProvider az alábbiakban ismertetjük.

  • IsEyeTrackingEnabled:True (Igaz): Igaz, ha a felhasználó a tekintete követését választotta.

  • IsEyeCalibrationValid:Azt jelzi, hogy a felhasználó szemkövetési kutatása érvényes-e vagy sem. "null" értéket ad vissza, ha az érték még nem kapott adatokat a szemkövetési rendszertől. Lehet, hogy érvénytelen, mert a felhasználó kihagyta a szemkövetést.

  • IsEyeTrackingEnabledAndValid:Azt jelzi, hogy az aktuális szemkövetési adatok használatban vannak-e.

  • IsEyeTrackingDataValid:Igaz, ha van elérhető szemkövetési adat. Előfordulhat, hogy az időtúllépés miatt nem érhető el (ennek azonban a felhasználó villogása esetén robusztusnak kell lennie), vagy a hardver vagy az engedélyek nyomon követésének hiánya miatt. Tekintse meg a Hiányzó szemekkel való észlelésről szóló értesítési mintát, amely elmagyarázza, hogyan lehet észlelni, hogy a felhasználó be van-e állítva a szemre, és hogyan lehet egy megfelelő értesítést mutatni.

  • GazeOrigin:A tekinteti sugár eredete. Vegye figyelembe, hogy ez visszaadja a fej tekintetének eredetét, ha az IsEyeGazeValid hamis.

  • GazeDirection:A tekinteti sugár iránya. Ez visszaadja a fej tekintetének irányát, ha az IsEyeGazeValid hamis.

  • HitInfo,HitPosition,HitNormal, stb.: Az aktuálisan a célnak tekintett adatok. Ha a hamis, akkor ez a felhasználó fejének IsEyeGazeValid tekintetén alapul. IsEyeGazeValid

Példák a CoreServices.InputSystem.EyeGazeProvider használatára

Példa a FollowEyeGaze.cs fájlra:

  • Szerezze be a hologram pontját, amely a felhasználó számára látható:
// Show the object at the hit position of the user's eye gaze ray with the target.
gameObject.transform.position = CoreServices.InputSystem.EyeGazeProvider.HitPosition;
  • Vizualizációs eszköz megjelenítése rögzített távolságra attól a helytől, ahol a felhasználó éppen keres:
// If no target is hit, show the object at a default distance along the gaze ray.
gameObject.transform.position =
CoreServices.InputSystem.EyeGazeProvider.GazeOrigin +
CoreServices.InputSystem.EyeGazeProvider.GazeDirection.normalized * defaultDistanceInMeters;

Lásd még