Anda di halaman 1dari 94

Modul Membuat Game

dengan Unity 3D Engine


Tutorial step by step dari nol hingga mahir
Deni Kurnia

12

Donasi
50% buat Anak Yatim
Yth. Pembaca...
Tutorial ini bersifat free...silahkan dibagikan ke semua yang
membutuhkannya...Jika tutorial ini memberikan manfaat
dan menambah pengetahuan pembaca semua, lalu anda
berniat mau menyisihkan sebagian rejekinya untuk
berdonasi sebagai salah satu bentuk apresiasi...Silahkan
melalui rekening BCA 008 043 3476 an Deni Kurnia.

Jazakumullohu Khoir...

Selamat Belajar!

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Bab 1
MODUL TINGKAT DASAR

1.1. Instalasi Unity3D Game Engine


Pernahkan Anda bermain game ? Kalau pernah,
mengetahui bagaimana cara membuatnya ?

pernahkah berpikir untuk

Nah, saat ini banyak tools/software yang dipakai untuk membuat sebuah game.
Salah satu software tersebut adalah Unity3D.
Unity3D merupakan salah software game development yang lengkap. Source-nya
dapat di-download melalui tautan http ://unity3d.com . Kita dapat menggunakan
versi trial-nya untuk mengeksplorasi fitur-fitur apa saja yang terdapat dalam
software ini.

Catatan :
Pada modul ini, penulis menggunakan Unity3D versi 3.4.05. Anda dapat
menggunakan versi terbaru dengan proses instalasi yang kurang lebih sama
dengan versi yang dipakai pada modul ini.

Untuk memahami proses instalasi Unity3D, ikuti langkah-langkah sebagai berikut :


1. Setelah proses download selesai. Klik folder tempat Unity3D tersebut di
letakkan. Lalu pilih file setup.exe
Lihat Gambar 1.1

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 1.1 Welcome Setup Unity 3.4

2. Pilih Next

Gambar 1.2 License Agreement

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

3. Pilih I Agree>Next, lalu pilih option seperti gambar 1.3

Gambar 1.3 Choose Components

4. Pilih folder tempat instalasi, tekan Install

Gambar 1.4 Pilih Folder tempat instalasi

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

5. Tunggu sampai proses selesai dan muncul jendela sepert gambar 1.5

Gambar 1.5 Proses instalasi selesai

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

1.2.

Memahami User Interface Unity3D

Pada saat membuka Unity3D, maka akan muncul tampilan sebagai berikut :

Gambar 1.6 Welcome Screen Unity

Untuk sementara Welcome Screen ini anda close dulu saja, agar kita langsung
menuju ke jendela kerja Unity seperti gambar 1.7

Gambar 1.7 Jendela Kerja Unity3D versi 3.4

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Secara garis besar, area kerja Unity3D dibagi menjadi 6 bagian utama sebagai
berikut :
1. Scene

Gambar 1.8 Scene View

Scene adalah tempat ditampilkannya seluruh asset yang terdapat dalam


jendela Project View (lihat penjelasan Project View).
Lalu apa yang disebut dengan asset ?
Asset merupakan komponen yang digunakan untuk membangun
project/game. Di dalam asset ini biasanya tersusun dari beberapa folder yang
didalamnya tersimpan model , texture, image, material, script, dll.

2. Game
Game adalah tempat ditampilkannya aplikasi yang dibuat di Scene View.
Ketika anda mengaktifkan jendela game, maka game/project yang anda buat
dapat di jalankan di jendela game view ini. Coba sekali lagi bedakan antara
Game View dengan Scene View!

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 1.9 Game View

3. Project
Jendela Project adalah tempat semua asset ditampilkan.

Gambar 1.10 Jendela Project

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Didalam jendela project, Unity menyediakan fasilitas membuat :


- folder
- Javascript
- C# Script
- Boo Script
- Shader
- dst. (lihat gambar 1.10)
Caranya, anda tinggal klik menu create di jendela project, lalu akan muncul sub
menu seperti gambar 1.10. Penjelasan fasilitas ini akan dijelaskan pada Bab 2
(modul tingkat menengah).

4. Hierarchy
Hierarchy / hirarki merupakan tempat beradanya game object pada scene
yang sedang aktif. Ketika kita berpindah scene, maka komponen dalam
hierarchy akan berubah mengikuti scene yang sedang aktif. Coba perhatikan
gambar 1.11

Gambar 1.11 Hierarchy


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

5. Inspector
Inspector adalah properties-nya suatu game object dalam unity. Contoh :
apabila kita memilih salah satu game object pada jendela Project, maka akan
tampil parameter dan informasi lainnya di Inspector.

Gambar 1.12 Inspector

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

6. Toolbar
Toolbar Unity3D terdri dari lima bagian utama, yaitu :
1. Transform Tool
Digunakan untuk menggeser, memutar dan mengubah ukuran object.

Contoh penggunaan transform tool :


- Buat object cube dengan cara pilih create di hierarchy, pilih cube;
- Move the selected object : geser objek cube pada sumbu x, y atau z;

Gambar 1.13 Move the selected object button

- Lalu lihat bagian inspector, amati perubahan nilai pada koordinat x, y


atau z.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 1.13 Perubahan nilai Position ketika cube diubah posisi koordinatnya.

2. Transform Gizmo Toggle

Toolbar ini biasanya dipakai untuk mengatur sudut pandang koordinat


pada Scene View, misalnya :
- Center
Menempatkan koordinat pada tengah obyek terpilih/aktif. Akan
kelihatan perubahannya saat kita memilih lebih dari satu obyek.

Gambar 1.14 Posisi koordinat ada ditengah kedua obyek.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

- Pivot
Menempatkan koordinat pada titik pivot salah satu obyek ketika lebih
dari satu obyek terpilih.

Gambar 1.15 Posisi koordinat ada pada cube, saat kedua obyek diseleksi.

- Local
Posisi koordinat x, y, z pada obyek terpilih/aktif, sehingga ketika obyek
dirotasi maka posisi x, y, z akan berubah. Artinya koordinat obyek
terpilih relative terhadap koordinat scene utama/Scene View.

Gambar 1.16 Posisi koordinat local ada pada cube saat dirotasi

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

- Global
Posisi koordinat x, y, z mengikuti Scene View
Posisi koordinat akan tetap walaupun obyek dirotasi, karena mengikuti
koordinat global. Artinya koordinat obyek absolute terhadap koordinat
scene utama/Scene View.

Gambar 1.17 Posisi koordinat global ada pada cube saat dirotasi

3. Play/Pause/Step Button

Berfungsi untuk play, stop dan go to next scene pada game. Anda tentu
sudah familiar dengan button seperti ini.
4. Layout Drop-Down

Berfungsi untuk mengubah/mengkustomisasi jendela tampilan Unity anda.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

7. Menu
Unity3D memiliki menu utama seperti software pada umumya. Menu
tersebut dapat dilihat pada gambar 1.18

Gambar 1.18 Menu Standar Unity versi 3.4

Penjelasan fungsi fungsi menu Unity akan dibahas pada bagian tutorial
membuat game di akhir bab 2 dan awal bab 3. Setelah mengikuti tutorial
tersebut, anda dengan sendirinya akan memahami fungsi menu pada Unity
secara keseluruhan.

1.3.

Membuat, Menyimpan dan Mengkompilasi Project

1.3.1 Membuat dan Menyimpan Project Baru


Membuat project baru :
1. Klik File > New Project

Gambar 1.19 Membuat Project Baru

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

2. Pilih Create

Gambar 1.20 Memilih folder Project Baru ditempatkan

Catatan :
Coba perhatikan, diatas button Create ada beberapa pilihan Import the
following package, pilihan itu adalah standar package Unity
yang
memudahkan kita untuk membangun sebuah game. Untuk sementara
biarkan saja dulu jangan dicentang/dipilih bagian tersebut. Kita akan
memakainya pada bagian tutorial membuat game.

Menyimpan project baru :


1. Klik File > Save Project

Gambar 1.21 Menyimpan Project Baru

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

1.3.2 Membuat Scene Baru


Langkah membuat scene baru :
1. Klik File > New Scene

Gambar 1.21 Membuat Scene Baru

Langkah menyimpan scene :


1. Klik File > Save Scene, atau File > Save Scene as

Gambar 1.22 Menyimpan Scene

2. Beri nama scene1 misalnya, lalu simpan di folder asset.


Catatan :
Dalam satu project bisa terdiri dari satu scene atau lebih, tujuannya kita bisa
berpindah dari satu scene ke scene lain. Contoh penggunannya adalah
leveling dalam game, scene1 untuk level1, scene2 untuk level2, dst.
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

1.3.3. Mem-build game


Langkah yang paling penting setelah kita membuat project game adalah
bagaimana game tersebut bisa di-compile/di-build sehingga dapat dimainkan
orang lain.
Unity menyediakan fasilitas mem-build game dengan satu langkah cepat.
Cara mem-build game pada Unity adalah sebagai berikut:
1. Klik File> Build Setting

Gambar 1.23 Mem-build Game

2. Pilih Salah satu platform yang akan dipakai, lalu tekan Build :

Gambar 1.23 Memilih Platform


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Catatan :
Unity menyediakan fasilitas build game dengan enam platform yang berbeda,
diantaranya :
- Web Player
- PC and Mac Standalone
- Android
- iOS
- Xbox 360
- PS3
Jadi, sekali kita mendesain sebuah game, maka kita bisa mem-build kedalam enam
platform yang berbeda. Menarik bukan ?

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Bab 2
MODUL TINGKAT MENENGAH
2.1. Membuat Obyek Dasar (Game Object)
Unity menyediakan fasilitas membuat game object standar seperti cube, cylinder,
capsule, plane, camera, particle, dan light dll. Adapun game object yang memiliki
tingkat kompleksitas yang tinggi, seperti model manusia dan hewan dapat dibuat di
software lain seperti Blender, 3D Max atau Maya. Selanjutnya model tersebut diimport oleh Unity menjadi game object dan disimpan sebagai asset. Tahapan import
asset ini akan dijelaskan pada tutorial membuat game 3D di awal bab 3.
Untuk memulai membuat obyek dasar seperti cube, langkahnya adalah sebagai
berikut :
1. Klik GameObject > Create Other > Cube

Gambar 2.1 Membuat Cube

2. Hasilnya akan seperti gambar 2.2


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.2 Cube

2.2. Menggeser, memutar dan mengubah ukuran game object


Menggeser game object, dapat dilakukan dengan cara :
Melalui Scene View, klik button move the selected object,
kemudian klik salah satu koordinat (ditandai dengan anak panah merah untuk
sumbu x, hijau untuk sumbu y dan biru untuk sumbu z). Lalu drag/geser dengan
mouse ke salah satu arah sumbu. Lihat perubahan nilai pada Inspector.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.3 Menggeser game object Cube

Memutar game object, dapat dilakukan dengan cara :


Melalui Scene View, klik button rotate the selected object,
kemudian klik dan drag untuk memutar mengikuti sumbu yang sedang aktif (di-klik).
Lihat perubahan nilai pada Inspector.

Gambar 2.4 Memutar game object Cube

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Mengubah ukuran game object, dapat dilakukan dengan cara :


Melalui Scene View, klik button scale the selected object,
kemudian klik dan drag untuk memperkecil dan memberbesar pada sumbu x, y atau
z. Lihat perubahan nilai pada Inspector.

drag

Gambar 2.5 Mengubah ukuran game object Cube

Selain ketiga cara diatas, menggeser, memutar dan mengubah ukuran game
object, dapat dilakukan melalui jendela Inspector. Coba perhatikan gambar 2.6

Gambar 2.6. Menggeser, memutar dan mengubah ukuran melalui inspector


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Ada tiga bagian utama pada highlight gambar 2.6, yaitu position, rotation dan scale.
Coba ubah-ubah nilai pada sumbu x, y atau z, lalu perhatikan perubaan pada game
object-nya. Selamat mencoba!

2.3. Memahami Camera


Camera adalah bagian penting bagaimana suatu game ditampilkan kepada user.
Unity menyediakan fasilitas membuat camera dengan langkah :
Klik GameObject > Create Other > Camera

Gambar 2.7. Membuat Camera

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.7. Camera Preview saat Camera sudah dibuat

2.4. Membuat Material dan Meng-import Texture


Seperti halnya software 3D lain, Unity pun menyediakan fasilitas membuat
material standar berupa warna. Untuk material yang kompleks seperti tekstur
pohon, kulit dll, Unity menyediakan fasilitas import dari software lain.
Langkah membuat material pada Unity adalah sebagai berikut :
1. Klik Asset > Create > Material
Secara default pada jendela Project akan terbentuk material baru dengan nama
New Material, silahkan ubah nama dengan nama cubeMaterial misalnya
seperti pada gambar 2.9

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.8. Membuat material

Gambar 2.9. Mengubah nama material

2. Klik cubeMaterial, perhatikan jendela Inspector, terdapat properties warna


yang bisa kita edit.
3. Ubah menjadi warna merah misalnya (gambar 2.10)

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.10. Mengubah warna material

4. Drag cubematerial dari jendela Project ke Cube di jendela Hierarchy,


sekarang warna cube menjadi merah sesuai dengan material yang di-drag.

Gambar 2.11. Warna cube berubah menjadi merah


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Setelah anda dapat membuat material dengan Unity, sekarang mari kita membuat
material dari software lain. Langkahnya adalah sebagai berikut :
1. Buka Software Adobe Photoshop
2. Buat file 500x 500 pixel
3. Buat material seperti dibawah ini, atau anda bisa mencari di stock foto online

Gambar 2.12. Material dengan nama woodgrain.jpg

4. Save ke folder Assets seperti pada gambar 2.13 , sehingga nanti akan muncul
di Jendela Inspector (gambar 2.14)

Gambar 2.13. Contoh letak menyimpan file material pada folder Assets
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.14. Material muncul di jendela Project

5. Drag material dari jendela Project ke cube di jendela Hierarchy seperti gambar
2.15. Lihat perubahan material yang terjadi pada cube !

drag

[Type a quote from


the document or the
summary of an
interesting point. You
can position the text
box anywhere in the
document. Use the
Text Box Tools tab to
change the
formatting of the pull
quote text box.]

Gambar 2.15. Pemberian material woodgrain pada cube

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Default Shader

Klik disini

Gambar 2.16. Jendela inspector saat bagian shader di-klik

2.5 Meng-import Sounds (Audio Components)


Sebuah proyek game tentu akan banyak memerlukan suara/sound. Pada Unity
disebut Audio components. Secara umum dibagi dua, yaitu :
- Audio Listener, komponen yang dimasukkan kedalam kamera/player agar
ketika game dimainkan, player mampu menangkap suara yang ada pada
game object.
- Audio Source, suara dimasukkan kedalam game object sehingga suara berada
pada game object.
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Cara memberikan suara (Audio Listener) adalah sebagai berikut :


1. Klik Main Camera
2. Klik Component > Audio > Audio Listener (gambar 2.17)

Gambar 2.17. Membuat Audio Listener pada Main Camera

3. Perhatikan jendela Inspector, lihat perubahan yang terjadi.

Gambar 2.18. Pada Inspector terdapat Audio Listener

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Catatan :
Secara default Audio Listener sudah terdapat pada Main Camera pada saat anda
membuat project baru dan scene baru pada Unity. Langkah diatas untuk tambahan
pengetahuan agar anda mengetahui proses pembuatan Audio Listener.

Setelah anda memahami cara membuat Audio Listener, berikutnya adalah cara
memberikan suara (Audio Source) pada suatu game object
Langkahnya adalah sebagai berikut :
1. Siapkan sumber sound yang akan di-import seperti contoh pada gambar 2.17
(atau anda bisa mengunduh yang gratisan di internet)

Gambar 2.17. Menyiapkan folder sumber sound

2. Copy ke folder Asset pada project anda. Pada folder Assets ini anda sebaiknya
membuat folder baru dengan nama Suara, supaya file pada Assets tersusun
rapi/terstruktur.

Gambar 2.18. Meng-copy ke folder Asset\Suara


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

3. Kembali ke project di Unity Anda, lihat pada jendela project, anda akan
mendapatkan tampilan seperti pada gambar 2.19, yaitu folder suara dan
suara laser01 sudah muncul di jendela Project

Gambar 2.19. Tampilan pada jendela Project

4. Drag LASER01 pada jendela Project ke Cube di Jendela Hierarchy

drag

Gambar 2.19. Tampilan pada Inspector saat sound LASER01 di - drag ke cube
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

5. Perhatikan perubahan tampilan jendela Inspector dan jendela scene pada


cube, sekarang cube memiliki properties Audio Source. Ada parameter yang
bisa di adjust oleh anda. Silakan dicoba !

Ada icon
speaker

Gambar 2.20. Tampilan pada cube

6. Centang Loop pada jendela Inspector di bagian Audio Source, agar suara
dijalankan secara berulang-ulang.
7. Untuk mencoba bahwa cube sudah memiliki suara, klik tombol play
lalu perhatikan apa yang terjadi.
2.6 Membuat Partikel
Partikel biasanya dipakai untuk membuat efek ledakan peluru pada game
menembak/perang, semburan asap knalpot pada game balap, atau efek
pukulan pada game pertarungan. Pada prakteknya, banyak penggunaan efek
partikel ini. Sebagai standar game engine, tentu Unity menyediakan fasilitas ini.
Mari kita ikuti langkahnya.
1. Klik Game Object> Create Other > Particle System

Gambar 2.21. Langkah membuat partikel


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

2. Perhatikan yang terjadi pada Scene View, lihat gambar 2.22

Gambar 2.22. Partikel yang sudah dibuat pada jendela Scene View

3. Arahkan mouse anda ke jendela Inspector, disini kita akan mengatur


parameter partikel sesuai denga tipe yang kita butuhkan.
4. Pada contoh ini akan dimisalkan membuat partikel untuk ledakan api.
Maka, perhatikan gambar 2.23 parameter apa saja yang di atur nilainya.

Ikuti nilai
yang tertera
pada gambar
ini

Klik untuk
mengganti
warna
Gambar 2.23. Mengubah nilai dan warna paritkel pada Inspector
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

5. Perhatikan partikel akan berubah seperti gambar 2.24 pada jendela Scene

Gambar 2.23. Mengubah nilai dan warna paritkel pada Inspector

2.7 Memahami Prefabs


Prefab adalah salah satu Assets yang dapat digunakan berkali-kali. Prefab
terletak pada Project View dan dapat dimasukkan kedalam Scene View dengan
cara di-drag. Selain itu, prefab pun dapat dikaitkan/ di-link-kan dengan game
object lain.
Contoh aplikasinya, misalnya untuk membuat sebuah peluru yang ditembakkan
pistol, kita hanya perlu sekali saja membuat game object berupa peluru, lalu
peluru tersebut dijadikan prefab, kemudian prefab peluru diletakan pada ujung
pistol, lalu nanti ketika mouse ditekan, maka prefab peluru dapat ditembakkan
berkali-kali. Proses ini disebut instatiate. Lebih detail aplikasinya akan
dijelaskan pada sub bab membuat game.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Langkah membuat prefab adalah :


1. Klik Asset> Create > Prefab

Gambar 2.23. Membuat Prefab

2. Secara default, Unity akan memberikan nama New Prefab, anda bisa
menggantinya dengan nama lain pada jendela Inspector. Penamaan ini
untuk memudahkan saat prefab di-load oleh script. Perhatikan gambar 2.24

Gambar 2.23. Mengubah nama Prefab

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

3. Buat cube pada Jendela hierarchy, lalu drag cube ke dalam New Prefab. New
Prefab ini, coba ganti dengan nama PrefabCube Lihat gambar 2.24.
Catatan :
Penamaan PrefabCube ini hanya contoh saja, anda dapat menggantinya
dengan nama lain.

drag

Gambar 2.24 Men-drag cube kedalam PrefabCube

4. Setelah cube di-drag ke PrefabCube, anda tidak memerlukan cube lagi, oleh
karena itu hapus cube yang ada di jendela Scene dengan cara klik lalu tekan
delete pada keyboard.
5. Sekarang anda memiliki PrefabCube yang bisa di-drag sebanyak-banyaknya
kedalam Jendela Scene tanpa harus membuat cube satu persatu!.
2.8 Membuat Animasi
Animasi dapat dilakukan dengan dua cara, yaitu :
1. Melalui perubahan keyframe (postion, rotation, scale) tanpa scripting.
2. Dengan scripting.
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Pada bagian ini akan dijelaskan animasi tanpa scripting, untuk animasi
dengan scripting akan dibahas pada sub bab scripting.
Catatan :
dalam contoh dibawah ini, animasi yang dibuat menggunakan game object
cube
Langkah membuat animasinya adalah sebagai berikut :
1. Klik Create> Game Object > Cube
2. Klik Windows > Animation (Perhatikan gambar 2.25)
3. Klik record button, simpan dengan nama New Animation (Perhatikan
gambar 2.26)

Gambar 2.25 Jendela Animation

klik

save

Gambar 2.26 Save Animation


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

4. Klik Add Key untuk mengunci frame

Gambar 2.27 Mengunci Frame

5. Geser cube pada sumbu x, y atau z (lihat gambar 2.28)

Gambar 2.28 Menggeser Frame

geser

geser
Gambar 2.29 Menggeser Cube pada sumbu x untuk membuat animasi

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

6. Ingat, yang anda geser adalah garis yang berwarna merah. Setiap garis
merah digeser ke kanan pada jendela animation, maka disaat yang sama
apabila posisi cube di jendela scene view digeser, akan terbentuk
keyframe baru. Coba perhatikan gambar 2.30

keyframe

Gambar 2.30 Menggeser Cube pada sumbu x untuk membuat animasi

7. Untuk melihat animasi yang sudah dibuat coba tekan button play pada
jendela Animation.

2.9 Membuat Lighting


Lighting/pencahayaan adalah salah satu komponen yang mendukung terhadap
skenario suatu game agar tampak lebih realistis.
Unity menyediakan tiga jenis pencahayaan yaitu :
- Directional Light
- Point Light
- Spotlight
Untuk menjelaskan perbedaannya, perhatikan langkah berikut :
1. Directional Light
Langkah membuat Directional Light :
- Klik GameObject > Create Other > Cube
- Klik GameObject > Create Other> Directional Light
Perhatikan Gambar 2.31 dan 2.32

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.31 Membuat Directional Light

- Gunakan Move the Selected Object


untuk menggeser
Directional Light ke sumbu +y (coba geser-geser aja sembarang posisi
dahulu).
geser

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.32 Menggeser Directional Light

Gunakan Rotate the Selected Object


untuk menggeser Directional
Light pada sumbu x, y atau z . Lihat perbedaan yang terjadi pada gambar

Gambar 2.33 Memutar Directional Light

Kalau anda sudah mengerti cara membuat Directional Light, tentu akan mudah
membuat Point Light dan Spotlight seperti dibawah ini bukan ?

Gambar 2.34 Point Light (kiri) dan Spotlight (kanan)


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

2.10 Menerapkan Physics pada Game Object


Physics pada Unity diantaranya dipakai untuk mengontrol gravitasi, gaya dan
tumbukan (collision) pada suatu game object. Unity memiliki bawaan NVIDIA PhysX
Physic engine.
Pada sub-menu Physic terdapat pilihan seperti gambar 2.35 :

Gambar 2.35 Sub-menu pada Physics

1. Rigidbody
Rigidbody merupakan sub-menu physics yang salah satu fungsinya digunakan untuk
mengontrol gravitasi pada game object. Untuk mencoba menerapkan rigidbody ini,
langkahnya adalah sebagai berikut :
- Buat Object cube, GameObject> Create Other > Cube
- Buat Object plane, GameObject> Create Other > Plane
- Tempatkan posisinya seperti gambar 2.36

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

cube
plane

Gambar 2.36 Membuat Cube dan Plane

- Terapkan Physics pada cube (pastikan posisi cube melayang diatas plane),
langkahnya : Klik Cube, klik Component> Physics> Rigidbody
- Tempatkan posisi Main Camera seperti gambar 2.37. Sehingga pada saat diplay pergerakan jatuhnya cube ke plane akan terlihat.

Gambar 2.37 Menggeser Posisi Main Camera

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

- Klik Game View, Lalu tekan button Play


- Perhatikan apa yang terjadi ? Kalau langkah anda betul, seharusnya cube
akan jatuh secara realistis menimpa plane.
Catatan :
Pada jendela Inspector, secara default properties Use Gravity di-checklist.
Artinya ketika diterapkan rigidbody pada game object, secara otomatis
berlaku gravitasi pada obyek tersebut.

Use Gravity
aktif

Gambar 2.38 properties pada Inspector pada saat diterapkan rigidbody pada Game Object

2. Kinematic Rigidbodies
Untuk keperluan tertentu, kita dapat menon-aktifkan properties Use Gravity.
Kita dapat menerapkan rigidbody yang lain dengan cara men-checklist Is
Kinematic. Kinematic Rigidbodies tidak dipengaruhi oleh gaya, gravitasi dan
tumbukkan.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Salah satu aplikasi kinematic ini yaitu pada prefab peluru yang ditembakkan oleh
pesawat yang dikontrol melalui script. Lebih lanjut cara menerapkannya dapat
dilihat pada tutorial membuat game di sub bab berikutnya.

3. Collider
Collider merupakan komponen physic yang dipakai untuk mengontrol tumbukan
antar game object. Secara default Unity menyertakan collider ketika kita
membuat cube, sphere, capsule dan plane. Namun, untuk obyek (game object)
yang di-import dari software modelling lain, maka kita perlu menambahkan
collider terhadap obyek tersebut secara. Unity menyediakan lima tipe collider
sebagai berikut :
- Box, digunakan untuk obyek berbentuk kubus/kotak
- Sphere, digunakan untuk obyek berbentuk bola
- Capsule, digunakan untuk obyek berbentuk kapsul
- Mesh, digunakan untuk obyek yang memiliki mesh yang kompleks
- Wheel, digunakan untuk obyek berbentuk roda
Langkah membuat collider adalah sebagai berikut :
1. Klik Component> Physics> Box Collider
2. Perhatikan perubahan properties pada Inspector (gambar 2.39)

Gambar 2.39 Membuat Box Collider


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Catatan :
Ketika membuat game object dasar pada Unity, secara default collider
sudah disertakan pada game object tersebut. Object dasar tersebut adalah :
- Cube
- Sphere
- Capsule
- Cylinder
- Plane

2.11 GUI (Graphical User Interface)


GUI adalah komponen antarmuka yang diperlukan untuk berinteraksi antara
user dengan program komputer. GUI dapat berbentuk teks, gambar, maupun
button. Pada bagian ini akan dijelaskan tiga jenis GUI pada unity :
1. GUI Text
Yaitu teknik menampilkan teks agar muncul di layar pada saat game
dijalankan.
2. GUI Texture
Yaitu teknik menampilkan gambar/image agar muncul di layar pada saat
game dijalankan.
3. GUI Basic Control
Yaitu teknik menampilkan GUI yang dikontrol melalui script agar muncul di
layar pada saat game dijalankan. Aplikasinya misalnya button untuk
perpindahan menu, perpindahan level, atau GUI interaktif lainnya.
Langkah membuat GUI Text adalah sebagai berikut :
1. Klik GameObject > Create Other > GUI Text
Perhatikan gambar 2.40!

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.40 Membuat GUI Text

2. Edit Tulisan GUI Text dan Text menjadi Selamat Datang. Perhatikan tulisan di
Scene View, berubah bukan ?

Edit tulisan

Gambar 2.41 Mengedit tulisan GUI Text

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Langkah membuat GUI Texture adalah sebagai berikut :


1. Klik GameObject > Create Other > GUI Texture
Perhatikan gambar 2.42!

Gambar 2.42 Membuat GUI Texture

2. Buat file *.jpg (misalnya texture.jpg) ukuran 800 x 600 piksel di Adobe
Photoshop, lalu save di folder asset, sehingga muncul pada jendela project.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.43 Memasukkan file Texture.jpg ke folder Assets

drag

Edit Width dan Height

Gambar 2.44 Meng-edit Texture size pada Inspector

3. Pilih/klik Unity Watermark-small di jendela Hierarchy


4. Drag texture.jpg di jendela project ke jendela Inspector (lihat gambar 2.44)
5. Klik Pixel Inset pada panel Inspector, lalu ubah ukuran Width : 800 dan
Height : 600. Perhatikan perubahan yang terjadi pada Game View.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

6. Apabila texture tidak berada di tengah, atur nilai position x dan y pada
jendela Inspector (gambar 2.44)
7. Apabila parameter yang diatur benar, kurang lebih texture akan tampil pada
Game View seperti gambar 2.45.

Gambar 2.45 Tampilan GUI Texture pada Game View, setelah diatur parameternya.

Sekarang anda sudah memahami cara membuat GUI Text dan GUI Texture.
Salah satu aplikasinya adalah untuk opening menu atau perpindahan antar scene
pada game.
Pada bagian akhir sub pokok bahasan GUI, akan dijelaskan beberapa langkah
sekaligus contoh membuat GUI dengan Javascript. Ikuti langkahnya sebagai berikut :
1. Klik Assets > Create > Javascript
2. Ubah nama default NewBehaviourScript menjadi MenuScript (nama file boleh
bebas)
3. Klik dua kali untuk meng-edit-nya
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.46 Membuat Script dengan Javascript

4. Ketikkan script sebagai berikut :


/* Contoh Script GUI untuk leveling Game */
function OnGUI () {
// Membuat Background Kotak
GUI.Box (Rect (10,10,100,90), "Menu Game");
// Membuat button pertama. Jika ditekan, maka akan dipanggil Level 1
if (GUI.Button (Rect (20,40,80,20), "Level 1")) {
Application.LoadLevel (1);
}
// Membuat button kedua
if (GUI.Button (Rect (20,70,80,20), "Level 2")) {
Application.LoadLevel (2);
}
}

Penjelasan Script :
function OnGUI ()

merupakan fungsi untuk mengontrol GUI pada Unity. Setiap kali anda akan
membuat GUI dengan script, maka fungsi ini harus dipanggil.
GUI.Box (Rect (10,10,100,90), "Menu Game");

merupakan perintah membuat kotak dengan aturan 10= jarak dari sumbu x ke
sisi kotak, 10=jarak dari sumbu y ke sisi kotak, 100 = panjang kotak dan 90
=lebar kotak.
if (GUI.Button (Rect (20,40,80,20), "Level 1")) {
Application.LoadLevel (1);

Merupakan perintah membuat button dengan aturan 20= jarak dari sumbu x
ke sisi button, 40=jarak dari sumbu y ke sisi button, 80 = panjang button dan
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

20 = lebar kotak. Kemudian tulisan "Level 1" merupakan tulisan pada button,
dan perintah Application.LoadLevel (1); merupakan perintah untuk
memanggil scene/level 1.
if (GUI.Button (Rect (20,70,80,20), "Level 2")) {
Application.LoadLevel (2);

Perintah untuk membuat button kedua dan saat di-klik maka akan memanggil
scene/level 2.
Catatan :
Pada saat membuat game, tentu anda akan mempunyai banyak scene,
sehingga GUI seperti ini diperlukan untuk perpindahan antar scene.

5. Buat game object baru dengan cara klik GameObject> Create Empty
6. Drag script yang dibuat (MenuScript) ke dalam GameObject di jendela
Hierarchy
7. Untuk melihat hasilnya, coba jendela kerja dipindahkan ke Game View lalu
tekan Play.

Gambar 2.46
Men-drag script kedalam game object (kiri) dan hasilnya pada saat di play pada game view (kanan)
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

2.12. Membuat Game 2D : Petualangan Angkasa !


Salah satu perbedaan antara game 2D dengan 3D terletak pada posisi game objek
terhadap sudut pandang pemain. Pada game 2D posisi game object berada pada
koordinat x dan y saja, sehingga pemain hanya dapat menggerakan game object ke
kanan, kiri, atas atau bawah. Berbeda dengan game 3D, pemain seolah-olah dapat
masuk kedalam ruang permainan (sumbu z) dan leluasa menggerakan game object
ke depan, belakang, kiri, kanan, atas maupun bawah.
Pada sub bab ini, akan dijelaskan tahapan membuat game 2D sederhana.
Diharapkan apabila sudah memahami konsep game 2D, maka anda akan mudah
mengembangkan game 3D.
Tema game 2D ini adalah petualangan angkasa. Skenarionya adalah, player
diharuskan menghancurkan serangan batu luar angkasa dengan cara menembakkan
peluru dari pesawat milik player. Apabila peluru mengenai batu luar angkasa, maka
nilai akan bertambah 10. Nilai dibatasi sampai 1000, sehingga bila mencapai 1000,
maka player dianggap menang. Selanjutnya, apabila batu mengenai pesawat player,
maka nyawa akan berkurang. Nyawa player disediakan 3 nyawa, sehingga kalau tiga
kali kena batu, maka permainan berakhir (game over).
Mari kita mulai.
A. Membuat Cube, Directional Light dan Mengatur kamera
1. Klik File > New Project
2. Simpan di foder misalnya c:\Game Petualangan Angkasa
3. Pilih Create

Gambar 2.47 Create New Project


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

4. Klik File > Save Scene. Beri nama Level1


5. Klik Game Object > Create Other > Cube
6. Klik Main Camera, Ubah parameter pada Inspector sbb :
- Background : Pilih warna hitam
- Projection : Pilih Orthographic
- Size : 5
- Transform
Position : x = 0, y = 0 dan z= - 3
Rotation : x = 0, y = 0 dan z = 0
Scale : x = 1. Y = 1 dan z = 1

Gambar 2.48 Pengaturan parameter Main Camera pada Inspector

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

7. Klik Cube, lalu edit nilai pada jendela Inspector sbb :


Transform
Position : x = 0, y = -4 dan z= - 3
Rotation : x = 0, y = 0 dan z = 0
Scale : x = 1. Y = 1 dan z = 1
8. Klik Assets > Create > Material
9. Ubah dengan nama MaterialPlayer, pilih warna kuning
10. Drag MaterialPlayer kedalam Cube
11. Klik GameObject > Create Other > Directional Light
12. Lihat hasilnya pada Game View seperti gambar 2.49

Gambar 2.49 Tampilan pada Game View

Catatan :
Untuk tahap awal, game object cube pada gambar 2.49 diasumsikan sebagai
pesawat player yang dapat di gerakkan ke kanan dan ke kiri. Nanti, pada bagian
akhir tutorial, cube ini akan diganti dengan mesh berbentuk pesawat, sehingga
game tampak lebih real.
Agar cube/pesawat dapat dikontrol oleh keyboard, maka kita harus memanggil
input keyboard melalui script.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Memberikan Script Control pada Cube


1. Klik Assets > Create > Javascript
2. Ubah menjadi ScriptPlayer
3. Drag ScriptPlayer kedalam Cube

Gambar 2.50 memasukkan ScriptPlayer kedalam Cube

4. Klik dua kali, kemudian tuliskan script sebagai berikut :

Gambar 2.51 Membuat ScriptPlayer untuk menggerakan cube ke kiri dan ke kanan

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

5. Coba Play ! apakah cube bergerak ke kiri dan ke kanan ? kalau tidak , klik
cube, kemudian lihat bagian Inspector, lalu ubah Player Speed menjadi 2
(coba ubah-ubah nilainya antara 0 sd 10, lalu tekan Play, bagaimana
hasilnya?) .

Player Speed = 2

Gambar 2.52 Mengubah Player Speed pada Properties Jendela Inspector

6. Bagaimana, apakah cube sudah bisa digerakkan ?


7. Kalau pergerakkan cube kurang halus, maka kita dapat menambahkan script
sbb :
* Time.deltaTime , sehingga script berubah menjadi :

Penambahan script
Time.deltaTime

Gambar 2.53 Penambahan script Time.deltaTime agar pergerakkan menjadi halus dan lebih realistis.

8. Kalau pergerakkan terasa lambat, maka ubah kembali Player Speed menjadi =
10 pada Inspector. Bagaimana ? sudah realistis bukan ?
9. Selanjutnya Klik Component > Physic > Rigidbody
10. Centang Is Kinematic dan Non-aktifkan Use Gravity pada jendela Inspector

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Catatan :
Untuk mengetahui bagaimana Unity mengelola input, baik dari keyboard,
mouse, joystick, dll. Lakukan langkah :
- Klik Edit > Project Setting > Input

Gambar 2.54 Setting Input pada Unity

Perhatikan !
semua yang tercantum dalam Inspector adalah parameter input yang dapat
dipanggil melalui script.

B. Menampilkan Skor dan Nyawa Pemain (Player


Pada bagian ini, kita akan menampilkan skor dan nyawa player yang tersedia.
Langkahnya adalah sebagai berikut :
- Klik dua kali ScriptPlayer.js
- Tambahkan deklarasi variable seperti dibawah ini :

Gambar 2.55. Penambahan deklarasi variabel


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Sehingga script berubah menjadi seperti gambar 2.56

Gambar 2.56 Tampilan script setelah ditambahkan deklarasi variable

- Klik cube, lalu edit pada bagian inspector. Perhatikan, sekarang ada
penambahan variable Player Lives dibawah Player Speed. Ubah nilainya dari
0 menjadi 3. Artinya, nyawa Player di-set menjadi 3.

Gambar 2.57 Men-set nyawa player menjadi 3

- Lalu mengapa variable Player Score tidak muncul ? padahal kita sudah
mendeklarasikannya pada gambar 2.56. Hal ini karena kita
mendeklarasikanya sebagai static var !

var
static var

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Untuk menampilkan skor dan nyawa pada GUI, ikuti langkah sebagai berikut :
- Klik dua kali ScriptPlayer.js
- Tambahkan script sbb :

Sehingga tampilan ScriptPlayer keseluruhan adalah sebagai berikut :

Gambar 2.58 Tampilan keseluruhan PlayerScript.js

Silahkan di-Play, perubahan apa yang terjadi ? Anda akan melihat seperti gambar
2.59, bukan ?
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.58 Tampilan Skor dan Nyawa pada Game View

Permasalahan :
Permasalahan pertama adalah Cube/pesawat hanya dapat bergeser ke kiri dan ke
kanan, bagimana jika kita ingin menggeser ke atas dan ke bawah ? Script apa yang
harus ditambahkan ?
Apabila anda memahami bagaimana cube dapat digeser ke kanan dan ke kiri, maka
dengan mudah kita dapat membuat script agar cube dapat digeser ke atas dan ke
bawah. Caranya adalah panggil input vertikal, lalu beri perintah menggeser cube.
Lebih jelasnya lihat perhatikan script sbb :
// memanggil input keyboard pada sumbu vertical
naik = (PlayerSpeed * Input.GetAxis("Vertical")) * Time.deltaTime ;
// menggerakan player ke atas dan ke bawah
transform.Translate(Vector3.up*naik);

Mudah bukan ?
Sekarang dengan leluasa anda dapat menggerakan cube ke kiri, kanan, atas dan
bawah.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Permasalahan kedua, ketika kita menggeser cube ke kanan sampai melewati area
permainan, maka cube akan hilang, hal in disebabkan karena koordinatnya terus
bergeser. Kasus serupa terjadi juga ketika kita menggeser habis ke kiri, ke atas
maupun ke bawah. Oleh karena itu masalah ini harus dipecahkan, karena akan
membingungkan pemain.
Pemecahannnya adalah sbb :
- Cek pada koordinat berapa ke samping kanan dan kiri (y), atas dan bawah (x) posisi
cube hilang
- Anggap koordinat sudah didapatkan, lalu berikan script tambahan seperti dibawah
ini :

Coba Play sekarang ! apa yang terjadi ? seharusnya cube akan tetap berada pada
area permainan walaupun terus digeser ke kanan, kiri, atas ataupun bawah.!
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

C. Membuat Peluru
Langkah selanjutnya adalah membuat peluru. Peluru dapat dibuat dengan
menggunakan capsule atau sphere. Pada contoh ini peluru yang dibuat
menggunakan capsule.
Langkahnya adalah sebagai berikut :
- Klik Game Object > Create Oher > Capsule
- Ubah pada jendela Inspector sbb :
Transform
Position : x = 0, y = 0 dan z= 0
Rotation : x = 0, y = 0 dan z = 0
Scale : x = 0.2 Y = 0.2 dan z = 0.2
-

Klik Assest > Create > Javascript


Ubah namanya menjadi ScriptPeluru
Drag ScriptPeluru kedalam Capsule di jendela Hierarchy
Edit Script menjadi sbb :

Gambar 2.59 Script Peluru

- Klik Capsule, beri nilai Peluru Speed = 10 pada jendela Inspector. Untuk lebih
jelasnya lihat gambar 2.60

Gambar 2.60a Mengubah Speed Peluru menjadi 10


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

- Klik Component > Physics > Rigidbody


- Lihat perubahan yang terjadi pada jendela Inspector ketika capsule diberi
Physics > Rigidbody.

Jangan dicentang
centang

Gambar 2.60b mengaktifkan Kinematic pada jendela Inspector

- Unchecklist (jangan dicentang) Use Gravity dan checklist (centang) Is


Kinematic, karena pada game 2D ini gerak peluru tidak dipengaruhi
gravitasi walaupun tetap dikontrol oleh script kapan peluru akan
ditembakkan ke arah sumbu Y.
Catatan :
Script untuk peluru hampir sama dengan script untuk menggeser cube ke
atas dan ke bawah. Perbedaannya, pada script peluru tidak memanggil
fungsi input dahulu, sehingga ketika di-play peluru langsung bergerak ke
atas tanpa menunggu input dari keyboard. Perhatikan script pada gambar
2.59 baris per baris !
Permasalahan :
Ketika di-play maka peluru akan terus bergerak sampai koordinat tak hingga.
Hal ini tidak boleh terjadi, karena peluru hanya diperlukan untuk menembak
batu luar angkasa di area layar yang kita setting saja. Oleh karena itu lakukan
langkah sebagai berikut :
- Klik Layout menjad 2 by 3, tujuannya agar kita memiliki jendela Scene View
dan Game View yang terpisah.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Klik, pilih 2 by 3

Gambar 2.61. Mengubah layout/jendela kerja Unity

- Geser Peluru di Scene View keatas arah sumbu Y (+)


- Perhatikan pada koordinat Y = berapa peluru hilang dari area Game View ?
- Kalau langkah anda benar, peluru akan keluar dari area Game View pada
kisaran koordinat Y = 5.5
- Angka ini akan dipakai untuk pengecekkan kondisi sbb :
o Jika peluru > 5.5 maka hancurkan peluru (karena tidak diperlukan lagi)

Drag pada sumbu Y

Perhatikan peluru
tidak Nampak di
koordinat Y = berapa ?

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.61. Tampilan pada Scene View, Game View dan Inspector

- Setelah kita mengetahui peluru tidak nampak di koordinat Y=5.5, maka


buatlah script sebagai berikut :

Script ini memerintahkan kepada program agar peluru dihancurkan (destroy)


jika sampai pada koordinat Y lebih besar atau sama dengan 5.5.
C. Membuat Prefab Peluru
Setelah kita berhasil membuat peluru, selanjutnya adalah kita akan
menggunakan peluru tersebut berulang-ulang saat ditembakkan oleh
pesawat (cube). Oleh karena itu, kita akan membuat peluru tersebut menjadi
prefab.
Langkahnya adalah sebagai berikut :
- Klik Assets > Create > Prefab
- Ubah namanya dari New prefab menjadi PeluruPrefab
- Drag Capsule kedalam PeluruPrefab

drag

- Hapus Capsule karena kita sudah memiliki PeluruPrefab


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

D. Menghubungkan PeluruPrefab dengan Player


Setelah proses pembuatan prefab peluru selesai, permasalahan kita
selanjutnya adalah, bagaimana caranya supaya peluru dapat ditembakkan
ketika ditekan salahsatu tombol di keyboard, misalnya tombol spacebar ?
Solusinya adalah pada ScriptPlayer harus dideklarasikan variable peluru
tersebut, lalu dipanggil dan ditembakkan dengan script ketika spacebar
ditekan ! Proses ini disebut INSTANTIATE.
Langkahnya adalah sbb :
- Buka ScriptPlayer.Js
- Tambahkan script sebagai berikut :

- Klik Cube di Jendela Hierarchy


- Drag PeluruPrefab ke Peluru di Jendela Inspector

drag

Gambar 2.62 Menghubungkan PrefabPeluru ke jendela Inspector pada Game Object Cube
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Langkah berikutnya adalah menambahkan script agar PrefabPeluru tersebut


dapat ditembakkan, langkahnya adalah sbb :
- Tambahkan script untuk memanggil input spacebar lalu menembakkannya.

- Coba Play ! kalau langkah anda benar, peluru akan dapat ditembakkan saat
spacebar ditekan.
- Berikut merupakan tampilan script lengkap PlayerScript.Js

Gambar 2.63 Tampilan PlayerScript sampai tahap instantiate

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

E. Menambahkan Audio Pada Peluru


Saat peluru ditembakkan, kurang lengkap rasanya kalau tidak ada suara peluru.
Langkah memasukkan suara kedalam peluru adalah sebagai berikut :
-

Cari suara format *.wav yang cocok untuk suara tembakan.


Simpan di folder Asset dan sebaiknya buat folder baru dengan nama sound
Klik PeluruPrefab
Klik Component > Audio > Audio Source
Drag sound ke dalam Audio Clip pada jendela Inspector (pada tutorial ini
menggunakan sound dengan nama file laser14.wav

drag

Gambar 2.64 memasukkan audio kedalam PeluruPrefab

- Tekan Play! Sekarang ketika ditekan spacebar untuk menembakkan peluru


maka akan keluar suara. Menarik bukan ?

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

F. Membuat Serangan Musuh (Batu Luar Angkasa)


Sebuah game akan seru kalau ada misi. Misi pada game ini adalah menembak batubatu luar angkasa sebanyak mungkin. Setiap batu yang kena akan mendapat skor
+10. Pemain dianggap berhasil menyelesaikan Level 1 kalau mencapai skor 1000.
Mari kita mulai membuatnya. Pada game ini kita menggunakan game object sphere
untuk batu luar angkasa. Langkahnya adalah sbb :
- Klik Game Object > Create Other > Sphere
- Ubah pada jendela Inspector sbb :
Transform
Position : x = 0, y = 0 dan z= 0
Rotation : x = 0, y = 0 dan z = 0
Scale : x = 1 Y = 1 dan z = 1
-

Klik Assets > Create > Material


Beri nama MaterialBatu
Pilih warna merah, lalu drag MaterialBatu ke dalam Sphere
Perhatikan warna sphere sekarang menjadi merah.

Gambar 2.65 Memasukan material kedalam sphere

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Klik Assets > Create > Javascript


Beri nama ScriptBatu
Drag ScriptBatu ke dalam Sphere pada jendela Hierarchy
Klik dua kali ScriptBatu, buatlah script sebagai berikut :

- Klik sphere, edit Batu Speed menjadi 5 (boleh nilainya diubah 10) pada
jendela Inspector

- Tekan Play ! batu sekarang sudah bergerak menuju ke pesawat.


- Kalau posisi batu (sphere) masih di tengah, maka drag ke posisi sumbu y = 5.5
seperti pada gambar 2.66

Gambar 2.66 mengubah posisi batu (sphere) ke sumbu y=5.5

Masalah :
Persis seperti peluru, kita tidak menginginkan batu terus bergerak setelah
keluar area permainan, karena program akan terus menerus memprosesnya.
Oleh karena itu cek posisi batu ketika keluar dari area layar. Kemudian kita
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

berikan script untuk mengembalikan posisi batu (sphere) ke koordinat semula


ketika sudah melewati area layar permainan.
Perhatikan gambar 2.67

drag

Y = 5.5
Arah gerak batu
(sphere)bol

Y = -5.5

Gambar 2.67 men-drag sphere sampai dapat koordinat seperti gambar 2.68

Gambar 2.68 koordinat sphere ketika keluar area layar di posisi y=-5.5
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Setelah kita mendapatkan


menambahkan script sbb :

koordinat,

maka

langkah

selanjutnya

adalah

Ketika di-play posisi pergerakan batu monoton dalam satu alur lintasan saja. Jelas
dalam sebuah game kondisi ini akan sangat membosankan. Oleh karena itu, kita
perlu menambahkan script agar serangan batu tersebut random/acak posisinya.
Berikut script-nya :

Langkah selanjutnya adalah bagaimana caranya untuk deteksi tumbukan antara


sphere (batu luar angkasa) dengan cube (pesawat) si player ? atau deteksi
tumbukkan antara peluru dengan batu? Sehingga ketika batu mengenai
player(cube), maka nyawa player akan berkurang, begitu juga ketika batu terkena
tembakan peluru , maka batu akan hancur!
Inilah yang disebut collision detection. Selain collision detection, Unity
memudahkan kita dengan memberikan fasilitas tag dalam jendela Inspector untuk
setiap game object. Sehingga setiap game object yang diberi tag dapat dikenali oleh
game object lain.
Lihat gambar 2.69 ketika sphere belum diberi tag

Belum diberi tag

Gambar 2.69 Memberi tag pada game object

- Lalu Klik Untagged > Add Tag


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

- Beri nama batu pada Element 0

Gambar 2.69 memilih tag

- Klik lagi sphere > batu


- Sekarang game object sphere sudah memiliki tag dengan nama batu
- Langkah selanjutnya, buka scriptPeluru.Js di jendela Project. Tambahkan
script sebagai berikut :

- Lalu klik Sphere pada jendela Hierarchy


- pastikan di jendela Inspector, anda memberikan centang pada Is Trigger

centang
Gambar 2.70 memberi tanda centang pada sphere collider
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

- Berikan tanda centang juga pada peluruPrefab (game object peluru) dan
cube (game object batu)

Gambar 2.71 memberi tanda centang pada capsule dan box collider

Coba tekan play ! seharusnya setiap peluru yang ditembakkan mengenai sphere
(batu) maka nilai akan bertambah 10.
Permasalahan :
Seharusnya, selain nilai player bertambah, batu yang terkena tembakan pun hancur.
Sedangkan sekarang tidak..!
Untuk menyelesaikannya, maka lakukan langkah sebagai berikut :
- Buka scriptPeluru.Js

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

- Tambahkan baris script untuk menghancurkan game object setelah script


menambah nilai :
Penambahan script

Sehinggga ketika di-play maka game object batu (sphere) akan hilang/hancur
sewaktu terkena peluru. Kemudian peluru lainnya akan muncul kembali secara
random/acak.
Memberikan Efek Ledakan
Efek ledakkan akan diberikkan ketika peluru mengenai batu, sehingga game tampak
lebih menarik. Langkahnya adalah sebagai berikut :
Klik Game Object > Create Other > Particel System
Ubah namanya menjadi Ledakan di Jendela Inspector
Ubah pada jendela Inspector sbb :
Transform
Position : x = 0, y = 0 dan z= 0
Rotation : x = 0, y = 0 dan z = 0
Scale : x = 1 Y = 1 dan z = 1
-

Berikan nilai seperti pada gambar 2.72 (perhatikan detail nilai-nilai nya)

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Gambar 2.72 Mengatur parameter partikel pada jendela Inspector

Langkah selanjutnya adalah membuat prefab untuk ledakkan.


- Klik Assets > Create > Prefab
- Ubah namanya menjadi ledakanPrefab
- Drag ledakan di jendela Hierarchy kedalam LedakanPrefab di jendela
Project
- Lihat gambar 2.73

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

drag

Gambar 2.73 Men-drag ledakan kedalam ledakanPrefab

Lalu delete ledakan di jendela Hierarchy


Langkah berikutnya adalah instantiate ledakkan terhadap peluruPrefab.
Klik dua kali ScriptPeluru.js
Tambahkan script sebagai berikut :

Penambahan script

- Tekan Play, apa yang terjadi ? Menarik bukan ?


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Menambahkan Audio pada ledakkan


Supaya permainan lebih seru, tambahkan efek suara ketika terjadi ledakkan. Ikuti
langkahnya :
-

Cari suara bom untuk efek ledakkan, simpan di folder assets/sound.


Klik ledakanPrefab
Klik Component > Audio > Audio Source
Drag carbomb.wav ke dalam Audio Clip

drag

Gambar 2.74 Men-drag audio kedalam Audio Clip di Jendela Inspector

- Coba Play !

Mengurangi Nyawa Player dan Membuat Menu Kalah


Pada bagian awal, kita sudah menentukan aturan game yaitu, jika peluru mengenai
player, maka nyawa akan berkurang.
- Buka scriptPlayer.Js
- Tambahkan baris sebagai berikut :

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Penambahan script

OK, coba tekan Play ! lalu coba biarkan batu (sphere) mengenai player (cube)
Masalah :
Nyawa yang diberikan sebanyak 3, sehingga apabila terkena serangan batu sebanyak
tiga kali, seharusnya player dianggap kalah. Yang terjadi sekarang adalah, nilai
nyawa teus berkurang menjadi dari 3 menjadi 2, 1, 0, -1, -2 dst..padahal kita
menginginkan ketika nyawa =0 maka permainan berakhir (game over) !
Solusi :
-

Buat scene baru, klik File > New Scene


Save dengan nama sceneKalah
Buat Script baru, Klik Assets > Create > Javascript
Ubah dengan nama scriptKalah
Edit dengan script sebagai berikut :

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

- Buat game object kosong dengan cara klik Game Object > Create Empty
- Drag scriptKalah di jendela project ke dalam GameObject di jendela
Hierarchy (lihat gambar 2.75)

drag

Scene aktif

Gambar 2.75 insert scriptKalah kedalam empty game Object di sceneKalah

Sebelum melanjutkan, pastikan build setting sebagai berikut :

Gambar 2.76 Build Setting


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Langkahnya adalah :
- Klik File > Build Setting
- Drag level1.unity dan sceneKalah.unity ke Scenes In Build

Nama scene
yang di-load di
script

drag

Gambar 2.78 Mengurutkan scene pada build setting.

Langkah selanjutnya adalah menghubungkan level1 dengan sceneKalah, caranya


adalah :
- Klik dua kali scriptPlayer.js
- Tambahkan script sbb :

Artinya, jika nyawa player kurang atau sama dengan nol, maka load sceneKalah
(coba lihat di - build setting!).
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Membuat Menu Awal


Langkahnya sama ketika membuat menu untuk scene kalah, yaitu sbb :
-

Buat scene baru, klik File > New Scene


Save dengan nama sceneAwal
Buat script baru, Klik Assets > Create > Javascript
Ubah dengan nama scriptAwal
Edit dengan script sebagai berikut :

- Klik Game Object > Create Empty


- Drag ScriptAwal kedalam empty Game Object

drag

Gambar 2.79 men-drag scriptAwal kedalam empty game object

Langkah selanjutnya adalah :


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

- Klik File > Build Setting


- Drag sceneAwal kedalam Build Setting

drag

Gambar 2.80 men-drag sceneAwal kedalam build setting

- Save pekerjaan Anda !

Membuat Menu Menang


Langkahnya sama ketika membuat menu untuk scene kalah, yaitu sbb :
-

Buat scene baru, klik File > New Scene


Save dengan nama sceneMenang
Buat script baru, Klik Assets > Create > Javascript
Ubah dengan nama scriptMenang
Edit dengan script sebagai berikut :

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Klik Game Object > Create Empty


Drag ScriptMenang ke dalam empty Game Object
Klik File>Build Setting
Drag SceneMenang ke dalam Scene In Build

drag

Gambar 2.81 men-drag sceneMenang kedalam build setting

Tambahkan script sbb pada playerscript.Js, Anda mengerti maksudnya bukan ? :

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Langkah terakhir sebelum game di-build..ubah urutan sbb, agar pada saat game
dimainkan, sceneAwal yang di-load terlebih dahulu..!

Ubah urutan scene


dengan cara di-drag,
misalnya sceneAwal didrag dari urutan 2
menjadi urutan 1

Gambar 2.82 Mengurutkan scene yang sesuai kedalam build setting

OK.tutorial utama membuat Game Petualangan Angkasa dianggap selesai. Tahap


berikutnya adalah memoles game ini agar lebih real dan menarik. Ada tiga
komponen yang ditambahkan pada game ini yaitu :
- Penambahan GUI Texture untuk setiap menu;
- Penambahan benda-benda luar angkasa dengan partikel;
- Penggantian model pesawat dari cube menjadi Model Pesawat yang dibuat
di software 3D modeling, dalam contoh ini menggunakan 3D Max.

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Supaya terlihat perbandingannya berikut capture game sebelum di tambahkan


ketiga komponen diatas :

Gambar 2.83 Game sebelum diganti modeling-nya

Gambar 2.84 Game setelah diganti modeling-nya

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Ikuti langkahnya sebagai berikut :


- Buat modeling pesawat di 3D Max atau blender, atau anda dapat mencari
model yang gratis di Internet.
- Export model pesawat menjadi format *.fbx, misalnya SimpelShip.fbx
- Simpan kedalam folder Assets bersama material yang dipakainya.
- Klik Cube, lalu pilih Mesh (ingat kuncinya di mesh ini !) kita akan mengganti
mesh cube menjadi mesh pesawat.
- Ganti cube menjadi polySurface1

Sesuaikan
ukuran
pesawat

Klik untuk
mengganti
mesh

Klik untuk
mengganti
material

Gambar 2.85 penggantian mesh cube menjadi pesawat (polysurface)

- Langkah penting selanjutnya adalah sesuaikan ukuan pesawat.


- Lalu hapus box collider di jendela Inspector denga cara klik kanan>remove
component
Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

- Tambahkan mesh collider dengan cara klik component > physics > mesh
collider. Artinya box collider sudah tidak dipakai lagi diganti menjadi mesh
collider untuk deteksi tumbukkannya, karena obyeknya sudah diganti dari
box (cube) menjadi pesawat.
Urusan mengganti model sudah selesai, tahap selanjutnya yaitu menambahkan
simulasi benda-benda angkasa lainnya dengan partikel. Caranya :
- Klik dua kali scene level1
- Klik Game Object > Create Other > Particel Systems
- Atur parameter pada jendela inspector sbb :

Gambar 2.86 Menambahkan partikel di level1 (area permainan)

- Lihat hasilnya..Menarik bukan ?

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Polesan terakhir adalah menambahkan GUI Texture di setiap scene. Langkahnya


adalah :
- Buat tiga buah gambar di photoshop dengan ukuran 1024 x 768 pixel sebagai
berikut, simpan dalam format *.jpeg.
- Gambar ini hanya contoh saja, Anda dapat membuat versi lain yang lebih
bagus !

Gambar 2.87 Contoh gambar untuk GUI Texture di setiap scene


Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.

Selanjutnya adalah simpan ketiga gambar tersebut di folder Assets. Untuk


memasukkan tekstur kedalam scene, ikuti langkah sbb :
- Klik dua kali sceneAwal
- Klik Game Object > Create Other > GUI Texture

Klik disini

Pilih
texture
awal.jpeg

Gambar 2.88 Menambahkan GUI Texture

- Klik Texture di Jendela inspector, lalu pilih file awal.jpeg.


- Ubah scale menjadi x = 1 dan y = 1
- Selesai !

Modul Membuat Game dengan Unity3D Engine - copyright Deni Kurnia.