AI Sederhana

Hello, pada kesempatan kali ini kita akan membahas membuat AI sederhana dengan melanjutkan tutorial sebelumnya, yaitu Karakter dan Animasi 3D.

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.

Namun, pada kali ini saya akan menggunakan karakter basic dari standard assets, yaitu ethan dengan menambahkan material texture agar terlihat lebih menarik. Kalian bisa customize texture sesuai dengan keinginan.

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 ThirdPerson 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 ThirdPerson 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 yang bisa diunduh melalui google drive disini.

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.


Berikutnya buat script C# dan beri nama Target_Object.cs ketikkan script seperti pada contoh di bawah ini.

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.

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 Ethan.

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

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

Atur menggunakan Edit Collider atau input Size agar Collider tersebut melingkupi seluruh tubuh Cyclops.


Buat script C# beri nama TargetClipAIS.cs lalu ubah seperti contoh di bawah ini.

Pasang script tersebut pada GameObject Cyclops dan sesuaikan beberapa buah parameternya sebagai berikut, terutama parameter Target. Parameter ini harus diisi GameObject ThirdPerson agar Cyclops dapat ‘mengejarnya’.

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.

Sesuaikan juga parameter SearchArea untuk mengatur jarak Cyclops mendeteksi keberadaan Ethan.

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.

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.


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

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

Sesuaikan Collider dengan menggunakan Edit Collider atau input Size sampai melingkupi seluruh tubuh ghoul.

Coba jalankan game dan lihat hasilnya.

Sekian pembahasan pada kali ini, semoga bermanfaat, mohon maaf bila ada kekurangan.
Sampai jumpa lagi pada pembahasan selanjutnya.

Link project dapat di unduh disini.

Komentar

Postingan Populer