Pemrograman Permainan – Tutorial 13 Unity

Karakter dan Animasi 3D

Assalamualaikum Warahmatullahi Wabarakaatuh pada kesempatan kali ini saya akan melanjutkan tutorial unity tentang pembuatan karakter dan animasi 3D, nantinya kita akan melanjutkan project dari materi sebelumnya. Buka terlebih dahulu Project 3D sebelumnya di Unity, kemudian import package Standard-Asset, lalu tambahkan sebuah Terrain yang memiliki texture rumput. Baca materi sebelumnya jika lupa bagaimana melakukan import dan membuat Terrain dengan texture rumput.

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 yang dapat kita download dari situs Mixamo, dimana situs ini menyediakan Character dan Animasi Gratis.Mixamo

Login atau Sign Up terlebih dahulu untuk bisa masuk dan menggunakan fitur mixamo, setelah berhasil masuk pilih character yang anda inginkan, untuk tutorial kali ini saya akan menggunakan character Erika_Archer_Bow_Arrow lalu pilih download.

erika1

Setelah klik download untuk download setting samakan seperti gambar di bawah ini :

erika4

Setelah berhasil download character kemudian kita download animation untuk diimplementasikan pada characternya nanti, download beberapa animasi yang kamu inginkan. pada contoh kali ini saya mendownload animasi berikut : Catwalk Walk Forward, Catwalk Walk Stop, Female Standing Pose, Medium Run, Standing Jump, Unarmed Idle 01.

erika3

Setelah klik download untuk download setting samakan seperti gambar di bawah ini :

erika4

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 setiap file yang tadi di download sudah di-import, barulah kita bisa melanjutkan materi ini.

1

Setelah berhasil mengimport file yang di download kemudian drag character ke scene, nantinya character yang muncul akan polos tanpa texture. Maka kita extract terlebih dahulu Textures beserta Materials dari character pada tab inspector, kemudian drag texture ke model character yang digunakan.

2

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, dan taruh FreeLookCameraRig sebagai child dari Erika_Archer agar pergerakan kamera dapat mengikuti pergerakan character.

8

Selanjutnya tambahkan CharacterController 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 character.

3

Selanjutnya adalah buat sebuah Animator Controller. Caranya klik menu Assets -> Create -> Animator Controller. Kemudian beri nama PlayerController (Jika namanya bentrok dengan Animator Controller yang sudah ada dalam package, silahkan sesuaikan saja).

4

Double klik pada PlayerController maka akan muncul tab Animator. Pada tab Animator buatlah parameter Speed bertipe Float, Shift, Attack, dan Jump  bertipe Bool.

5

Pada Base Layer awal hanya akan terdapat Entry state dan Any State, gambar diatas contoh hasil yang akan dibuat. Berikutnya pada panel utama Tab Animator, buat sebuah Animation State dengan cara klik kanan, pilih menu Create State -> Empty atau bisa langsung drag & drop file animation yang sudah di download. Animation State adalah status yang dikenali oleh Unity yang isinya mengacu pada animasi yang telah dibuat pada software grafis. Warna orange menunjukkan jika status yang pertama merupakan animasi default yang akan dijalankan pertama kali.

5-1

Setelah berhasil membuat Animation State selanjutnya adalah membuat Transition antara Animation State yang satu dengan yang lain. misalnya, perubahan dari animasi Unarmed Idle ke Catwalk Walk Forward. Caranya klik state Unarmed Idle, klik kanan dan pilih Make Transition. Drag mouse dan klik state Catwalk Walk Forward sampai terbentuk panah berwarna putih.

Klik panah putih tersebut. Hapus centang Has Exit Time, dan masukkan dua buah parameter pada panel Condition. Caranya, klik tombol + kecil di ujung kanan bawah panel, lalu gunakan combobox untuk memilih variabel dan menentukan nilainya.

Contoh kondisi yang dibuat:
“Animasi Unarmed Idle akan berubah menjadi animasi Catwalk Walk Forward, ketika nilai Parameter Speed > 0.1 dan Parameter Shift bernilai false”.

5-2

Perlu diperhatikan bahwa untuk beberapa animasi yang bersifat loop (frame awal dan akhir sama), pilihan Loop Time harus dicentang. Jika tidak maka animasi hanya akan berjalan selama total frame dan tidak kembali lagi, jalan hanya satu langkah akan berhenti. Lakukan pada semua file animation agar animasinya terus berlanjut.

5-3

Buat panah sebaliknya dengan cara klik Animation State Catwalk Walk Forward, klik kanan, pilih Make Transition dan klik Animation State Unarmed Idle. Tambahkan dua buah parameter yang isinya kebalikan dari sebelumnya sehingga kondisi yang dibuat menjadi: “Animasi Catwalk Walk Forward akan berubah menjadi animasi Unarmed Idle, ketika nilai parameter Shift bernilai false”

5-5

Lakukan hal yang sama untuk perubahan dari State-state berikutnya dan sebaliknya. perhatikan setiap conditions dan panah pada setiap state sesuai gambar berikut.

Slideshow ini membutuhkan JavaScript.

Transisi dari status Any State ke State Standing Pose &  Standing Jump dengan perubahan parameter Attack & Jump menjadi true. Dalam hal ini, tidak peduli karakter sedang idle, Walk, atau Run, jika Parameter Attack menjadi true, animasi Pose atau Jump yang akan dijalankan.

Setelah selesai membuat PlayerController kemdian Drag & Drop pada tab inspector player agar dapat digunakan, dengan memastikan controller sesuai dengan controller yang tadi dibuat jika sebelumnya belum terpasang.

6

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

code1code2

Selanjutnya pasang ScriptErika pada GameObject Erika_Archer dan atur nilai parameternya sesuai kebutuhan.

7

Berikut adalah isi dari tab Inspector pada Character Erika_Archer dengan menambahkan Mesh Collider, dimana pilihan mesh model character bukan animation.

10

Jalankan Game dan liat hasilnya, berikut adalah hasil dari tutorial yang saya buat.

hasil

Sekian Tutorial dan pembahasaan mengenai pembuatan karakter dan animasi 3D  pada Unity semoga bermanfaat.

Source Code dan Hasil Tutorial Kali Ini dapat diunduh disini
Sumber : Universitas Budi Luhur


Tinggalkan komentar

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.