Unity betiğinizin göz izleme verilerine erişme

Bu makalede, bir MRTK sahnesinde göz izleme ayarlama hakkında bilgi olduğu varsayıldı (göz izleme kullanmak için temel MRTK kurulumuna bakın). MonoBehaviour betiğinde göz izleme verilerine kolayca erişebilirsiniz! CoreServices.InputSystem.EyeSystemeProvider kullanın.

IMixedRealityEyeYıkLarProvider

MRTK'daki göz izleme yapılandırması arabirimi aracılığıyla IMixedRealityEyeGazeProvider yapılandırılır. CoreServices.InputSystem.EyeSystemEProvider'ın kullanımı çalışma zamanında araç setine kayıtlı varsayılan bakış sağlayıcı uygulamasını sağlar. yararlı özellikleri EyeGazeProvider aşağıda açıklanmıştır.

  • IsEyeTrackingEnabled: Kullanıcı bakış için göz izleme kullanmayı seçtiyse true olur.

  • IsEyeCalibrationValid: Kullanıcının göz izleme düzeltmenin geçerli olup olmadığını gösterir. Değer henüz göz izleme sisteminden veri toplamamışsa 'null' değerini döndürür. Kullanıcı göz izleme ölçümlerini atlamış olduğundan geçersiz olabilir.

  • IsEyeTrackingEnabledAndValid: Geçerli göz izleme verisi olup olmadığını gösterir.

  • IsEyeTrackingDataValid: Göz izleme verileri varsa true olur. Zaman aşımının aşmış olması (yanıp sönen kullanıcıya sağlam olması gerekir) veya donanım veya izinleri izleme eksikliği nedeniyle kullanılamıyor olabilir. Bir kullanıcının göz ayarı olup olmadığını algılamayı ve uygun bildirimi göstermeyi açıklayan Eksik göz bildirim bildirimi örneğimize göz at.

  • GazeOrigin: Bakış ışığının kaynağı. 'IsEyeValeValid' false ise bunun baş bakışın çıkış noktası olarak dönülecek olduğunu lütfen unutmayın.

  • GazeDirection: Bakış ışığının yönü. Bu, 'IsEyeValeValid' false ise baş bakış yönünü döndürür.

  • HitInfo, HitPosition, HitNormal, vb.: Şu anda hedefe bakan hakkında bilgiler. Yine false IsEyeGazeValid ise, bu durum kullanıcının kafa bakışına göre olur.

CoreServices.InputSystem.EyeSystemeProvider kullanma örnekleri

Burada FollowEyeGele.cs'den bir örnek ve ardından yer alan bir örnek vetir:

  • Kullanıcının bakarak bakarak bir hologram noktasını elde:
// Show the object at the hit position of the user's eye gaze ray with the target.
gameObject.transform.position = CoreServices.InputSystem.EyeGazeProvider.HitPosition;
  • Kullanıcının şu anda aray olduğu yerden sabit bir uzaklıkta bir görsel varlık gösteriliyor:
// 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;

Ayrıca bkz.