Mengakses data pelacakan mata di skrip Unity Anda — MRTK2

Artikel ini mengasumsikan seseorang memiliki pemahaman untuk menyiapkan pelacakan mata di adegan MRTK (lihat Penyiapan MRTK dasar untuk menggunakan pelacakan mata). Mengakses data pelacakan mata dalam skrip MonoBehaviour itu mudah! Cukup gunakan CoreServices.InputSystem.EyeGazeProvider.

IMixedRealityEyeGazeProvider

Konfigurasi pelacakan mata di MRTK dikonfigurasi melalui IMixedRealityEyeGazeProvider antarmuka. Menggunakan CoreServices.InputSystem.EyeGazeProvider menyediakan implementasi penyedia tatapan default yang terdaftar di toolkit saat runtime. Properti yang EyeGazeProvider berguna dari diuraikan di bawah ini.

  • IsEyeTrackingEnabled: True jika pengguna telah memilih untuk menggunakan pelacakan mata untuk tatapan.

  • IsEyeCalibrationValid: Menunjukkan apakah kalibrasi pelacakan mata pengguna valid atau tidak. Ini mengembalikan 'null', jika nilai belum menerima data dari sistem pelacakan mata. Ini mungkin tidak valid, karena pengguna melewatkan kalibrasi pelacakan mata.

  • IsEyeTrackingEnabledAndValid: Menunjukkan apakah data pelacakan mata saat ini saat ini digunakan untuk tatapan.

  • IsEyeTrackingDataValid: True jika data pelacakan mata tersedia. Ini mungkin tidak tersedia karena batas waktu yang terlampaui (harus kuat untuk pengguna berkedip sekalipun) atau kurangnya pelacakan perangkat keras atau izin. Lihat sampel pemberitahuan kalibrasi mata yang hilang yang menjelaskan cara mendeteksi apakah pengguna dikalibrasi mata dan untuk menampilkan pemberitahuan yang sesuai.

  • GazeOrigin: Asal sinar tatapan. Harap dicatat bahwa ini akan mengembalikan asal tatapan kepala jika 'IsEyeGazeValid' salah.

  • GazeDirection: Arah sinar tatapan. Ini akan mengembalikan arah tatapan kepala jika 'IsEyeGazeValid' salah.

  • HitInfo, HitPosition, HitNormal, dll.: Informasi tentang yang saat ini menatap target. Sekali lagi, jika IsEyeGazeValid salah, ini akan didasarkan pada tatapan kepala pengguna.

Contoh untuk menggunakan CoreServices.InputSystem.EyeGazeProvider

Berikut adalah contoh dari FollowEyeGaze.cs:

  • Dapatkan titik hologram yang dilihat pengguna:
// Show the object at the hit position of the user's eye gaze ray with the target.
gameObject.transform.position = CoreServices.InputSystem.EyeGazeProvider.HitPosition;
  • Menampilkan aset visual pada jarak tetap dari tempat pengguna saat ini mencari:
// 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;

Lihat juga