Mulai menggunakan pelacakan mata di MRTK2

Halaman ini membahas cara menyiapkan adegan MRTK Unity Anda untuk menggunakan pelacakan mata di aplikasi Anda. Berikut ini 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 menggunakan pelacakan mata pada HoloLens 2 dan bagaimana pelacakan mata diatur di MRTK, jangan khawatir! Kami akan membahas lebih rinci tentang cara mengatasinya lebih lanjut di bawah ini.

  1. 'Penyedia Data Tatapan Mata' harus ditambahkan ke sistem input. 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 pembangunan 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 (yaitu Mixed Reality Toolkit -> Utilitas -> Jendela Build) dapat secara otomatis mengaktifkan kemampuan GazeInput untuk Anda. Untuk melakukan ini, Anda perlu memastikan bahwa 'Kemampuan Input Tatapan' dicentang pada tab 'Opsi Build Appx':

MRTK Build Tools

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

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 SDK Windows).

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

Menyiapkan pelacakan mata langkah demi langkah

Menyiapkan adegan

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

MRTK configure

Menyiapkan profil MRTK yang diperlukan untuk pelacakan mata

Setelah menyiapkan adegan MRTK, Anda akan diminta untuk memilih profil untuk MRTK. Anda cukup memilih DefaultMixedRealityToolkitConfigurationProfile lalu pilih opsi 'Copy & Customize' .

MRTK profile

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. Cukup klik 'Klon' di bagian bawah menu tersebut.
  • Klik dua kali pada profil input baru Anda, perluas 'Penyedia Data Input', dan pilih '+ Tambahkan Penyedia Data'.
  • Buat penyedia data baru:
    • Di bawah Jenis pilih 'Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input' ->'WindowsMixedRealityEyeGazeDataProvider'
    • Untuk Platform, pilih 'Windows Universal'.

MRTK data provider

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 hanya 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 itu 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 'DefaultMixedRealityInputSimpulationProfile' untuk membuat perubahan padanya.
    • Centang kotak 'Simulasikan Posisi Mata '.

    MRTK eyes simulate

  2. Nonaktifkan kursor tatapan kepala default: Secara umum, disarankan untuk menghindari menunjukkan kursor tatapan mata atau jika benar-benar diperlukan untuk membuatnya sangat halus. Sebaiknya sembunyikan 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 'Pointer Pengaturan', Anda harus menetapkan prefab kursor yang tidak terlihat ke 'GazeCursor'. 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 melekat pada Kamera Anda, Anda dapat memeriksa untuk menggunakan tatapan mata sebagai gantinya dengan mencentang kotak centang 'IsEyeTrackingEnabled' di pengaturan tatapan profil pointer 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 Project Pengaturan.
    • Pastikan Penyedia Plugin diatur dengan benar
  • Atasi segitiga peringatan.
    • Profil interaksi harus diatur
    • Grup Fitur OpenXR harus dipilih dengan benar

Kalibrasi mata

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

Izin pelacakan mata

Saat memulai aplikasi di HoloLens 2 Anda untuk pertama kalinya, permintaan akan muncul yang meminta izin kepada pengguna untuk menggunakan pelacakan mata. Jika tidak muncul, maka 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"