Aracılığıyla paylaş


Unity betiğinizdeki göz izleme verilerine erişme — MRTK2

Bu makalede, MRTK sahnesinde gözle izlemeyi ayarlama konusunda anlayışlı olduğu varsayılır (bkz. Gözle izlemeyi kullanmak için temel MRTK kurulumu). MonoBehaviour betiğinde göz izleme verilerine erişmek kolaydır! CoreServices.InputSystem.EyeGazeProvider'ı kullanmanız yeterlidir.

IMixedRealityEyeGazeProvider

MRTK'daki göz izleme yapılandırması, arabirim aracılığıyla IMixedRealityEyeGazeProvider yapılandırılır. CoreServices.InputSystem.EyeGazeProvider kullanıldığında, çalışma zamanında araç setinde kayıtlı varsayılan bakış sağlayıcısı uygulaması sağlanır. 'nin EyeGazeProvider yararlı özellikleri aşağıda özetlenmiştir.

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

  • IsEyeCalibrationValid: Kullanıcının göz izleme kalibrasyonunun geçerli olup olmadığını gösterir. Değer henüz göz izleme sisteminden veri almadıysa 'null' döndürür. Kullanıcı göz izleme kalibrasyonunu atladığı için geçersiz olabilir.

  • IsEyeTrackingEnabledAndValid: Geçerli göz izleme verilerinin şu anda bakış için kullanılıp kullanılmadığını gösterir.

  • IsEyeTrackingDataValid: Göz izleme verileri varsa true. Zaman aşımı aşıldığından (ancak kullanıcının yanıp sönmesine karşı sağlam olmalıdır) veya izleme donanımı veya izinlerinin olmamasından dolayı kullanılamıyor olabilir. Kullanıcının göz kalibre edilip edilmediğini algılamayı ve uygun bir bildirimi göstermeyi açıklayan Eksik göz ayarı bildirim örneğimize göz atın.

  • GazeOrigin: Bakış ışınının kökeni. 'IsEyeGazeValid' yanlışsa, bunun baş bakış kaynağını döndüreceğini lütfen unutmayın.

  • GazeDirection: Bakış ışınının yönü. 'IsEyeGazeValid' yanlışsa bu, baş bakış yönünü döndürür.

  • HitInfo, HitPosition, HitNormal vb.: Şu anda hedefte olan bakışla ilgili bilgiler. Yine false ise IsEyeGazeValid , kullanıcının kafa bakışı temel alınacaktır.

CoreServices.InputSystem.EyeGazeProvider kullanma örnekleri

Aşağıda FollowEyeGaze.cs dosyasından bir örnek verilmiştir:

  • Kullanıcının baktığı hologramın noktasını alın:
// 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 aradığı yerden sabit bir mesafede bir görsel varlık gösterme:
// 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.