Pengelola Mode Interaksi — MRTK3
Gambaran Umum
Mode interaksi mewakili subset interaksi yang harus diaktifkan berdasarkan informasi kontekstual tentang apa yang dilakukan pengguna. Misalnya, mode interaksi dekat dapat menonaktifkan semua interaktor sinar sambil mengizinkan penggunaan interaktor ambil dan poke. Sebaliknya, ketika pengguna mengambil objek, Anda mungkin ingin memasuki mode interaksi near grab, yang menonaktifkan interaktor sentuh, mencegah aktivasi sentuh yang tidak disengaja saat mengambil objek.
Manajer Mode interaksi menengahi antara konteks interaksi ini. Ini bergantung pada mode Detektor Mode Interaksi untuk menentukan mode terbaik untuk konteks saat ini. Detektor mode, seperti ProximityModeDetector
, menentukan mode mana yang harus aktif untuk Pengontrol tertentu berdasarkan kondisi arbitrer apa pun. Pengembang dapat membuat cara baru untuk membedakan antara konteks interaksi dengan menerapkan IInteractionModeDetector
.
Prioritas setiap mode ditentukan oleh urutannya dalam Pengelola Mode Interaksi. Mode yang tercantum nanti dalam daftar memiliki prioritas yang lebih tinggi, menjadikannya mode dominan dalam kasus di mana beberapa konteks interaksi mungkin valid. Pengelola Mode Interaksi juga memungkinkan pengguna untuk menentukan mode interaksi default.
Detektor
MRTK berisi implementasi yang ditetapkan IInteractionModeDetectors
, masing-masing menentukan mana yang InteractionMode
akan diaktifkan atau dinonaktifkan.
Detektor Interaksi
mengaktifkan InteractionDetector
atau menonaktifkan hover yang ditentukan dan memilih mode interaksi setiap kali salah satu interaktor terkait memiliki target hover atau pilih yang valid.
Detektor Kedekatan
mengaktifkan ProximityDetector
atau menonaktifkan mode interaksi yang ditentukan saat detektor berada di dekat collider yang dapat berinteraksi.
Detektor Mode Interaksi Dekat
mengaktifkan NearInteractionModeDetector
atau menonaktifkan mode interaksi yang ditentukan saat detektor atau salah satu interaktor terkait mendekati collider yang dapat berinteraksi.