Tindakan input — MRTK2

Tindakan Input adalah abstraksi atas input mentah yang dimaksudkan untuk membantu mengisolasi logika aplikasi dari sumber input tertentu yang menghasilkan input. Ini dapat berguna, misalnya, untuk menentukan tindakan Pilih dan memetakannya ke tombol mouse kiri, tombol di gamepad dan pemicu dalam pengontrol 6 DOF. Anda kemudian dapat meminta logika aplikasi Anda mendengarkan Pilih peristiwa tindakan input alih-alih harus mengetahui semua input berbeda yang dapat menghasilkannya.

Membuat tindakan input

Tindakan input dikonfigurasi di Profil Tindakan Input, di dalam Profil Sistem Input di komponen toolkit Mixed Reality, menentukan nama untuk tindakan dan jenis input (Batasan Sumbu) yang dapat dipetakan ke:

Input Action

Ini adalah nilai yang paling umum digunakan untuk Batasan Sumbu:

Batasan Sumbu Deskripsi
Digital Input aktif/mati seperti tombol biner di gamepad atau mouse.
Sumbu Tunggal Input analog sumbu tunggal seperti pemicu analog di gamepad.
Sumbu Ganda Input analog sumbu ganda seperti thumbstick.
Enam Dof Pose 3D dengan terjemahan dan rotasi seperti yang diproduksi oleh 6 pengontrol DOF.

Anda dapat menemukan daftar lengkap di AxisType.

Memetakan input ke tindakan

Cara Anda memetakan input ke dan tindakan tergantung pada jenis sumber input:

Input pengontrol

Buka Profil Pemetaan Input Pengontrol, di bawah Profil Sistem Input. Di sana Anda akan menemukan daftar semua pengontrol yang didukung:

Input maping profile

Pilih salah satu yang ingin Anda konfigurasi dan jendela dialog akan muncul dengan semua input pengontrol, memungkinkan Anda mengatur tindakan untuk masing-masing:

Input Action Assignment

Input ucapan

Di Profil Perintah Ucapan, di bawah Profil Sistem Input, Anda akan menemukan daftar perintah ucapan yang saat ini ditentukan. Untuk memetakan salah satunya ke tindakan, cukup pilih di menu drop-down Tindakan .

Speech Commands profile

Input gerakan

Profil Gerakan, di bawah Profil Sistem Input, berisi semua gerakan yang ditentukan. Anda dapat memetakan masing-masing ke tindakan dengan memilihnya di menu drop-down Tindakan .

Gesture profile

Menangani tindakan input

Peringatan

Saat ini hanya tindakan input jenis Digital yang dapat ditangani menggunakan metode yang dijelaskan di bagian ini. Untuk jenis tindakan lainnya, Anda harus menangani langsung peristiwa untuk input yang sesuai sebagai gantinya. Misalnya, untuk menangani tindakan 6 DOF yang dipetakan ke input pengontrol, Anda harus menggunakan IMixedRealityGestureHandler<T> dengan T = MixedRealityPose.

Cara term mudah untuk menangani tindakan input adalah dengan menggunakan InputActionHandler skrip. Hal ini memungkinkan Anda untuk menentukan tindakan yang ingin Anda dengarkan dan bereaksi terhadap tindakan yang dimulai dan berakhir peristiwa menggunakan Peristiwa Unity.

Acton Handler

Jika Anda ingin kontrol lebih, Anda dapat mengimplementasikan IMixedRealityInputActionHandler antarmuka langsung di skrip Anda. Lihat bagian Peristiwa Input untuk detail selengkapnya tentang penanganan peristiwa melalui antarmuka handler.

Contoh

Lihat MRTK/Examples/Demos/Input/Scenes/InputActions untuk contoh adegan yang menunjukkan cara membuat tindakan, memetakannya ke input pengontrol, ucapan, dan gerakan dan menggunakannya untuk memutar objek pada perintah.

Input action example