Mulai menggunakan pelacakan mata di MRTK2

Halaman ini membahas cara menyiapkan adegan MRTK Unity Anda untuk menggunakan pelacakan mata di aplikasi Anda. Dokumen berikut mengasumsikan Anda memulai dengan adegan baru yang baru. Atau, Anda dapat melihat contoh pelacakan mata MRTK kami yang sudah dikonfigurasi dengan banyak contoh hebat yang dapat Anda bangun secara langsung.

Daftar periksa persyaratan pelacakan mata

Agar pelacakan mata berfungsi dengan benar, persyaratan berikut harus dipenuhi. Jika Anda baru mengenal pelacakan mata pada HoloLens 2 dan bagaimana pelacakan mata diatur di MRTK, jangan khawatir! Kami akan menjelaskan secara rinci tentang cara mengatasi masing-masing dari mereka lebih lanjut di bagian berikut.

  1. 'Penyedia Data Tatapan Mata' harus ditambahkan ke sistem input. Penyedia data ini menyediakan data pelacakan mata dari platform.
  2. Kemampuan 'GazeInput' harus diaktifkan dalam manifes aplikasi. Kemampuan ini dapat diatur di Unity 2019, tetapi di Unity 2018 dan sebelumnya kemampuan ini hanya tersedia di Visual Studio dan melalui alat build MRTK.
  3. HoloLens harus dikalibrasi mata untuk pengguna saat ini. Lihat sampel kami untuk mendeteksi apakah pengguna dikalibrasi mata atau tidak.

Catatan tentang kemampuan GazeInput

Alat build yang disediakan MRTK (Mixed Reality Toolkit -> Utilitas -> Jendela Build) dapat secara otomatis mengaktifkan kemampuan GazeInput untuk Anda. Untuk melakukan langkah ini, Anda perlu memastikan bahwa 'Kemampuan Input Tatapan' dicentang pada tab 'Opsi Build Appx':

Alat Build MRTK

Alat ini akan menemukan manifes AppX setelah build Unity selesai dan secara manual menambahkan kemampuan GazeInput. Sebelum Unity 2019, alat ini TIDAK aktif saat menggunakan Jendela Build bawaan Unity (File -> Pengaturan Build).

Sebelum Unity 2019, saat menggunakan jendela build Unity, kemampuan harus ditambahkan secara manual setelah build Unity, sebagai berikut:

  1. Buka proyek Visual Studio yang dikompilasi lalu buka 'Package.appxmanifest' dalam solusi Anda.
  2. Pastikan untuk mencentang kotak centang 'GazeInput' di bawah Kemampuan. Jika Anda tidak melihat kemampuan 'GazeInput ', periksa apakah sistem Anda memenuhi prasyarat untuk menggunakan MRTK (khususnya versi Windows SDK).

Catatan: Anda hanya perlu melakukan ini jika Anda membangun folder build baru. Anda tidak perlu menerapkan kembali perubahan jika Anda telah membangun proyek Unity dan menyiapkan appxmanifest sebelum dan sekarang menargetkan folder yang sama lagi.

Menyiapkan pelacakan mata langkah demi langkah

Menyiapkan adegan

Siapkan MixedRealityToolkit dengan mengklik 'Mixed Reality Toolkit -> Configure...' di bilah menu.

Konfigurasi MRTK

Menyiapkan profil MRTK yang diperlukan untuk pelacakan mata

Setelah menyiapkan adegan MRTK, Anda akan diminta untuk memilih profil untuk MRTK. Anda dapat memilih DefaultMixedRealityToolkitConfigurationProfile lalu pilih opsi 'Salin & Sesuaikan' .

Profil MRTK

Membuat "penyedia data tatapan mata"

  • Klik tab 'Input' di profil MRTK Anda.
  • Untuk mengedit default ('DefaultMixedRealityInputSystemProfile'), klik tombol 'Klon' di sampingnya. Menu 'Profil Kloning' muncul. Klik 'Klon' di bagian bawah menu tersebut.
  • Klik dua kali pada profil input baru Anda, perluas 'Penyedia Data Input', dan pilih '+ Tambahkan Penyedia Data'.
  • Tambahkan penyedia data yang benar:
    • Untuk Windows Mixed Reality warisan
      • Di bawah Jenis pilih 'Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input' ->'WindowsMixedRealityEyeGazeDataProvider'
    • Untuk Plugin Windows XR
      • Di bawah Jenis pilih 'Microsoft.MixedReality.Toolkit.XRSDK.WindowsMixedReality' ->'WindowsMixedRealityEyeGazeDataProvider'
    • Untuk OpenXR
      • Di bawah Jenis pilih 'Microsoft.MixedReality.Toolkit.XRSDK.OpenXR' ->'OpenXREyeGazeDataProvider'

Penyedia data MRTK

Aktifkan "Gunakan Data Pelacakan Mata"

  • Navigasi ke profil konfigurasi MRTK Anda ->'Input' ->'Pointers'
    • Kloning 'DefaultMixedRealityInputPointerProfile' untuk membuat perubahan padanya.
  • Temukan 'Gunakan Data Pelacakan Mata' di pengaturan dan aktifkan.
  • Anda mungkin melihat tombol 'Atur kemampuan GazeInput' sekarang dan harus menekannya untuk mengaktifkan kemampuan UWP.

MRTK menggunakan data pelacakan mata

Mensimulasikan pelacakan mata di Editor Unity

Anda dapat mensimulasikan input pelacakan mata di Editor Unity untuk memastikan bahwa peristiwa dipicu dengan benar sebelum menyebarkan aplikasi ke HoloLens 2 Anda. Sinyal tatapan mata disimulasikan dengan menggunakan lokasi kamera sebagai asal tatapan mata dan vektor depan kamera sebagai arah tatapan mata. Meskipun ini bagus untuk pengujian awal, harap dicatat bahwa ini bukan imitasi yang baik untuk pergerakan mata yang cepat. Untuk ini, lebih baik memastikan seringnya tes interaksi berbasis mata Anda pada HoloLens 2.

  1. Aktifkan pelacakan mata yang disimulasikan:

    • Klik tab 'Input' di profil konfigurasi MRTK Anda.
    • Dari sana, navigasikan ke 'Penyedia Data Input' ->'Layanan Simulasi Input'.
    • Kloning 'DefaultMixedRealityInputSimulationProfile' untuk membuat perubahan padanya.
    • Pilih pengaturan 'Mode Simulasi Tatapan Mata Default' yang sesuai.

    Mata MRTK mensimulasikan

  2. Nonaktifkan kursor tatapan kepala default: Secara umum, kami sarankan Anda menghindari menunjukkan kursor tatapan mata atau, jika benar-benar diperlukan, membuatnya sangat halus. Kami menyarankan agar Anda menyembunyikan kursor tatapan kepala default yang dilampirkan ke profil pointer tatapan MRTK secara default.

    • Navigasi ke profil konfigurasi MRTK Anda ->'Input' ->'Pointers'
    • Kloning 'DefaultMixedRealityInputPointerProfile' untuk membuat perubahan padanya.
    • Di bagian atas 'Pengaturan Penunjuk', Anda harus menetapkan prefab kursor yang tidak terlihat ke 'Prefab Kursor Tatapan'. Anda dapat melakukan ini dengan memilih prefab 'EyeGazeCursor' dari MRTK Foundation.

Mengaktifkan tatapan berbasis mata di penyedia tatapan

Dalam HoloLens v1, tatapan kepala digunakan sebagai teknik penunjuk utama. Saat tatapan kepala masih tersedia melalui GazeProvider di MRTK, yang terpasang pada Kamera, Anda dapat menggunakan tatapan mata sebagai gantinya dengan memilih kotak centang 'IsEyeTrackingEnabled' di pengaturan tatapan profil penunjuk input.

Catatan

Pengembang dapat beralih antara tatapan berbasis mata dan tatapan berbasis kepala dalam kode dengan mengubah properti 'IsEyeTrackingEnabled' dari 'GazeProvider'.

Penting

Jika salah satu persyaratan pelacakan mata tidak terpenuhi, aplikasi akan secara otomatis kembali ke tatapan berbasis kepala.

Mengakses data tatapan mata

Sekarang setelah adegan Anda disiapkan untuk menggunakan pelacakan mata, mari kita lihat cara mengaksesnya dalam skrip Anda: Mengakses data pelacakan mata melalui EyeGazeProvider dan pilihan target yang didukung mata.

Menguji aplikasi Unity Anda di HoloLens 2

Membangun aplikasi Anda dengan pelacakan mata harus mirip dengan bagaimana Anda akan mengkompilasi aplikasi MRTK HoloLens 2 lainnya. Pastikan Anda telah mengaktifkan kemampuan 'Input Tatapan' seperti yang dijelaskan di atas di bagian Catatan pada kemampuan GazeInput.

Pastikan proyek dikonfigurasi untuk HoloLens 2

Pastikan Anda telah mengonfigurasi proyek dengan benar dengan meninjau langkah-langkah konfigurasi yang tercakup dalam Menyiapkan proyek OpenXR dengan MRTK.

Poin-poin penting yang perlu dipikirkan:

  • Tinjau pengaturan kunci di jendela Pengaturan Proyek .
    • Pastikan Penyedia Plugin diatur dengan benar
  • Atasi segitiga peringatan.
    • Profil interaksi harus diatur
    • Grup Fitur OpenXR harus dipilih dengan benar

Kalibrasi mata

Jangan lupa untuk menjalankan melalui kalibrasi mata pada HoloLens 2 Anda. Sistem pelacakan mata tidak akan mengembalikan input apa pun jika pengguna tidak dikalibrasi. Cara term mudah untuk sampai ke kalibrasi adalah dengan membalik visor ke atas dan kemudian kembali ke bawah. Pemberitahuan sistem akan muncul yang menyambut Anda sebagai pengguna baru dan meminta Anda untuk melalui kalibrasi mata. Atau Anda dapat menemukan kalibrasi mata di pengaturan sistem: Pengaturan > Kalibrasi > Sistem > Menjalankan kalibrasi mata.

Izin pelacakan mata

Saat Anda memulai aplikasi di HoloLens 2 untuk pertama kalinya, permintaan akan muncul yang meminta izin kepada pengguna untuk menggunakan pelacakan mata. Jika perintah tidak muncul, biasanya itu adalah indikasi bahwa kemampuan 'GazeInput' tidak diatur.

Setelah perintah izin muncul sekali, perintah tidak akan muncul secara otomatis lagi. Jika Anda "menolak izin pelacakan mata", Anda dapat mengatur ulang ini di Pengaturan -> Privasi -> Aplikasi.


Ini akan membuat Anda mulai menggunakan pelacakan mata di aplikasi MRTK Unity Anda. Jangan lupa untuk melihat tutorial dan sampel pelacakan mata MRTK kami yang menunjukkan cara menggunakan input pelacakan mata dan dengan mudah menyediakan skrip yang dapat Anda gunakan kembali dalam proyek Anda.


Kembali ke "Pelacakan mata di MixedRealityToolkit"