Komma åt ögonspårningsdata i ditt Unity-skript

Den här artikeln förutsätter att man har förståelse för att konfigurera ögonspårning i en MRTK-scen (se Grundläggande MRTK-konfiguration för att använda ögonspårning). Det är enkelt att komma åt ögonspårningsdata i ett MonoBehaviour-skript! Använd bara CoreServices.InputSystem.EyeGazeProvider.

IMixedRealityBindGazeProvider

Ögonspårningskonfigurationen i MRTK konfigureras via IMixedRealityEyeGazeProvider -gränssnittet. Med CoreServices.InputSystem.EyeGazeProvider får du standardimplementering av blickprovidern som registrerats i verktygslådan vid körning. Användbara egenskaper för EyeGazeProvider beskrivs nedan.

  • IsTrackingEnabled: Sant om användaren har valt att använda ögonspårning för blick.

  • IsIdoCalibrationValid: Anger om användarens ögonspårningsavläsning är giltig eller inte. Den returnerar "null", om värdet ännu inte har tagit emot data från ögonspårningssystemet. Det kan vara ogiltigt eftersom användaren hoppat över kalibreringen av ögonspårningen.

  • IsTrackingEnabledAndValid: Anger om aktuella ögonspårningsdata har använts för blicken.

  • IsTrackingDataValid: Sant om det finns tillgängliga ögonspårningsdata. Den kan vara otillgänglig på grund av överskriden tidsgräns (bör dock vara robust för användaren som blinkar) eller brist på spårning av maskinvara eller behörigheter. Kolla in vårt exempel på kalibrering av ögonaviseringar som förklarar hur du identifierar om en användare är ögonkalibrerad och visar ett lämpligt meddelande.

  • GazeOrigin: Blickbildens ursprung. Observera att detta returnerar huvudhuvudets ursprung om "IsGatGazeValid" är falskt.

  • GazeDirection: Riktningen för blickbilden. Detta returnerar riktningen för huvudriktningen om "IsChefenGazeValid" är falskt.

  • HitInfo, HitPosition, HitNormal osv.: Information om det aktuella målet. Om är IsEyeGazeValid falskt baseras detta återigen på användarens huvud blick.

Exempel för att använda CoreServices.InputSystem.EyeGazeProvider

Här är ett exempel från FollowGatGaze.cs:

  • Hämta punkten för ett hologram som användaren tittar på:
// Show the object at the hit position of the user's eye gaze ray with the target.
gameObject.transform.position = CoreServices.InputSystem.EyeGazeProvider.HitPosition;
  • Visar en visuell tillgång på ett fast avstånd från den plats som användaren för närvarande letar efter:
// 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;

Se även