[Www.indowebster.com]-Tutorial Membuat Game Dengan Unity Part 1

Embed Size (px)

Citation preview

Daftar IsiPenting Dibaca Projek baru Simple FPS (First Person Shooter) First Person Controller Game Object Transformasi (Move, Rotate & Scale) Pencahayaan (Lighting) Pistol Sederhana Peluru Scripting Dasar Efek Ledakan Build Kesimpulan

3 4 6 6 7 8 11 14 16 17 21 23 24

2

PENTING DIBACA!!1. Tutorial part 1 ini membahas dasar-dasar dalam menggunakan program Unity dari nol, tanpa bantuan program lain selain Unity. Tujuan utama dari tutorial ini diantaranya agar pembaca dapat memahami: Unity basic interface Konsep dasar program Unity Membuat game FPS sederhana dengan Unity

2.

Jika anda merasa sudah advanced/expert dengan Unity, mungkin tutorial ini tidak cocok untuk anda.

3.

Program Unity yang digunakan adalah Unity Free version.

4.

Mohon ikuti petunjuk tutorial ini tahap-per-tahap untuk kemudahan anda dalam memahami pesan-pesan yang ingin disampaikan.

5.

Tutorial

ini menggunakan beberapa kata/kalimat dalam bahasa Inggris

yang sulit

diterjemahkan dalam bahasa Indonesia. Sehingga dianjurkan anda mencari reverensi dari sumber lain jika mengalami kesulitan dalam memahami suatu kata/kalimat. Harap dimaklumi jika penulis tidak konsisten dalam penggunaan Bahasa Indonesia/ Inggris dalam tutorial ini.

6.

Silahkan meng-Copy atau menyebarkan tutorial ini tanpa ijin/ sepengetahuan penulis. Asal jangan dijual :p

3

Projek baruKetika anda menjalankan program Unity, dia akan otomatis membuka project/dokumen yang terakhir kali kita buka. Jika ini adalah pertama kali anda menggunakan Unity, maka biasanya project yang terbuka adalah Island Demo. Sesuai namanya, ini adalah demo project dari unity. Sebelum kita membuat project kita sendiri, tak ada salahnya kita sedikit berpetualang sejenak.

Klik tombol play telah kita buat).

(Tombol ini berguna untuk melakukan test simulasi/game yang

Setelah tombol play ditekan, silahkan anda ber eksplorasi (gunakan mouse untuk melihat-lihat, gunakan keyboard W,S,A,D atau ,,, untuk bergerak mundur, kiri atau kanan, SPACE untuk melompat).

Ini adalah contoh sederhana sebuah game First Person. Jika anda sudah puas berjalan-jalan, dan ingin berhenti, silahkan tekan kembali tombol play untuk menghentikan simulasi. Selanjutnya kita akan mulai mengakrabkan diri kita dengan Unity.

(Jika pulaunya tidak keluar, klik File > Open Scene, lalu pilih file Island.Unity)

4

Untuk membuat sebuah project baru Unity, pilih File > New Project. Catatan : New Project berbeda dengan New Scene. Project adalah game keseluruhan yang anda buat, sedangkan Scene adalah sebuah level dalam project game anda. Dengan kata lain, Project game anda akan tersusun dari kumpulan beberapa Scene

Catatan : Unity membaca projectnya berupa sebuah folder yang isinya merupakan kumpulan asetaset pendukung game anda. Maka, sangat penting bagi anda untuk memperhatikan & menyusun baikbaik sistem folderisasi project anda, akan dijelaskan lebih lengkap nanti, untuk sementara, jangan dulu dipikirkan :p

Pilih Browse untuk menentukan lokasi project Unity anda.

Terdapat pilihan Import the following packages:, ini adalah aset-aset dasar yang disediakan Unity.

Untuk setingan standar cukup pilih Standard Assets.unityPackage. Toon Shading.unityPackage dapat dipilih jika anda ingin menggunakan aroma kartun pada game anda. Setelah anda puas dengan pilihan anda, dan telah menentukan tempat yang baik untuk folder project anda, silahkan tekan Create. Silahkan tunggu sejenak, Unity akan mengumpulkan aset-aset dasar ke dalam folder project anda. Biasanya Unity akan secara otomatis menutup programnya, namun jangan khawatir, silahkan bersabar nikmati sejenak lagu mp3 yang sedang anda dengarkan, atau cicipi sejenak kopi yang telah anda siapkan

Jika progress bar sudah hilang, dan program Unity sudah kembali berjalan, maka anda telah berhasil membuat project Unity baru yang kosong, dengan scene yang kosong. Dengan demikian, kita langsung ke pelajaran pertama kita : Simple FPS (first Person Shooter)

5

Simple FPS (First Person Shooter)Game FPS atau First Person Shooter atau dalam bahasa Indonesia disebut Tembak menembak dalam Pandangan Orang ke-1, adalah game dimana kita seakan sedang menembaki musuh dengan view kamera orang pertama. Contoh game laris yang menggunakan genre FPS adalah Doom, F.E.A.R, Left 4 Dead, Counter Strike, dll. Namun jangan dulu berharap kita akan langsung membuat game seperti itu. Mari kita pelajari dulu dasar-dasarnya.

Catatan : Setelah mengikuti tutorial FPS ini, mungkin beberapa orang akan berpikir bahwa ada program lain yang lebih mudah untuk membuat game FPS, seperti FPS Creator. Memang, jika anda ingin secara ekspress dan mudah membuat game FPS, FPS Creator lah jawabannya. Namun FPS Creator tidak customizeable. Di sini kita akan belajar membuat sebuah game dari nol dengan bantuan Unity. Dimana kita mempunyai total control atas game yang kita buat. Untuk mempelajari dasar-dasarnya, kita gunakan contoh kasus dalam membuat game FPS.

First Person ControllerUntuk jenis kamera FPS, Unity dengan baik hati telah menyediakan template agar kita dapat langsung mengaplikasikannya pada game kita.

Sebelum kita mulai, hapus terlebih dahulu kamera default tekan Delete). Sehingga scene kita benar-benar bersih.

yang ada di scene kita. (pilih lalu

dalam panel Project, klik segitiga yang yang ada di sebelah folder Standard Assets, klik juga segitiga di sebelah folder Prefabs, lalu klik First Person Controller, tahan dan geser ke dalam layar utama pada layar utama Scene

dengan demikian anda akan mendapati tambahan ikon kamera baru anda. Kamera ini akan menjadi mata dalam game anda.

tekan F untuk fokus pandangan viewport kepada prefab kamera yang baru saja anda buat.

6

Game ObjectSelanjutnya, mari kita tambahkan beberapa objek ke dalam game kita.

pilih GameObject > Create Other > Plane

jika plane yang telah anda buat bertumpuk dengan prefab First Person Controller, maka coba anda turunkan plane tersebut dengan cara click & drag panah yang berdiri vertikal.

7

Transformasi (Move, Rotate & Scale) Selanjutnya anda dapat mengubah posisi objek dalam unity dengan cara click & drag sesuai dengan sumbu yang anda inginkan. Selain mengubah posisi, anda dapat mengubah rotasi dan skala dengan metode yang sama. Silahkan anda bereksperimen dan membiasakan diri anda. Jangan khawatir, kalau anda tidak puas, tinggal tekan Ctrl-Z (Undo).

Mengubah Skala :

Mengubah Rotasi :

Mengubah Posisi :

8

Sudah puas memutar-mutarnya? Kalau begitu, mari kita lanjutkan. Plane yang kita buat barusan merupakan dasar atau tanah yang akan dijadikan pijakan oleh First Person Controller. Selanjutnya mari kita tambahkan objek lain yang lebih menarik.

sama seperti ketika kita membuat Plane, pilih GameObject > Create Other, namun kali ini silahkan anda pilih bentuk-bentuk yang anda sukai, lalu taruh diatas plane yang tadi. Gunakan geometri dasar Cube (kubus), Sphere (Bola), Capsule (kapsul), Cylinder (Silinder), atau Plane.

Tips: manipulasi kamera viewport: Mouse Scroll untuk zoom in/ zoom out Klik kanan + drag untuk mengubah rotasi pandangan Tekan F untuk fokus kepada objek yang anda pilih Ctrl-D untuk duplikat objek yang anda pilih. (hasil duplikasi objek akan berposisi sama dengan objek sebelumnya) Hierarchy: Panel Hierarchy merupakan daftar benda-benda/objek yang telah kita buat. Panel ini berguna untuk mempermudah pemilihan objek, juga dalam penamaan objek. Terutama jika scene yang kita buat telah terdiri dari banyak objek dan sulit untuk dipilih secara manual lewat viewport.

9

Gunakan Ikon Indikasi Tampak seperti gambar dibawah ini untuk merubah pandangan pada viewport:

Gunakan panel dibawah ini untuk mengganti tampilan viewport (Textured /Wireframe/ Textured-Wireframe). Silahkan dicoba satu persatu untuk mengetahui perbedaannya.

Sudah puas menambah objek-objeknya? Kalau begitu mari kita lanjutkan. Sekarang coba anda tekan tombol play Maka anda akan mendapati Game Viewport anda seperti ini:

Lho!? Kemana benda-benda yang tadi kita buat!?

10

Pencahayaan (Lighting)Untuk menjawab pertanyaan pada halaman sebelumnya, mari kita kembali ke Scene Viewport. Hentikan simulasi game dengan menekan kembali tombol Play. Setelah kembali ke Scene viewport, pilih GameObject > Create Other > Point Light Jika anda perhatikan, selain Point Light, terdapat pula pilihan Spotlight dan Directional Light. Ya, mereka berpengaruh bagi game anda. adalah sumber cahaya yang nantinya akan sangat

Untuk mengatur karakteristik cahaya yang anda inginkan, pilih cahaya melalui panel hierarchy.

lalu coba anda perhatikan ke sebuah panel berjudul Inspector di sebelah kanan layar.

11

Panel Inspector adalah tempat untuk mengubah parameter objek pada Unity. mengubahnya ketika dalam Game Viewport (ketika anda menekan tombol play

Anda juga dapat ). Sehingga

mempermudah kita untuk mendapatkan settingan yang sesuai dengan keinginan kita (Tweaking). Namun perlu diingat, jika anda ingin mengubah parameter sebuah objek secara permanen, pastikan untuk tetap berada di dalam scene viewport. Mengubah parameter Inspector dalam game viewport hanya bersifat sementara/preview.

Kembali ke lighting, setelah anda pilih cahaya, perhatikan kembali panel Inspector, lalu atur parameter lighting tersebut sesuai seperti yang anda inginkan. Type Color Attenuate : Untuk mengganti tipe cahaya (Point Light, Spotlight dan Directional Light) : Untuk mengubah warna cahaya : Pilihan apakah cahaya tersebut akan menyinari cahayanya secara terbatas atau tak terbatas. Intensity Range Spot Angle Shadows Cookie Draw Halo Flare Render Mode Culling Mask : Intensitas cahaya. : Jarak penyinaran cahaya, hanya berguna jika Attenuate dipilih. : Sudut penyinaran. Hanya berguna pada tipe cahaya Spotlight. : Parameter bayangan (harus pakai Unity Pro). : Jika anda ingin menggunakan texture gambar pada cahaya tersebut. : Kesan glow pada cahaya tersebut. : Efek mengkilat pada cahaya. (dapat dilihat di game viewport) : Tingkat kualitas pantulan cahaya terhadap objek. : Layer apa saja yang akan menerima pantulan cahaya tersebut (akan dijelaskan nanti)

Catatan : Panel Inspector adalah tempat untuk mengubah parameter semua jenis benda pada Unity. Namun tidak akan dijelaskan satu persatu secara mendetail pada bab ini. Seiring berjalannya tutorial ini, anda akan sedikit demi sedikit memahami lebih jauh tentang panel Inspector.

Tips : Ada dua jenis cahaya di Unity, yaitu Object Light dan Ambient Light. Object Light seperti yang telah dijelaskan adalah cahaya yang kita buat melalui game object. Sedangkan Ambient Light adalah cahaya dasar suatu scene. Untuk memahaminya lebih jauh, mari kita bahas sedikit.

Coba anda pilih Edit > Render Setting, lalu perhatikan ke panel Inspector. Lalu coba anda ubah warna dari ambient Light dan perhatikan efeknya.

12

Jika anda sudah puas mengatur cahayanya, sekarang coba tekan kembali tombol play.

gunakan mouse untuk mengubah pandangan, keyboard W,S,A,D atau ,,, untuk bergerak mundur, kiri atau kanan, SPACE untuk melompat. Jangan lupa save scene anda, gunakan Ctrl-S atau pilih File > Save Scene, lalu pilih nama yang anda inginkan.

Catatan : Jika anda berencana akan membuat banyak level/scene, ada baiknya anda membuat folder baru di dalam folder project Unity anda untuk mempermudah pengelolaan file. Contoh; save scene anda dalam folder baru yang diberi nama Levels. Sesuai selera anda.

Selamat!! Anda telah berhasil membuat sebuah game FPS! Namun belum sesuai dengan namanya (First Person Shooter), maka di halaman selanjutnya kita akan membuat sebuah shooter sederhana.

13

Pistol SederhanaMari kita lanjutkan dengan tahap berikutnya, disini kita akan menambahkan sebuah pistol sederhana. Bersiap-siaplah, karena disini kita akan mempelajari dasar-dasar penggunaan script pada Unity. Pertama-tama, mari kita buat sebuah pistol abal-abal.

Buat sebuah cube, lalu ubah sedemikian rupa dengan menggunakan Scale(skala) atau panel Inspector sehingga berbentuk persegi panjang. Ganti nama cube tersebut menjadi Pistol. Jangan lupa tekan Enter setelah mengganti nama.

Catatan : Usahakan untuk mengikuti penamaan objek sesuai dengan tutorial ini. Karena penamaan tersebut selanjutnya akan dipergunakan pada Script untuk mempermudah anda dalam proses belajar. Dan perlu diingat, huruf besar dan kecil sangat diperhitungkan dalam Scripting.

Posisikan pistol kita agar menempel dengan First Person Controller, dan searah dengan sudut pandang kameranya. Seperti gambar di bawah ini.

Lalu pindahkan objek Pistol ke dalam objek First Person Controller pada panel hierarchy.

14

Ketika ditanya losing prefabare you wish to continue? pilih continue.

Maka sekarang objek pistol tersebut telah menjadi satu kesatuan dengan objek First Person Controller.

Sehingga jika kita play game kita sekarang, maka pistol kotak tersebut akan mengikuti kemana kita pergi.

Namun apa yang terjadi? Meskipun mengikuti, si pistol ternyata tidak mengikuti gerakan kamera kita. Untuk itu, mari kita lakukan langkah berikut. Pindahkan objek pistol ke dalam objek Main Camera di dalam FPController. Sehingga si pistol kini bersatu dengan Main Camera.

Sehingga tampilan Hierarchy menjadi seperti ini:

Kita lihat hasilnya dengan menekan tombol play.

15

PeluruYa, sekarang pistol tersebut sudah mengikuti gerakan kamera. Selanjutnya kita buat agar pistol kita dapat menembaki sebuah peluru. Buat sebuah Game Object berupa Sphere(bola). Taruh dimana saja. Ganti nama Sphere tersebut menjadi Peluru Berikan ukuran yang rasional pada peluru tersebut sesuai dengan ukuran pistol.

Selanjutnya, dalam keadaan objek peluru tersebut terpilih, pilih Component > Physics > Rigidbody.

Sehingga peluru tersebut kini memiliki properti Rigidbody pada panel Inspector.

16

Rigidbody adalah komponen yang memberikan efek gravitasi pada sebuah objek. Objek yang diberi komponen Rigidbody akan memiliki efek benda dinamis yang akan terpengaruh gravitasi sesuai dengan parameternya. Rigidbody juga akan dapat saling berinteraksi dengan objek lain yang juga ber komponen Rigidbody.

Selanjutnya, pilih Create > Prefab. Ganti nama Prefab baru new prefab menjadi peluruPrefab. Pindahkan objek Peluru dari panel Hierarchy ke

peluruPrefab di panel Project.

Hapus objek peluru yang ada di panel Hierarchy. Kita sudah tidak membutuhkannya lagi.

Scripting DasarUntuk sementara kita tinggalkan dulu pistol dan peluru tersebut. Selanjutnya mari kita mulai proses scripting untuk pistol dan pelurunya.

pada panel Project, pilih Create, lalu pilih Folder.

17

Maka akan muncul sebuah New Folder di dalam panel project. Pilih New Folder tersebut, lalu klik sekali lagi. Ganti namanya menjadi Java Script Lalu klik kanan folder Java Script tersebut, dan pilih Create > JavaScript

Maka akan muncul NewBehaviourScript, ini adalah script kosong baru. Genti namanya menjadi PistolScript. Klik dua kali (double click) PistolScript tersebut.

Setelah double click, maka sebuah windows baru akan muncul. Ini adalah Unity Script windows. Jika anda memang berencana akan berurusan dengan Unity dalam waktu panjang ini, maka anda akan menghabiskan banyak waktu bersuka duka disini. Cry tear of joy!! >:D

Seperti yang anda lihat, script kosong hanya berisi

function Update () {}

Hapus semua script tersebut, lalu copy paste script di bawah ini ke dalamnya:

var peluru : Rigidbody; var kecepatan = 20; function Update () { if (Input.GetButtonDown ("Fire1")) { var peluruBaru : Rigidbody = Instantiate (peluru, transform.position,transform.rotation); peluruBaru.velocity = transform.TransformDirection(Vector3 (0,0,kecepatan)); Physics.IgnoreCollision(peluruBaru.collider, transform.root.collider); } } save script tersebut.

18

Catatan : Di tutorial ini tidak akan dijelaskan secara spesifik mengenai script yang diberikan. Jika anda ingin mengetahui lebih jauh mengenai scripting di Unity, silahkan merujuk ke Help > Scripting Manual. Atau lakukan penelitian lewat komunitas maupun forum-forum Unity di internet. Banyak pengguna Unity dari penjuru dunia yang secara aktif sharing script yang mereka buat.

Sekarang mari kita kembali ke pistol dan peluru kita.

Sebelum mengaplikasikan script yang baru saja kita buat, mari kita lakukan terlebih dahulu langkahlangkah berikut ini;

pilih GameObject > Create Empty

Empty Game Object adalah sebuah objek yang meskipun kosong namun berguna sebagai point master suatu objek. dalam kasus ini, Empty Game Object tersebut akan menjadi tempat dimana peluru ditembakkan.

Ganti nama Game Object kosong tersebut menjadi Pistol Tembak Pindahkan Game Object Pistol Tembak sehingga bersatu dengan object Pistol Atur posisinya sehingga berada di ujung Pistol. Pastikan agar sedikit berada di luar objek pistol.

Drag & drop script PistolScript ke dalam objek Pistol Tembak

19

Sekarang pilih objek Pistol Tembak, lalu perhatikan ke panel Inspector.

Dapat kita lihat, kini ada parameter tambahan pada objek Pistol Tembak. Parameter ni merupakan hasil aplikasi Java Script PistolScript.

Selanjutnya, dengan tetap memilih objek Pistol Tembak, drag & drop peluruPrefab dari panel Project ke slot Peluru pada panel inspector objek Pistol Tembak.

tekan Play

(Gunakan klik kiri atau keyboard Ctrl-kiri anda untuk menembak).

20

Efek LedakanSekarang pistol kita sudah dapat menembakkan peluru. Selanjutnya mari kita tambahkan efek ledakan pada peluru yang ditembakkan. Buat Java Script baru bernama Ledakan Copy paste script di bawah ini

var ledakan : GameObject; function OnCollisionEnter (collision : Collision) { var kontak : ContactPoint = collision.contacts[0]; var rotasi = Quaternion.FromToRotation(Vector3.up, kontak.normal); var ledakanBaru : GameObject = Instantiate (ledakan, kontak.point, rotasi); Destroy(gameObject); }

Pilih peluruPrefab pada panel project. Pilih Component > Scripts > Ledakan

Sekarang prefab peluruPrefab telah memiliki parameter Ledakan hasil dari script di atas.

21

Dengan peluruPrefab tetap terpilih, buka folder Standard Assets di panel Project, lalu pilih Particles. pindahkan prefab explosion dari panel project ke slot Ledakan di Inspector

peluruPrefab.

Prefab explosion ini adalah efek template dari Unity.

Sekarang mari kita coba hasilnya. Tekan Play

Peluru yang dilontarkan kini menghasilkan efek ledakan ketika bersentuhan dengan objek lain. Jika anda mengalami kasus peluru meledak sebelum dilontarkan, pastikan objek Pistol Tembak tidak bersentuhan dengan objek Pistol.

22

BuildUntuk tahap akhir mari kita Build game kita sehingga menjadi sebuah game yang standalone Save project dan scene anda Pilih File > Build Setting Pilih Add Current Ganti menjadi Windows Standalone. Pilih Build Beri nama lalu save di tempat yang anda inginkan

23

KesimpulanJika tutorial ini kita singkat dengan sebuah gambar, maka kurang lebih dapat diperoleh kesimpulan seperti ilustrasi dibawah ini:

24

Demikian Tutorial Membuat Game Dengan Unity Part 1 (dasar) berakhir. Selanjutnya, silahkan anda bereksperimen dengan apa yang sejauh ini telah anda pelajari. Cari tutorial atau resource lain melalui internet. Atau silahkan tunggu kehadiran Part 2 Tutorial ini.

Di Tutorial Part 2 direncanakan akan membahas : 3rd person game tutorial Integrasi Unity dengan Program 3D Animasi karakter Kontrol karakter Simple AI (Artificial Intelligence) & waypoint GUI system

Berhubung ini adalah tutorial pertama yang saya buat, mohon maaf jika ada kesalahan penulisan, atau segala kekurangan dalam tutorial ini. Sampai jumpa di tutorial part 2, & Happy game making! :)

Vadi Vanadi Buchari [email protected]

25