Event System Unity 3D

Dilansir dari dokumentasi Unity, Event System adalah cara mengirimkan event ke objek dalam aplikasi berdasarkan input, baik itu keyboard, mouse, sentuhan, atau input kustom. Event System terdiri dari beberapa komponen yang bekerja sama untuk mengirim acara.


Baca juga:
tutorial lengkap cara menggunakan unity disini

Saat Anda menambahkan komponen Event System ke GameObject, Anda akan melihat bahwa itu tidak memiliki banyak fungsi yang diekspos, ini karena Event System itu sendiri dirancang sebagai manajer dan fasilitator komunikasi antara modul Event System.

Peran utama dari Event System adalah sebagai berikut:

  • Kelola GameObject mana yang dianggap dipilih
  • Kelola Modul Input mana yang digunakan
  • Kelola Raycasting (jika diperlukan)
  • Memperbarui semua Modul Input sesuai kebutuhan

Input Modules Unity 3d

Modul Input adalah tempat logika utama tentang bagaimana Anda ingin Event System menjadi aktif, mereka digunakan untuk:

  • Menangani input / masukan
  • Mengelola event state / status acara
  • Mengirim events / acara ke scene objects / objek adegan.

Hanya satu Modul Input yang dapat aktif di Event System pada satu waktu, dan mereka harus menjadi komponen pada GameObject yang sama dengan komponen Event System.

Jika Anda ingin menulis Modul Input khusus, kirim acara yang didukung oleh komponen UI yang ada di Unity.


Raycasters Unity 3D

Raycasters digunakan untuk mencari tahu apa pointer berakhir. Modul Input biasanya menggunakan Raycaster yang dikonfigurasi di Scene untuk menghitung apa yang berakhir dengan perangkat penunjuk.

Ada 3 Raycaster yang disediakan yang ada secara default:

  • Graphic Raycaster - Digunakan untuk elemen UI
  • Physics 2D Raycaster - Digunakan untuk elemen physics 2D
  • Physics Raycaster - Digunakan untuk elemen physics 3D

Jika Anda memiliki Raycaster 2d / 3d yang dikonfigurasi di Scene Anda, mudah untuk membuat elemen non-UI menerima pesan dari Modul Input. Cukup lampirkan skrip yang mengimplementasikan salah satu antarmuka acara.

Dictionary Plus+ ©2022