Anda di halaman 1dari 25

Daftar Isi

Penting Dibaca 3
Projek baru 4
Simple FPS (First Person Shooter) 6
First Person Controller 6
Game Object 7
Transformasi (Move, Rotate & Scale) 8
Pencahayaan (Lighting) 11
Pistol Sederhana 14
Peluru 16
Scripting Dasar 17
Efek Ledakan 21
Build 23
Kesimpulan 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 baru

Ketika 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 (Tombol ini berguna untuk melakukan test simulasi/game yang
telah kita buat).
• 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 aset-
aset pendukung game anda. Maka, sangat penting bagi anda untuk memperhatikan & menyusun baik-
baik 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 Controller


Untuk 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 yang ada di scene kita. (pilih lalu
tekan Delete). Sehingga scene kita benar-benar bersih.

• 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

dengan demikian anda akan mendapati tambahan ikon kamera baru pada layar utama Scene
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 Object
Selanjutnya, 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 adalah sumber cahaya yang nantinya akan sangat
berpengaruh bagi game anda.

• 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. Anda juga dapat

mengubahnya ketika dalam Game Viewport (ketika anda menekan tombol play ). 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 : Untuk mengganti tipe cahaya (Point Light, Spotlight dan Directional Light)
Color : Untuk mengubah warna cahaya
Attenuate : Pilihan apakah cahaya tersebut akan menyinari cahayanya secara
terbatas atau tak terbatas.
Intensity : Intensitas cahaya.
Range : Jarak penyinaran cahaya, hanya berguna jika Attenuate dipilih.
Spot Angle : Sudut penyinaran. Hanya berguna pada tipe cahaya Spotlight.
Shadows : Parameter bayangan (harus pakai Unity Pro).
Cookie : Jika anda ingin menggunakan texture gambar pada cahaya tersebut.
Draw Halo : Kesan “glow” pada cahaya tersebut.
Flare : Efek “mengkilat” pada cahaya. (dapat dilihat di game viewport)
Render Mode : Tingkat kualitas pantulan cahaya terhadap objek.
Culling Mask : 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 Sederhana

Mari 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 prefab…are 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
Peluru

Ya, 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 Dasar

Untuk 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 langkah-
langkah 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 Ledakan

Sekarang 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
Build

Untuk 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
Kesimpulan

Jika 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


vanadz@gmail.com

25