Pemrograman Permainan - Pembuatan AI Sederhana

0 comments


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




Pemrograman Permainan - Belajar Membuat Karakter dan Animasi 3D Pada Unity 3D Engine

0 comments



Pendahuluan

Materi kali ini kita akan membahas tentang bagaimana menggerakkan karakter 3D dalam unity.

Seperti pada materi sebelumnya, kita akan memanfaatkan beberapa Assets yang sudah tersedia dan “meramunya” menjadi sebuah game yang menarik.

Assets yang dibutuhkan antara lain adalah :
  • Standard Assets - bisa didapat di Unity Store
  • Kiky si Kancil - bisa di dapat di Link ini
  • Simple city plain - bisa didapat di Unity Store

Proses Pembuatan Terrain

Buatlah Project 3D baru di Unity. Import package Standard-Asset, kemudian tambahkan sebuah Terrain yang memiliki environment perkotaan seperti yang telah dibuat pada tutorial sebelumnya.

Baca post dari blog saya sebelumnya jika lupa bagaimana melakukan import dan membuat Terrain dengan texture rumput. Jangan lupa juga untuk import assets dari Kiky si Kancil yang ada di menu Assets -> Import Package -> Custom Package


Selanjutnya pilih package dari Asset Kiky si Kancil yang telah di download sebelumnya.

Setelah membuat terrain dengan environment perkotaan, tambahkan character Third Person dan sesuaikan camera pada scene sehingga tampilan scene akan seperti dibawah ini. 


Akan ada sesosok laki-laki berambut rancung yang seluruh kulit dan bajunya berwarna abu-abu. Namanya adalah Ethan, ia adalah salah satu model bawaan Unity yang texturenya memang sengaja dihilangkan. 

Selanjutnya tambahkan prefabs FreeLookCameraRig yang bisa didapatkan pada folder Prefabs di dalam folder Cameras. Sebelumnya, hapus dulu object Main Camera pada Hierarchy karena fungsi kamera akan kita ganti menggunakan FreeLookCameraRig ini.


Klik prefabs FreeLookCameraRig dan pada parameter Target, drag ThirdPresonController alias karakter Ethan.


Silahkan coba jalankan game, gerakkan karakter Ethan dengan keyboard dan kamera akan secara ‘otomatis’ mengikuti dari belakang.


\
NOTE !! 

Hal terpenting yang perlu diketahui adalah, Unity bukanlah software untuk membuat karakter 3D. Kita harus membuat karakter tersebut menggunakan software grafis seperti Blender atau 3D Max. Adapun karakter yang akan kita pelajari pada materi kali ini adalah karakter Kiky Si Kancil yang diambil dari buku Unity Tutorial Game Engine karya Rickman Roedavan
Karakter Kiky Si Kancil dibuat menggunakan Software Blender.


Agar karakter yang dibuat pada software grafis tersebut dapat digunakan dengan baik pada Unity, maka karakter harus sudah dilengkapi dengan tekstur yang diproyeksikan menggunakan UV. model dan tekstur tersebut harus diimpor ke dalam Unity.
Selain itu, karakter yang akan diimpor ke dalam unity juga harus disertakan dengan animasinya. Setiap software grafis memiliki mekanisme yang hampir mirip dalam pengendalian animasi.

Setiap animasi diatur ke dalam beberapa frame dan masing-masing dapat diberikan label sesuai dengan gerakan animasinya seperti idle (diam), walk (berjalan), run (berlari) dan sebagainya.
Pastikan package Kiky Si Kancil.unitypackage sudah di-import, barulah kita bisa melanjutkan materi ini.

Proses Import Karakter Animasi Kiky Si Kancil

Sebelum masuk ke Step ini, disarankan kalian sudah memiliki software Blender di PC masing masing. Lalu Buka folder Model dan pasang object UnitySiKancilX.blend pada Scene.

NOTE : Apabila file *.blend tidak bisa di pasang di scene, maka klik 2x file *.blend tersebut dan unity akan mengarahkan window ke Software Blender yang dipasang sebelumnya dan export blend ke extension *.fbx dengan langkah-langkah : File -> Export -> FBX (.fbx) .


Tambahkan texture dengan cara klik texture pada panel Assets dan tarik langsung ke mesh Kiky Si kancil. Tampilan Model dan texture yang sudah benar dapat dilihat dibawah. Untuk character ethan yang sebelumnya kita buat, bisa dihapus karena kita akan fokus pada si Kancil.


Untuk ukuran dari Character, dapat disesuaikan dengan merubah Scale dari Object Kancil yang ada pada inspector.


Selanjutnya tambahkan CharacterController ke object Kiky dengan cara klik menu Component -> Physics -> Character -> Controller. Mulai Unity 4.0 disarankan untuk menggunakan CharacterController dan menghindari Rigidbody untuk pengendalian karakter yang ‘rumit’.


Atur Size CharacterController sehingga meliputi seluruh tubuh Kiky Si Kancil.  Kemudian klik GameObject Kiky Si Kancil. Pada tab Inspector, di panel Animator, pasang KikyController yang ada di assets Kiky Si Kancil jika sebelumnya belum terpasang untuk mengatur animasi pergerakan dari Character Kiky.

Selanjutnya buatlah script C# baru dan beri nama ScriptKiky.cs dan ubah menjadi seperti berikut ini:



Pasang script pada game Object Kiky Si Kancil dan isi Parameter nya sebagai berikut.


Terakhir, gunakan prefab FreeLookCameraRig dan arahkan Targetnya pada Kiky Si kancil. Kita bisa mengatur beberapa parameter yang lain sesuai kebutuhan, namun yang paling utama adalah atur parameter Colsest Distance:20 agar jarak kamera dengan Kiky tidak terlalu dekat.



Jika tidak ada kesalahan, Jalankan game dan lihat apa yang terjadi.. ya, character pun bisa bergerak dan animasinya pun sesuai dengan input dari player.



Materi from : Universitas Budi Luhur
Link Project : Google Drive





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