Pemrograman Permainan - Pembuatan AI Sederhana


Sebelum masuk ke materi, saya mengingatkan bahwa ini adalah lanjutan dari materi sebelumnya yaitu  Pemrograman Permainan - Belajar Membuat Karakter dan Animasi 3D Pada Unity 3D Engine. Agar dapat mengikuti materi ini, diharapkan pembaca sudah membuat project di link tersebut.

AI Sederhana

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

Buka project materi sebelumnya, lalu tambahkan sebuah Sphere dengan cara klik menu GameObject -> 3D Object -> Sphere.

Ganti nama sphere menjadi BolaTelekinetik. 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 (BolaTelekinetic clone) 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 di Link Ini.

Untuk import assets yang tidak dari assets store, dapat dilihat caranya dalam tutorial sebelumnya.

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.




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. Berikut source code nya:


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.

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.


Buat script C# beri nama TargetClipAIS.cs lalu ubah seperti


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



Silahkan play game, dan dekatkan character kancil ke dalam radius search area dari cyclops, maka cyclops akan bereaksi dan bergerak.



Materi From : Universitas Budi Luhur
Link Project : Google Drive




No comments:

Post a Comment

Powered by Blogger.
 
Blog Teknologi © 2012 | Designed by Meingames and Bubble shooter