AI Sederhana di Unity


Kekuatan utama dari sebuah game adalah animasi karakter dan AI (Artificial Intelligence). Dalam materi kali ini, kita akan mencoba membangun karakter menggunakan script AI sederhana.
Karakter yang akan digunakan adalah Kiky Si Kancil yang sudah kita buat pada materi sebelumnya dan tiga buah karakter yang bisa diambil di Standard Assets.

Kiky Si Kancil adalah karakter yang dikembangkan oleh Rickman Rodevan yang terus dikembangkan sampai sekarang. Pada materi kali ini kita akan membuat Kiky yang merupakan seorang mutan kancil memiliki kekuatan ‘telekinetik’. 

Sebelum melanjutkan materi, pastikan materi pertemuan sebelumnya sudah berjalan dengan baik, Kiky sudah bisa berjalan dan bergerak.


Buka project materi sebelumnya, lalu tambahkan sebuah Sphere dengan cara klik menu GameObject -> 3D Object -> Sphere.
Ganti nama sphere menjadi BolaTelekinetik. Kemudian tambahkan material berupa gambar supaya bola terlihat menarik. Tambahkan juga komponen Rigidbody


Tambahkan sebuah Tag baru dan jadikan Sphere tersebut memiliki Tag KikyPower. Tag ini sangat penting sebagai penanda dalam script nanti.

Jadikan sphere tersebut sebagai prefabs dengan cara drag langsung dari tab Hierarchy ke panel Assets.

Klik GameObject Kiky Si Kancil dan buatlah sebuah Child GameObject dengan cara klik menu GameObject -> Create Empty Child, lalu ganti namanya menjadi SpawnPoint.


Buat script C# baru dan beri nama PowerKiky.cs lalu ubah script menjadi seperti berikut:


Pasang script tersebut pada GameObject Kiky Si Kancil dan sesuaikan parameternya.

Jalankan game dan coba tes kekuatan telekinetik Si Kancil dengan menekan tombol Ctrl. Di dalam scene, tidak akan terlihat apa-apa, tapi perhatikan di panel Hierarchy ada sebuah GameObject yang terbentuk setiap kali Kiky menembak.


Script PowerKiky memang sengaja tidak merender Sphere untuk memberikan efek telekinetik kepada user yang melihat. Jika ingin melihat ‘kekuatan Kiky’ silahkan centang pilihan Mesh Renderer dan akan terlihat Kiky menembakkan bola seperti pada materi game shot target.

Setelah selesai mengatur tokoh protagonis, berikutnya adalah mengatur tokoh antagonis. Asset Store Unity menyediakan beberapa buah model gratis yang sudah siap pakai.

Contoh kali ini menggunakan Assets “Attack On Kancil” yang sudah disediakan oleh buku Unity Tutorial Game Engine karya Rickman Roedavan 

Package tersebut berisi 3 buah karakter yaitu Cyclops, Goblin dan Ghoul. masing-masing karakter telah dilengkapi dengan beberapa buah animasi.
Package tersebut juga berisi beberapa buah Prefab yang siap pakai, cukup drag ke Scene jika ingin mencobanya. Tapi pada materi kali ini, kita akan mengabaikan prefab tersebut dan mempelajari bagaimana prefab-prefab itu dibuat.




Pengaturan Target - Static
Target Static adalah target diam seperti kayu, batu, rumah, bangunan dan sebagainya. Dalam materi kali ini, kita akan mencoba target static berupa sebuah Patung Goblin.
Cari model Goblin dari folder Attack on Kancil -> Goblin -> Model -> Goblin_model dan masukkan ke dalam Scene.



Pengaturan Target - Static
atur posisi dan ukurannya sesuai dengan kebutuhan. Karena Goblin akan dijadikan patung, maka cukup tambahkan Component Rigidbody dan Box Collider. Komponen tersebut bisa diakses melalui menu Component -> Physics.
Silahkan atur Center dan Size pada Box Collider menyesuaikan besar Goblin.



Pengaturan Target - Static
Berikutnya buat script C# dan beri nama Target_Object.cs




Pengaturan Target - Static
Pasang Script tersebut pada GameObject Goblin dan isikan satu parameter yang paling penting yaitu Trigger Tag. parameter ini perlu disesuaikan dengan Tag yang telah diatur pada BolaTelekinetik sebelumnya yaitu KikyPower.




Pengaturan Target - Static
Jalankan game, arahkan Kiky ke Goblin dan tekan Ctrl, akan terlihat sebuah efek telekinetik ketika Kiky mendorong Patung Goblin dengan ‘kekuatannya’.



Pengaturan Target - Animation Clip
Unity mengenali dua jenis animasi yaitu menggunakan clip (tradisional) dan mechanim. Pada pembahasan materi kali ini, kita akan mencoba membuat pergerakan karakter Cyclops menggunakan animasi clip. Cari model Cyclops dari folder Attack On Kancil -> Cyclops -> Model -> Cyclops dan masukkan ke dalam Scene.


Pengaturan Target - Animation Clip
Dalam berbagai cerita, makhluk bernama Cyclops itu selain bermata satu, ukurannya juga besar, silahkan scale ukurannya lebih besar dari Kiky


Pengaturan Target - Animation Clip
Perhatikan bahwa secara default karakter Cyclops telah dilengkapi dengan 9 jenis animasi yang diatur dalam komponen Animation.


Pengaturan Target - Animation Clip
Tambahkan sebuah Character Controller dengan cara klik menu Component -> Physics -> Character Controller.



Pengaturan Target - Animation Clip
Atur menggunakan Edit Collider atau input Size agar Collider tersebut melingkupi seluruh tubuh Cyclops.



Pengaturan Target - Animation Clip
Buat script C# beri nama TargetClipAIS.cs lalu ubah seperti




Pengaturan Target - Animation Clip
Pasang script tersebut pada GameObject Cyclops dan sesuaikan beberapa buah parameternya sebagai berikut, terutama parameter Target. Parameter ini harus diisi GameObject Kiky Si kancil agar Cyclops dapat ‘mengejarnya’.


Pengaturan Target - Animation Clip
Pastikan parameter animasi yang diisi sesuai dengan animasi seharusnya, dalam hal ini adalah animasi milik Cyclops. Untuk memastikannya, bisa dilihat ketika animasi dipilih, akan terlihat lokasi animasi pada bagian bawah panel.


Pengaturan Target - Animation Clip
Sesuaikan juga parameter SearchArea untuk mengatur jarak Cyclops mendeteksi keberadaan Kiky.


Pengaturan Target - Animator
Karakter terakhir yang akan digerakkan adalah Ghoul yang caranya hampir mirip dengan apa yang dilakukan pada Cyclops.
Carilah model ghoul dari folder Attack On Kancil -> Ghoul -> Model -> Objects -> ghoul dan masukkan ke dalam Scene.


Pengaturan Target - Animator
Atur dan sesuaikan model ghoul pada Scene. Seperti karakter Kiky pada pembahasan materi sebelumnya. 
Model ghoul belum memiliki texture saat dipasang Scene. Jika perlu ditambahkan texture untuknya, tambahkan menggunakan texture dari folder Attack On Kancil -> Ghoul -> Model -> Objects -> Materials -> ghoul1.



Pengaturan Target - Animator
Model ghoul sudah dilengkapi dengan sebuah ghoulAnimator Controller. Animator ini telah memiliki 4 buah parameter dan 5 state animation.


Pengaturan Target - Animator
Tambahkan sebuah Character Controller dengan cara klik menu Component -> Physics -> Character Controller.


Pengaturan Target - Animator
Sesuaikan Collider dengan menggunakan Edit Collider atau input Size sampai melingkupi seluruh tubuh ghoul.



Pengaturan Target - Animator
Buat script C# dengan nama TargetAnimatorAIS.cs lalu ubah seperti berikut







Postingan populer dari blog ini

Interaksi Objek dengan Unity

Terrain pada Unity

Input Mouse dan KeyBoard dengan Unity