Oogtraceringsgegevens openen in uw Unity-script — MRTK2

In dit artikel wordt ervan uitgegaan dat men begrip heeft voor het instellen van oogtracering in een MRTK-scène (zie Basis MRTK-instellingen voor het gebruik van oogtracering). Toegang tot oogtraceringsgegevens in een MonoBehaviour-script is eenvoudig! Gebruik gewoon CoreServices.InputSystem.EyeGazeProvider.

IMixedRealityEyeGazeProvider

De oogtraceringsconfiguratie in MRTK wordt geconfigureerd via de IMixedRealityEyeGazeProvider interface. CoreServices.InputSystem.EyeGazeProvider biedt de standaard implementatie van de gaze-provider die tijdens runtime in de toolkit is geregistreerd. Nuttige eigenschappen van de EyeGazeProvider worden hieronder beschreven.

  • IsEyeTrackingEnabled: waar als de gebruiker ervoor heeft gekozen om oogtracering te gebruiken voor blikken.

  • IsEyeCalibrationValid: geeft aan of de oogtraceringskalibratie van de gebruiker geldig is of niet. Deze retourneert 'null', als de waarde nog geen gegevens heeft ontvangen van het oogtraceringssysteem. Deze kan ongeldig zijn, omdat de gebruiker de kalibratie van de ogentracering heeft overgeslagen.

  • IsEyeTrackingEnabledAndValid: geeft aan of de huidige oogtraceringsgegevens momenteel worden gebruikt voor blikken.

  • IsEyeTrackingDataValid: Waar als oogtraceringsgegevens beschikbaar zijn. Het is mogelijk niet beschikbaar vanwege een overschreden time-out (moet echter robuust zijn voor de gebruiker die knippert) of vanwege gebrek aan traceringshardware of -machtigingen. Bekijk ons voorbeeld van ontbrekende oogkalibratiemeldingen waarin wordt uitgelegd hoe u detecteert of een gebruiker ooggekalibreerd is en hoe u een passende melding weergeeft.

  • GazeOrigin: Oorsprong van de staarstraal. Houd er rekening mee dat dit de oorsprong van de hoofdgaze retourneert als 'IsEyeGazeValid' onwaar is.

  • GazeDirection: Richting van de gazestraal. Dit retourneert de richting van het hoofd als 'IsEyeGazeValid' onwaar is.

  • HitInfo, HitPosition, HitNormal, etc.: Informatie over de die momenteel naar het doel wordt gekeken. Nogmaals, als IsEyeGazeValid onwaar is, wordt dit gebaseerd op de blik van de gebruiker.

Voorbeelden voor het gebruik van CoreServices.InputSystem.EyeGazeProvider

Hier volgt een voorbeeld van de FollowEyeGaze.cs:

  • Haal het punt op van een hologram dat de gebruiker bekijkt:
// Show the object at the hit position of the user's eye gaze ray with the target.
gameObject.transform.position = CoreServices.InputSystem.EyeGazeProvider.HitPosition;
  • Een visuele asset weergeven op een vaste afstand van waar de gebruiker momenteel naar kijkt:
// 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;

Zie ook