Anda di halaman 1dari 128

1

KATA PENGANTAR

Alhamdulillah, segala puji bagi Allah swt ysng telah memberikan


kelancaran di dalam pembuatan buku ini, dan juga tak lupa kepada
segenap pihak yang telah membantu terbitnya buku ini, mulai dari
proses editing, processing, dan publishing.

Buku ini diperuntukkan untuk segala umur, baik itu untuk anak-
anak, remaja, maupun orang dewasa, dikarenakan buku ini membahas
mengenai pembuatan Game 3d yang mana Game 3d sangat digemari
sekali dimasyarakat sekarang ini, seperti halnya game “Devil May
Cry”, “Final Fantasy” dan yang lainnya yang menggunakan basis 3d.

Tujuan dari pembuatan buku ini yaitu untuk menambah


pengetahuan mengenai dunia game terutama game 3d, game 2d
dengan game 3d itu sungguh berbeda dari proses input character dan
proses pemberian scriptnya sungguh berbeda, dan cenderung lebih
komplex game 3d karena membutuhkan Graphic yang besar, dan
untuk Komputer harus memiliki VGA yang cukup yaitu minimal 2Gb
karena jika kurang dari itu akan mengakibatkan lambatnya proses
eksekusi program saat dicompile, dan juga dapat berakibat Hank-nya
computer/laptop. Maka VGA itu sungguh sangat penting.

Segala kritik dan saran dari pembaca semua sangat kami


harapkan untuk proses evaluasi yang lebih lanjut pada buku ini, maka
dari itu mohon partisipasinya dengan mengirimkan komentar ke
alamat E-mail berikut ini:

Yanuarm@hotmail.com

Author

(Yanuar Mukhammad)

2
DAFTAR ISI

1. Pengenalan Unity 3d............................................................................4


2. Proses instalasi Software...............................................................12
3. Pengenalan mengenai Script.............................................................15
4. Pembuatan Character dan Scriptnya...............................................24
5. Pembuatan Script tembakan............................................................38
6. Pembuatan Object musuh................................................................47
7. Pembuatan Script Arah hadapan musuh.........................................51
8. Pembuatan Script Tembakan Musuh...............................................55
9. Pembuatan Explode Tembakan.......................................................61
10. Pembuatan Script Destroy Object Musuh..................................64
11. Pembuatan Terrain..........................................................................65
12. Menginputkan Background Langit...................................................78
13. Pembuatan Timer pada game.........................................................82
14. Pembuatan GoTo Next Level jika berada di suatu posisi........91
15. Membuat Animasi...........................................................................97
16. Pembuatan Main Menu....................................................................104
17. Pembuatan HealthBar.................................................................119
18. About Author...............................................................................127
19. Daftar Pustaka.............................................................................128

3
1. Pengenalan Unity 3D

Unity 3D adalah sebuah software yang digunakan untuk


beberapa macam hal, seperti untuk membuat game 3D maupun object
animasi. Unity 3D memiliki dua jenis type, ada yang menggunakan
licensi freeware dan ada juga yang berbayar, jadi para pemabaca yan
ingin menggunakan software tersebut tidak usah khawatir, karena
dapat menggunakan software yang freeware atau tidak berabayar,
namun fitur yang disediakan jelas berbeda terutama komponen
standart asset yang ada, jika yang berbayar maka terdapat
komponen complete, terdapat komponen Shooter, komponen Pohon
yang lengkap dan terdapat object tambahan seperti pesawat, batu,
dan lain-lain.
Jadi pada Unity 3D terdapat dua jenis permainan game yang
dapat dibuat, bagi para game development yang menyukai Script atau
bahasa pemprograman, maka dapat menggunakan script sebagai
controller objectnya, atau kalau itu kesulitan dengan bahasa Sciptnya
maka di Unity 3D terdapat suatu bantuan bagi para Game
Development yang tidak menyukai script, bisa menggunakan fitur-
fitur pada Standart Asset yang ada, tapi jika ingin tanpa Script maka
haruslah memiliki Softwar Unity 3D yang berbayar, artinya pada
Software yang freeware hanya disediakan beberapa standart asset
yang utama, tanpa ada component tambahan, namun pada Unity 3D
yang berbayar terdapat component yang complete sehingga dapat
langsung inputkan ke layar kerja tanpa harus membuat Scriptnya,
karena Scriptnya sudah ada di form tersendiri, jadi tinggal masukkan
ke object terkait maka akan jadilah sebuah perintah.
Namun disini penulis menerangkan bagaimana cara membuat
sebuah game 3D dengan menggunakan Script karena dengan mengolah

4
Script kita bisa membuat berbagai macam perintah pada object yang
diinginkan, dan juga dengan script kita bisa berada didunia
pemprograman yang unik dan menarik, para 3D Game Maker pasti
lebih menyukai dengan bahasa pemprograman dari pada hanya
melakukan input object ke layar, maka dari itu untuk lebih menarik
dan menantang penulis memilih menggunakan script sebagai
controllernya
Karena dirasa lebih sulit dari hanya sekedar melakukan input script
kedalam object.

Untuk mengenal lebih jauh tentang Unity 3D maka akan


dijelaskan bagian per bagian yang ada di Unity 3D, berikut adalah
tampilan layar kerja dari Unity 3D.

Untuk lebih jelasnya akan dibahas mendetail mengenai fitur-


fitur dan apa saja yang ada pada Unity 3D, yang mengenai layar
kerja, layar kamera dan tempat untuk melakukan pembuatan script
yang akan digunakan untuk controller object.

5
1. Formating Tools

Menu File
-Untuk membuat File Unity baru
-Untuk membuka File Unity
-Untuk menyimpan File Unity
-Untuk menyimpan File Unity dengan nama
-Untuk membuat Project baru
-Untuk membuka Project
-Untuk menyimpan Project
-Untuk menyatukan Scene yang ada
-Untuk menyatukan Scene dan compile
-Untuk keluar dari Program

Menu Edit
-Untuk kembali ke keadaan sebelumnya
-Untuk kembali ke keadaan setelahnya
-Untuk memotong object
-Untuk meng-Copy object
-Untuk mem-paste object
-Untuk melakukan duplikat object
-Untuk menghilangkan object
-Untuk memilih Frame
-Untuk menemukan object
-Untuk memilih semua object
-Untuk men-setting layar
-Untuk menjalankan object
- Untuk men-stop permainan

-Untuk Melakukan identifikasi Tags


-Untuk men-setting Render

6
Menu Asset
-Untuk mengimport Asset ulang
-Untuk membuat Script, Prefab, dll

-Untuk melakukan import Asset


-Me-referesh
-Untuk mengimport Package
-Untuk mengexport Package

-Untuk melakukan penyatuan


Project dgn Script

Menu GameObject
-Membuat Empty Object
-Untuk membuat object dan GUI

Menu Component
-Untuk membuat Mesh
-Untuk membuat Partile object
-Untuk menambahkan komponen pada object
-Untuk menambahkan Audio
-Untuk melakukan Rendering
-Untuk melakukan input Script tanpa harus membuat
-Untuk input componen tanpa harus membuat
-Untuk input camera Control

7
Menu Terrain
-Untuk membuat Background Tanah

-Untuk melakukan Settingan Resolusi Terrain

Menu Window
-

-Untuk membuat animasi Object

Itu semua adalah komponen yang ada didalam Formatting Tools


yang mana sangat penting sekali didalam proses pembuatan suatu
game, yang memerlukan banyak proses editting dan setting, maka
dari itu perlunya untuk mengetahui masing-masing fungsi tersebut.
Dan yang telah dijabarkan diatas adalah fungsi-fungsi umum yang
biasa digunakan didalam proses Editting Game, untuk menu yang tidak
di jelaskan diatas hanyalah faktor pendukung, jadi jika penasaran
dengan fungsi menu yang tidak dijelaskan diatas, maka dapat
menemukannya sendiri dengan cara melakukan identifikasi dengan
mengklik pada menu tersebut.
8
1 2 3 4

1. Untuk memindahkan posisi camera / sudut pandang


2. Untuk memindahkan object ke tempat lain
3. Untuk melakukan rotasi object
4. Untuk melakukan Resize pada object

1 2 3 4 5 6 7

1. Untuk melihat layar editor


2. Untuk mengubah tampilan layar
3. Untuk mengubah warna dan pencahayaan layar
4. Untuk melihat hasil dari layar editor
5. Untuk mengaktifkan Point Light / pencahayaan
6. Untuk mengaktifkan backround
7. Untuk mengaktifkan Audio

9
1. Untuk melakukan input component
2. Untuk melakukan editting object dan penambahan script
3. Untuk membuat component Support yang berupa Script atau file-
file pendukung object yang akan diikutsertakan saat dimainkan

1 2

1. Untuk mengaktifkan/menon-aktifkan Layers


2. Untuk mengubah posisi Layar Editor dan Layar Hasil

1 2 3

1. Untuk Menjalankan Layar Editor


2. Untuk melakukan Pause saat Running
3. Untuk melihat hasil akhir Runing

1. Layar Editor
2. Untuk menampilkan pesan error saat Running

10
1 2

1. Jendela Console akan aktif jika terdapat suatu error saat Running
program, maka dari itu dapat dilihat dengan klik pada error report
terkait agar didapatkan definisi error pada bagian definisi

2. Error Definition, yaitu untuk menjelaskan bagaimana error itu


terjadi dan apa yang harus dilakukan oleh user untuk merepair-nya

2. Proses Instalasi Software

Pada proses instalasi di sini akan diterangkan bagaimana cara


melakukan instalasi software Unity 3D pada komputer/laptop, hal
yang perlu diperhatikan oleh pengguna yaitu:

RAM minimal 2 Gb
VGA minimal 2 Gb
Processor minimal pentium 4 (untuk intel)
Menggunakan Microsoft windows XP , 7 atau Linux
Hard Disk Space minimal 1,3 Gb

11
Pada tahap awal untuk melakukan installasi, anda dapat
menggunakan software yang ada di CD ini, atau dapat pula
mendownload master software Unity 3D di www.unity3d.com , Anda
dapat memilih mau menggunakan yang freeware atau yang berbayar.
Dan pembahasan mengenai itu telah dibahas sebelumnya.
Klik dua kali pada pada contoh ini penulis
menggunaka Unity 3D 3.3.0 sebagai contohnya. Maka akan muncu
jendela seperti

Klik tombol “Next >” untuk melanjutkan

12
Pada License Agreement, untuk menyetuji terhadap Syarat pada
Unity 3D maka klik tombol “I Agree” untuk melanjutkannya kalau
tidak menyetuji klik “cancel” untuk membatalkannya

Pada Choose Component maka lakukanlah “check” pada ketiga item


karena itu merupakan Fitur tambahan yang akan diinstall
mendampingi fitur utama

13
Pada lokasi peng-installan bisa dilakukan dimanapun yang
user inginkan, baik itu di Drive C > Program Files > Unity (default)
atau bisa di Drive D: dan yang lainnya, setelah itu klik “Install” untuk
memulai proses Instalasi Software Unity 3D

Setelah selesai proses installasi, maka buka-lah software


tersebut dengan cara melakukan double klik pada “Short Cut” di
desktop, dan Unity 3D akhirnya siap digunakan.

------------000000-----------

14
3. Pengenalan Mengenai Script

Script adalah suatu bahasa yang digunakan untuk


melakukan perintah pada object tertentu, atau dengan kata lain
bahasa pemprogamannya Unity 3D.

Perlu diketahui bahwa bahasa pemprogama dari Unity 3D


adalah case sensitive, atau kalau lebih tepat sangat sensitive sekali,
jadi misalnya ada suatu pernyataan perintah yang kurang titik atau
koma, itu akan berakibat error, bahkan kurang definisi object terkait
juga akan menyebabkan error, maka dari itu harus sangat
diperhatikan, tapi tidak usah dikhawatirkan, karena pada saat terjadi
error report akan disertai juga definisi mengenai error tersebut,
jadi user dapat mengetahui kesalahan atau kekurangan didalam
menuliskan script tersebut.

Berikut adalah cara melakukan iniput Script Java kedalam


Unity 3D, namun belum dimasukkan kedalam suatu object.

Java Script

15
Langkah awal dalam pembuatan Script yaitu dengan klik
kanan pada jendela “project” maka akan ditampilkan seperti gambar
diatas, dimana memang banyak pilihan ada C Sharp Script, Java
Script, Boo Script, GUI dst.

Pada buku ini hanya berfokus kepada bahasa yang biasa


digunakan didalam Unity 3D, terutama untuk membuat suatu game,
yaitu dengan bahasa Java Script, namun akan ada contoh mengenai
penggunaan dari C Sharp Script pada bab terkait. Bahasa java script
disini memang bukanlah seperti bahasa java script yang ada untuk
membuat website atau seperti bahasa java yang lainnya, dimana
bahasa Java Script disini berbeda dengan bahasa java pada umumnya
seperti pernggunaan bahasa Java SE, java ME dsb. Maka dari itu
perlunya mengetahui bahasa java script namun tidak seperti bahasa
java script pada umumnya, namun struktur dari perintahnya ada
kemiripan dengan bahasa java script pada umumnya.

Berikut adalah cara untuk menuliskan bahasa java script


pada jendela script.

16
Untuk perbedaan antara jendela Java Script dan C Sharp
Script dapat dilihat dari struktruralnya berikut:

1. Jendela pada Java Script

2. Jendela pada C Sharp Script

Untuk lebih jelas dari penggunaanya akan dijelaskan pada


Bab Pembuatan Menu Item, penggunaan antara C Sharp Script dan
Java Script memang berbeda, Java Script digunakan untuk

17
melakukan input perintah kedalam suatu object tertentu, yang di
tuangkan kedalam bahasa Java, namun pada C Sharp script yaitu
bahasa yang digunakan untuk melakukan Syncronisasi terhadap
object luar, jadi pada perintahnya diberikan fungsi:

Using UnityEngine;

Using System.Collection;

Artinya C Sharp Script membutuhkan tambahan data yang ada


pada UnityEngine dan System.Collection, jadi jika data dari pihak
luar atau data import tersebut tidak ada atau belum Syncron maka
dapat dipastikan akan terjadi kesalahan atau Error report.

Itulah sekilas perbedaan antara Java Script denga C Sharp


Script yang mana memang keduanya penggunaannya sungguh berbeda,
maka dari itu User harus jeli dan teliti didalam menentukan media
untuk menuliskan perintah, bisa itu lewat Java Scrpit atau C Sharp
Script karena kedua bahasa itu yang akan sering digunakan didalam
pembuatan game 3D.

Untuk selanjutnya akan dijelaskan mengenai bahasa Java script


yang digunaakan dan cara penggunaannya, sengaja pada buku ini tidak
dijabarkan mengenai semua fungsi yang ada pada Java Script Unity
3D karena bahasa Java Script yang ada pada Unity 3D sangat banyak
dengan variasi yang sungguh rumit, jadi pembaca dapat
mengembangkan sendiri mengenai bahasa Java Script tersebut, yang
terpenting yaitu dapat mengetahui mengenai fungsi perintah yang
digunakan. Disini akan dijelaskan mengenai fungsi-fungsi umum yang
biasa digunakan atau perintah-perintah umum didalam menuliskan
suatu perintah yang berbasis Java Script.

18
NO SCRIPT DEFINISI

1 function Update() Untuk mengeksekusi perintah yang selalu


berubah sesuai kondisi
2 function OnCollisionEnter() Untuk mengeksekusi perintah pada
object yang akan bertabrakan atau
bersentuhan dengan object lain
3 function OnTriggerEnter() Untuk mendeteksi benturan saat check
box is trigger diaktifkan
4 function Start() Untuk melakukan eksekusi perintah pada
saat Running dijalankan
5 function OnGUI() Untuk membuat GUI dan perintah-
perintah eksekusinya
6 public class ObjectMenu : Mendefinisikan bahwa perintah yang
MonoBehaviour dimasukkan berupa C Sharp Script

Itulah beberapa fungsi yang biasa digunakan didalam


pembuatan game 3d, yang mana masing-masing fungsi tersebut
mewakili suatu perintah yang berbeda, sehingga harus mengetahui
dengan betul apa yang diinginkan oleh user terhadap object tersebut,
fungsi-fungsi diatas sangatlah penting dalam pembuatan suatu
perintah object, dan harus mengetahui bagaimana cara penggunaan
dan cara kerja fungsi-fungsi tersebut, bisa dikatakan fungsi
tersebut adalah pintunya perintah, jadi jika salah memasukkan fungsi
maka salah pula perintah yang diberikan.

Untuk Contoh penggunaan masing-masing fungsi tersebut akan


dijelaskan pada masing-masing bab terkait, karena buku ini hanya
menjelaskan tentang bagaimana cara membuat game maka akan
disesuaikan dengan contoh didalam pembuatan game 3D.

Selain menu-menu fungsi tersebut, terdapat pula unsur-unsur


lain yang harus diketahui, yaitu mengenai perintah khusus, atau
bahasa yang menjadikan perintah tersebut berjalan, dalam hal ini

19
akan dijelaskan mengenai beberapa hal yang sering sekali ditemui
didalam pembuatan Script java, tanpa bahasa pendukung maka
fungsi-fungsi tidak dapat berjalan atau dengan kata lain kekosongan
perintah. Jadi bahasa juga sangat penting sekali untuk dipahami dan
dimengerti penggunaanya selain mengetahui fungsi-fungsi, karena
fungsi hanyalah sebuah pintu pemberi jalan, dan yang mengisi adalah
bahasa-bahasa perintah yang berbasis java.

Berikut adalah beberapa macam perintah khusus yang seting


sekali digunakan didalam pembuatan game.

NO SCRIPT DEFINISI
1 Instantiate Untuk menciptakan sebuah object yang
akan dieksekusi pada titik tertentu
2 Destroy() Untuk menghapus object yang
didefinisikan
3 if() Untuk melakukan perumpaman atau
percabangan
4 else if() Untuk melakukan perumpamaan lain jika
yang pertama bernilai salah
5 Find() Untuk mencari object yang akan
dieksekusi
6 Transform Untuk melakukan input data pada menu
transform suatu object
7 Rigidbody Untuk memberikan tarikan gravitasi
pada object
8 Var Untuk mendefinisikan sebuah object
yang akan dieksekusi
9 static var Untuk mendefinisikan sebuah object
agar bersifat tetap (nilai tidak berubah)
10 switch() Untuk melakukan pergantian pada
perulangan yang lebih dari satu dengan
menggunakan perumpamaan case

20
11 Case Untuk melakukan perumpamaan (jika)
lebih dari dua
12 guiTexture Melakukan input data pada GUI di
bagian texturnya
13 Break Untuk memberikan waktu tenggang atau
waktu henti
14 Int Untuk mendefinisikan bahwa object
tersebut integer (angka)
15 String Untuk mendefinisikan bahwa object
tersebut berupa String (kata)
16 AddForce Untuk melakukan suatu perubahan
terkait posisi pada suatu titik
17 LoadLevel() Untuk memanggil unity Scene yang
tersimpan di Built setting
18 GUI Suatu text yang akan dieksekusi selama
running dan letaknya tidak berubah
19 Rotation Untuk melakukan rotation dengan titik
tertentu
20 Position Untuk mengubah posisi dengan titik
koordinat tertentu
21 Forward Untuk melakukan perubahan posisi atau
perpindahan object yang mengarah
kedepan
22 DeltaTime Mendefinisikan perintah time dan
mengisi nilai default pada time
23 Quaternion Untuk mendeklarasikan bagian suatu
object, atau object tertentu mengenai
identitas, posisi dll
24 LookRotation Melihat perubahan posisi suatu object
tertentu
25 Identity Melakukan perintah identifikasi object,
bisa berupa nama, atau identitas yg lain
26 Vector3 Untuk melakukan pendefinisian posisi di
suatu titik
27 Application Untuk memanggil suatu perintah
eksekusi seperti Quit, LoadLevel() dll.

21
28 Button Untuk membuat object button

29 Box Untuk membuat object Box

30 Rect Untuk membuat object rectangle (kotak)

31 “...........” Untuk memberikan pernyataan yang


menjadi output hasil
32 {} Untuk mengelompokkan perintah yang
akan dieksekusi
33 ; (titik koma) Untuk mengakhiri suatu perintah

34 : (titik dua) Untuk memberikan sub perintah

35 //................ Untuk memasukkan pernyataan


sebeanyak satu kalimat
36 /*...............*/ Untuk memasukkan pernyataan lebih
dari satu kalimat
37 InvokeRepeating Untuk melakukan perulangan pada
function tertentu
38 Function....(........) Untuk mengaktifkan function buatan
yang telah dibuat sebelumnya
39 -= Melakukan pengurarang
+= Melakukan penambahan
40 < Kurang dari
> Lebih dari
41 Texture2D Untuk memberikan object yang
bertexture 2D
42 Name Untuk mendefinisikan atau menginput
sebuah nama suatu object atau object
target
43 GameObject Untuk mendefinisikan object pelaku
atau object yang dikendalikan
44 Collision Untuk mendefinisikan object yang akan
berbenturan

22
45 Float Untuk memasukan suatu nilai dengan
tipe integer pada satu object
46 GetButtonDown() Melakukan eksekusi saat tombol arrow
down ditekan
47 OnMouseDown() Melakukan eksekusi pada saat mouse
mouse diturunkan
48 Debug.Log() Untuk mengeksekusi perintah baik itu
string atau fungsi variabel
49 Target.position Untuk mendeteksi object target pada
posisi tertentu
50 Enabled Mengaktifkan suatu perintah jika
bernilai true, jika bernilai false maka
menonaktifkan perintah
51 Translate Untuk mendefinisikan suatu posisi
target
52 Input.GetAxis Untuk memasukkan perintah input pada
keyboard

Itulah beberapa dari bahasa Java Script yang biasa digunakan


didalam pembuatan game 3D, sehingga jika script tersebut dapat
dipahami dengan baik dan mengetahui kinerja perintahnya dengan
benar, maka dapat dengan mudah memakainya dengan disesuaikan
dengan keinginan.

Perlu diperhatikan mengenai sistem penulisan script di atas, ada


yang menggunakan awalan huruf besar dan adapula yang menggunakan
huruf kecil, lakukanlah penulisan script seperti yang tertera di atas,
karena jika penulisan salah sedikit yaitu kesalahan pada awalan huruf
maka akan berakibat error atau program tidak mau berjalan. Maka
dari itu perlu diperhatikan mengenai penulisan awal kata, karena
bahasa Java Script pada Unity 3D ini bersifat Case Sensitive.

23
4. Membuat Object Sebagai Character

Pada pembahasan kali ini, akan dijelaskan mengenai bagaimana


membuat suatu tokoh yang akan digunakan sebagai controller dari
pihak user, yang akan melakukan langkah maju jika ditekan tombol
arrow up , mundur jika ditekan arrow down dan ke kanan/kiri jika
ditekan arrow Right/Left.

Membuat suatu tokoh karakter yang akan digunakan didalam


game 3D memiliki dua jenis atau dua macam, yang pertama yaitu
tokoh karakter yang menggunakan bentuk seperti orang, kubus, ular,
dsb. Dan yang kedua yaitu membuat karakter dengan tanpa bentuk,
artinya karakter yang akan dimainkan hanya berupa camera yang
berjalan namun dapat melakukan tembakan dan serangan, seperti
halnya permainan 3D yaitu “Counter Strike”, “Call of Duty” biasanya
yang bergenre FPS atau Shooter, yang menggunakan karakter bentuk
seperti halnya “Final Fantasy”, “Devil May Cry” dsb.

Pada kali ini akan dijelaskan mengenai pembuatan character


yang menggunakan object bentuk dan object camera, jadi kedua hal
tersebuat akan coba dijelaskan secara mendetail mengenai cara
pembuatan dan cara pemberian scriptnya. Untuk yang menggunakan
object rupa/bentuk sebagai pelaku utamanya diperlukan suatu
kreatifitas didalam membuatnya, didalam proses pembuatannya
membutuhkan bantuan software lain seperti 3DSMax, AutoCAD, dll.
Yang sesudahnya diexport kedalam Unity 3D. Namun pada penjelasan
mengenai pembuatan object rupa disini penulis sengaja menggunakan
object yang sederhana yaitu sebuah bola.

24
A. Membuat Object Character Dengan Bentuk

Untuk membuat suatu object yag akan digunakan sebagai object


karakter haruslah memiliki bentuk yang dominan, artinya memiliki
bentuk yang dapat terlihat sebagai karakter tokoh untuk sebagai
pelaku, jadi supaya hasilnya bagus haruslah didukung dengan
software lain untuk didesain, jika tidak bisa membuat character
tokoh dengan bentuk seperti orang atau mobil dsb. Bisa juga
membuat game sederhana yaitu dengan karakter tokoh berupa bola
atau kubus.

Untuk contoh yang digunakan disini yaitu menggunakan karakter


bola yang dapat dikendalikan arah lajunya menggunakan tombol. Ini
hanyalah sebuah contoh sederhana, jadi perlu pengembangan lebih
lanjut untuk bisa membuat sebuah game yang bagus.

Berikut cara membuat sebuah bola di layar Unity 3D

Object Bola

25
Object Sphere menu transform

Untuk melakukan editting position, dapat menggunakan


menu transform, yang mana dapat pula menggunakan menu yang
memerlukan dragging and clicking pada mouse yaitu menggunaka menu
item berikut:

Posisikanlah object sesuai yang diinginkan agar dapat


tampak jelas di camera hasil, berikut adalah camera hasil dan
objectnya:

Object Camera

Object Sphere

Layar Hasil

26
Setelah membuat sebuah object dan sudah diposisikan
terlihat di camera, selanjutnya membuat landasan object agar
object tersebut dapat terlihat berjalan disebuah dataran, dataran
ini dibuat dengan menggunakan object cube yang diperlebar
luasannya sehingga tampak seperti dataran.

Point Light

Object Cube

Object Sphere

Layar hasil

Pada gambar tersebut terdapat Point light yang mana digunakan


untuk memberikan pencahayaan pada object, Point light ini dapat
diposisi sesuai keinginan, bisa diperlebar jangkauan dari sinarnya
maupun merubah posisi baik itu move atau rotate, untuk lebih
mempermudah memposisikan point light pada suatu object, baiknya
melakuka copy paste titik transform pada object target ke point

27
light, sehinga mendapatkan posisi yang tepat secara cepat. Berikut
cara membuat point light pada layar Unity 3D.

Object Point Light

Setelah semuanya selesai dimasukkan kedalam layar, maka


tahap selanjutnya yaitu memberikan script ke pada object Sphere
atau bola tersebut agar dapat melakukan pergerakan saat ditekan
tombol arrow, maka dari itu yang pertama kali harus dilakukan yaitu
membuat java script, sebagaimana yang telah diterangkan
sebelumnya, maka akan nampak jendela java Script dengan memilih
pilihan java script:

28
Kemudian tuliskan script pada layar java script seperti berikut
ini, agar didapat suatu pergerakan dari bola tersebut, jangan lupa
beri nama terlebuh dahulu file java script tersebut, di contoh ini
diberi nama “Controller”.

var speed = 3.0; // memasukkan nilai dan mendeklarasikan speed


var rotateSpeed = 3.0; // memasukkan nilai dan mendeklarasikan rotateSpeed
function update()
{
var controller : CharacterController = GetComponent(CharacterController);
// untuk melakukan identifikasi object
transform.Rotate(0, Input.GetAxis (“Horizontal”) * rotateSpeed, 0);
//untuk berjalan horisontal
var forward = transform.TransformDirection(Vector3.forward);
var curSpeed = speed * Input.GetAxis(“Vertical”);
//untuk melakukan locatan
controller.SimpleMove(forward * curSpeed);
//memberikan nilai curSpeed
}
#script RequireComponent(CharacterController)

29
Setelah menuliskan script tersebut di jendela Java
Script, maka langkah selanjutnya yaitu memasukkan script tersebut
ke object target. Proses pemasukkan script ke object dapat
dilakukan dengan dua cara yaitu

1. Memasukkan Script ke object dengan cara melakukan drag and


drop pada text java script tersebut ke object yang terdapat di
layar berikut adalah penjelasan dengan menggunakan gambar.

Sehingga akan nampak Script yang bernama “Controller” yang


ada didalam menu inspector object target.

30
2. Memasukkan Script Ke object target dengan melakukan drag and
drop pada jendela inspector object target , namun sebelum
melakukan drag and drop, terlebih dahulu lakukan seleksi atau
pemilihan object dengan cara melakukan “click” satu kali pada
object target agar didapat jendela inspector-nya. Berikut adalah
gambar mengenai cara tersebut.

Satu hal yang harus dilakukan sebelum melakukan Running File,


yaitu melakukan penambahan input gravitasi dengan cara “klik satu
kali” pada object target kemudian pilih Component pada tools,
terakhir pilih rigidbody, berikut adalah penjelasan dengan gambar.

31
Sehingga nampak pada jendela inspector yaitu menu item
rigidbody yang terpadang didalam object target, agar object target
mengalami gravitasi ke arah bawah sehingga membentur daratan yang
terbuat dari cube, dan tidak mengambang.

Jika ingin merubah kecepatan gravitasi suatu object target


maka dapat dilakukan perubahan angka pada pilihan Mass yang angka
Defaultnya yaitu 1 , jika ingin dipercepat maka lakukanlah
penambahan angka menjadi > 1, atau jika ingin memperlambat
lakukanlah pengurangan angka menjadi < 1, karena jika massa suatu
benda besar maka tarikan gravitasi juga akan semakin besar sehingga
kecepatan gravitasi suatu benda semakin besar

32
Untuk melihat hasilnya, dapat dilihat dengan cara melakukan
running, cara termudah didalam proses Running yaitu dengan
menggunakan tombol berikut:

Tombol Running

Klik satu kali pada button tersebut maka akan terlihat layar
hasil atau layar game seperti pada gambar berikut.

33
B. Membuat Object Character Dengan Camera

Membuat character dengan menggunakan object camera


adalah salah satu cara untuk memberikan nuansa seakan-akan user-
lah yang tengah melakukan aktifitas pada game tersebut, contoh dari
game 3d yang menggunakan object camera yaitu “Counter Strike”,
“Call Of Duty”, dll, kebanyakan dari game yang menggunaka object
camera yaitu yang menggunakan genre Shooter atau FPS, karena
lebih mengena pada pemain yang sedang melakukan permainan
tersebut.

Proses pembuatan dari character game object menggunakan


camera ini lebih mudah dari pada menggunakan object bentuk yang
terlebih dahulu membuat bentuk untuk membuat suatu object
character, namun pada Caharcter object menggunakan camera tidak
diperlukan suatu bentuk yang akan dikendalikan dilayar, dan juga
tidak perlu menggunakan Java script karena pad Unity 3D telah
disediakan suatu pilihan untuk melakukan input character engan
menggunakan camera sebagai pelaku utama dan sumber pengendalian
pemain, maka dari itu pembuatannya hanya memerlukan waktu sedikit,
karena hanya perlu melakukan drag and drop dari pilihan ke layar
editor atau layar Scene.

Namun sebelumnya membuat dahulu object cube sebagai


object dasar untuk dijadikan ground atau daratan untuk menjadikan
tempat berdiri dan berjalannya camera saat dikendalikan, seperti
yang telah diterangkan saat membuat object character menggunakan
object rupa sedagai sumber pengendalian

34
Berikut adalah cara untuk membuka pilihan object Camera
sebagai object pelaku utama yang akan dikendalikan oleh pemain.
Pertama carilah folder “Standart Asset” pada jendela project lalu
bukalah folder tersebut sehingga nampak jelas component yang ada
didalamnya

Pilihlah Folder “Standart Asset” kemudian terlihat Folder


“Character Controller”, klik juga pada Folder tersebut agar terlihat
seluruh componentyang ada di Folder “Character Controller”
tersebut.

Setelah nampak jelas component yang ada didalam Folder


“Chacter Controller” kemudian pilihlah prefab “First Person
Controller” yang terdapat didalam folder tersebut

35
Setelah prefab “First Person Controller” tersebut terseleksi,
maka lakukanlah drag and drop ke layar editor, sehingga akan nampak
seperti pada gambar berikut.

Setelah melakukan drag and drop pada prefab tersebut, maka


pada jendela Hierarchy akan terseleksi object tersebut, itu artinya
sebuah object camera telah terbuat di layar editor.

36
Untuk melihat hasilnya, dapat dilihat dengan
cara melakukan running, cara termudah didalam proses Running yaitu
dengan menggunakan tombol berikut:

Tombol Running

Klik satu kali pada button tersebut maka akan terlihat layar
hasil atau layar game seperti pada gambar berikut.

Running Report

Setelah nampak jendela Running Report maka Lakukanlah


gerakan dengan menekan tombol arrow pada keyboard dan mengubah
fokus pandangan dengan menggerakkan cursor dengan menggunakan
mouse, maka character object camera telah terbuat.

37
5. Pembuatan Tembakan Pada Object Character

Pembuatan object character yang telah dibuat sebelumnya


belum lengkap kalau object tersebut belum memiliki suatu tembakan
atau pelengkap lain yang dapat memunculkan ketertarikan akan game
tersebut, maka dari itu suatu game biasa memberikan keunikan pada
chacracter object yang dikendalikan oleh user seperti melakukan
tembakan, pukulan, loncatan dan lain-lain

Disini akan dijelaskan mengenai pembuatan peluru yang akan


digunakan untuk melakukan tembakan saat tombol “space” pada
keyboard ditekan, saat tombol “space” ditekan maka akan keluar
sebuah bola yang dianggap sebagai sebuah peluru, yang menggelinding
searah horisontal, yang mana jika object peluru tersebut sudah
menjuhi object musuh maka object pelurutersebut akan otomatis
menghilang, karena jika tidak hilang akan mengakibatkan penumpukan
object pada area game sehingga akan megakibatkan lambatnya proses
eksekusi pada program, yang biasanya disertakan dengan “Blue
Screen” atau terjadi Error pada computer, itulah tujuan dibuanya
suatu perintah yang digunakan untuk menghilangkan object secara
otomatis.

Pada pembahasan kali ini, penulis sengaja memberikan contoh


pada object character dengan menggunakan camera, dan tidak
menjelaskan mengenai pemberian object tembakan pada character
yang menggunakan bentuk, karena untuk yang pemberian object
tembakan pada character yang menggunakan bentuk akan dibahas
pada bab pemberian object tembakan pada musuh jadi pada bab
tersebut akan sama langkah kerjanya dengan pemberian object
tembakan pada character bentuk, untuk user yang ingin menggunakan
object bentuk sebagai character yang dapat mengeluarkan tembakan,
dapat melakukannya dengan meniru script dan langkah kerja pada bab
8, yang menerangkan tentang object musuh.
38
Untuk yang pertama kali harus dilakukan didalam pemberian
tembakan pada object character yang menggunakan camera, yaitu
membuat sebuah object tembakan terebih dahulu, disini penulis
mencontohkan dengan memberikan object Sphere sebagai object
tembakan, berikut gambarnya

Setelah itu membuat Prefab untuk menampung object


tembakan tersebut, Prefab digunakan untuk melakukan penggabungan
antara suatu object dengan script yang mana object tersebut dapat
dipanggil pada Script untuk melakukan perintah, sehingga akan
nampak seperti Group jika terdiri lebih dari satu object. Jadi Prefab
dapat diartikan sebagai object yang akan dieksekusi oleh script
dengan cara melakuka penggabungan antara suatu object dengan
perintah script yang akan diberikan keoada object tersebut. Prefab
akan terbentuk pada jendela project yang artinya belum dapat aktif
jika belum dimasukkan kedalam suatu object yang terdapat pada

39
jendela Hierarchy sehingga harus melakukan drag and drop ke suatu
object lain untuk mengaktifkan prefab tersebut.

Berikut adalah cara pembuatan prefab yang diberi nama pefab


“Bullet” sebagai object untuk dieksekusi oleh script.

Sehingga akan nampak seperti gambar berikut ini, untuk


pemberian nama dapat dilakukan dengan melakukan klik dua kali
dengan jarak waktu sedikit lama (bukan double click)

Setelah membuat object Prefab dengan nama Bullet,


selanjutnya melakukan perwarnaan atau pemberian texture pada
object Sphere tersebut yang akan dijadikan sebagai object peluru,
cara nya yaitu seleksi object sphere tersebut, kemudian lihat pada
jendela Inspector, cari menu Mesh Renderer , seperti pada gambar
berikut ini

40
Kemudian buka Materials sehingga isinya terlihat semua,
setelah itu “Click” pada Element, lalu “Click” lagi pada bulatan kecil
yang terdapat di ujung menu Element seperti pada gambar.

Sehingga akan nampak pilihan texture seperti gambar berikut

41
Pilihlah salah satu texture tersebut sesuai keinginan user,
jika pada contoh kali ini penulis memilih “Fire Smoke” sebagai
texture object, “click” satu kali pada pilihan maka akan langsung
diterapkan pada object target

Object yang telah diberi Texture

Setelah pembuatan Object peluru selesai, maka yang harus


dilakukan kemudian yaitu memasukkan object peluru tersebut
kedalam Prefab Bullet yang telah dibuat, dengan cara melakukan drag
and drop object peluru ke dalam prefab Bullet, Berikut gambarnya

42
Setelah itu jika sudah masuk ke Prefab maka akan nampak
seperti pada gambar berikut ini.

Untuk menghilangkan object agar saat running tidak terlihat,


dapat dilakukan dengan cara UnCheck pada Check Box berikut.

Setelah berhasil memasukan object ke prefab, yang harus


dilakukan kemudian yaitu membuat Script perintah untuk
mengedalikan object peluru tersebut, cara untuk membuat script
telah dijelaskan pada bab sebelumnya. Masukkan Script berikut pada
jendela Java Script dengan nama “Shoot”
43
var prefabBullet:Transform; // untuk memanggil prefab dengan nama Bullet
var shootForce:float; // untuk memasukkan nilai

function Update()
{
if(Input.GetButtonDown("Jump")) // untuk mengaktifkan input ketika ditekan tombol
jump
{
var instanceBullet = Instantiate(prefabBullet, transform.position,
Quaternion.identity); // untuk membuat object ketika ditekan tombol jump(space)
instanceBullet.rigidbody.AddForce(transform.forward * shootForce);
//untuk mengeluarkan object dengan arah kedepan
}
}

Setelah melakukan input script, maka akan nampak seperti


gambar berikut.

44
Kemudian hal yang harus dilakukan ketika sudah membuat script
untuk mengeluarkan tembakan yaitu “Shoot”, masukkanlah script
tersebut ke dalam object character camera berserta Prefab Bullet
yang telah dibuat dengan cara drag and drop pada object camera.

Pada gambar tersebut penulis telah menamakan object


cahacter camera dengan nama “player”, sehingga setelah dimasukkan
ke object camera maka akan tampak prefab “Bullet” berada didalam
sub dari object camera, artinya object peluru siap dipanggil.

Kemudian masukkan Script “shoot” pada jendela inspector dari


object camera dengan cara drag and drop.

45
Pada tanda panah kuning tersebut tempat untuk melakukan
input prefab, jadi masukkanlah prefab “Bullet” yang telah dibuat tadi
kedalam tanda panah kuning tersebut dengan cara drag and drop,
sehingga akan nampak seperti gambar diatas, untuk melakukan
pengaturan kecepatan dari peluru tersebut dapat dilakukan dengan
merubah nilai pada Shoot Force, untuk contoh sengaja diberikan nilai
1500.

Jika semuanya sudah selesai dilakukan maka lakukanlah Running


untuk melihat hasil akhirnya.

46
6. Membuat Object Musuh

Membuat Object musuh adalah salah satu bagian yang


terpenting didalam pembuatan suatu game, karena permainan game
pasti mengharuskan adanya musuh sebagai object target yang dapat
memberikan kesan terhadap pemain.

Untuk membuat object musuh dapat dilakukan dengan cara


membuat sebuah bentuk dasar, pada kali ini penulis sengaja membuat
object musuh yang sederhana yaitu dengan hanya menggunakan
object Cube, Cilinder, dan plane. Yang dijadikan menjadi satu bagian
sehingga seolah-olah object musuh tersebut berbentuk robot.

Untuk hal yang pertama kali arus dibuat yaitu membuat sebuah
badan dengan menggunaka cube yang diresize ke sumbu z sehingga
berbentuk seperti gambar

Object Cube

Object Cilinder

Object Plane

47
Setelah membuat object musuh seperti pada gambar, maka
diharuskan melakukan pengelompokkan object menjadi satu bagian,
jadi jika object utama di pindahkan maka sub object yang ada
didalamnya pun ikut berpindah.

Untuk melakukan pengelompokkan object dapat dilakukan


dengan cara melakukan drag and drob pada object yang akan
dijadikan object utama, pada object musuh yang dijadikan object
utama adalah object cube, sehingga object Cilinder harus berada di
dalam sub dari object cube. Berikut adalah gambar pengelompokkan
object menjadi satu bagian.

Object Utama

Sub Object Utama

Untuk mempermudah tampilan dari pengelompokkan oject


maka dapat dilakukan dengan cara memilih pada Formatting Tools
yaitu GameObject setelah itu pilih Create Empty

48
Kemudian akan nampak suatu object yang tidak memiliki bentuk
sehingga pada jendela Hierarchy akan terdapat onject aru bernama
GameObject.

Ubah nama Game Object menjadi “enemy”, sehingga


mudah dipahami dan dapat mengetahui dengan mudah mengenai
object musuh yang akan dijadikan object ekekusi dari perintah
script, setelah itu masukkan object cube tersebut ke dalam object
enemy, dan juga object plane, namun object plane tidak dimasukkan
ke dalam object cube, sehingga akan nampak pada seperti pada
gambar berikut.

Jadi object Plane berada di dalam object enemy tapi tidak


menjadi sub object dari object cube, sehingga object cube dan
object plane berdiri secara terpisah.

49
Jika sudah selesai dalam pembuatannya, maka hal yang
terpenting lainnya yaitu peletakan di arean ground, letakkanlah
object musuh tersebut tepat pada object ground karena kalau
mengambang akan menjadi game yang jelek, sehingga lakukanlah
seperti gambar berikut.

Letakkanlah object musuh tepat pada object ground, jangan


sambai ada kemiringan saat meletakkanya, karena jika miring, akan
berakibat object tersebut akan tidak simetris atau tegak lurus
dengan ground, dan itu membuat jelek area game.

Setelah semua selesai maka object musuh akhirnya jadi, pada


bab berikutnya akan dijelaskan mengenai Script agar musuh dapat
melihat object camera dan dapat mengeluarkan tembakan yang
tertuju pada object character camera.

Lakukanlah Running untuk melihat hasilnya.

50
7. Pembuatan Script Arah hadapan musuh

Pembuatan arah hadap musuh terhadap object pelaku adalah


salah satu cara dimana musuh dapat menembakkan peluru tepat pada
object pelaku, jika object pelaku melakukan gerakan maka otomatis
musuh akan melakukan putaran ke arah object pelaku berada,
sehingga akan menjadi game yang menarik untuk dimainkan.

Pembuatan arah hadap musuh ini diperlukan posisi dari


musuh yang tepat, karena musuh akan melakukan putaran terhadap
object pelaku berada. Jika miring terhadap tanah maka object musuh
akan terlihat jelek.

Untuk membuat arah hadap musuh maka diperlukan sebuah


script yang akan digunakan sebagai pengendali dari arah hadap musuh
itu sendiri.

Namun sebelum membuat script untuk mengarahkan object


musuh, terlebih dahulu membuat empty object dengan nama
“spawnPoint”, berikut adalah langkah untuk membuatnya.

51
Setelah terbentuk empty object maka letakkanlah object
tersebut tepat didepan arah moncong dari object musuh yaitu pada
object silinder, tujuan dari pembuatan empty object ini yaitu untuk
melakukan pendefinisian tempat object peluru yang akan dikeluarkan
oleh musuh. Sehingga diusahakan terletak di epan object silinder
agar terlihat seperti object musuh mengeluarkan tembakan dari
object silinder.

Empty Object

Berikan nama empty object tersebut dengan nama


“spawPoint” lalu masukkanlah empty object tersebut kedalam object
cube dengan melakukan drag and drop seperti pada gambar.

52
Selanjutnya membuat script dengan nama “Lookattarget”
untuk mengarahkan object musuh untuk dapat menghadap pada
object pelaku berada. Berikut adalah scriptnya.
var LookAtTarget:Transform; //mendefinisikan dan input object pelaku
var damp = 6.0; //menberikan kecepatan putaran
var bullitPrefab:Transform; //mendefinisikan dan input object pelaku
var savedTime=0; //memberikan nilai savedTime

function Update ()
{
if(LookAtTarget)
{
var rotate = Quaternion.LookRotation(LookAtTarget.position - transform.position);
transform.rotation = Quaternion.Slerp(transform.rotation, rotate, Time.deltaTime * damp);
//melakukan rotate otomatis menurut pergerakan object pelaku

var seconds : int = Time.time; //mendefinisikan second sebagai waktu yang bertipe integer
var addeven = (seconds % 2); //memberikan jeda pada keluarnya peluru musuh

if(addeven)

{
Shoot(seconds); //membuat fungsi Shoot sebagai perintah second
}
}
}
function Shoot (seconds) //mengaktifkan fungsi buatan Shoot
{
if(seconds != savedTime) //melakukan perumpamaan second
{
var bullit = Instantiate(bullitPrefab, transform.Find("spawnPoint").transform.position,
Quaternion.identity);
//membuat object peluru yang akan dikeluarkan pada “spawn Point”
bullit.rigidbody.AddForce(transform.forward * 1500); //melakukan input kecepatan arah gerak
peluru
savedTime=seconds;
}
}

Setelah membuat script tersebut pada jendela script, maka


yang harus dilakukan kemudian yaitu memasukkan script tersebut
pada object musuh berikut adalah gambar untuk melakukan input
script pada object musuh.

53
Kemudian masukkan object pelaku yaitu pada bagian Look At
Target seperti yang ditunjukkan oleh panah berwarna kuning.
Lakukanlah drag and drop object kedalam pilihan Look At Target
tersebut, agar object musuh dapat menghadap ke arah object pelaku.

Untuk melihat hasilnya dapat dilakukan running

54
8. Pembuatan Tembakan Musuh

Membuat temabakan musuh sangatlah penting, karena


untuk menciptakan suasana game yang menarik, jadi object pelaku
mengeluarkan tembakan dan juga object musuhpun mengeluarkan
tembakan sehingga akan terjadi peperangan tembakan pada area
game.

Untuk membuat tembakan musuh, yang pertama yang


harus dilakukan yaitu membuat object sphere terlebih dahulu, yang
kemudian dimasukkan kedalam perintah Look At Target sebagai
pendefinisian object peluru musuh. Berikut adalah gambar
ilustrasinya

Object Sphere yang telah diberikan texture

Kemudian hilangkan object tersebut dengan melakukan UnCheck


pada check box berikut

55
Check Box

Kemudian memberikan Rigidbody pada object sphere tersebut


dengan tujuan yaitu untuk memberikan efek tarikan gravitasi pada
object sphere agar object sphere tersebut tidak terbang kesegala
arah melainkan tertarik oleh daya gravitasi. Berikut adalah gambar
ilustrasinya

56
Setelah itu, maka akan nampak jendela Rigidbody pada
object sphere di jendela Inspector

Kemudian buat sebuah Prefab yang bernama “gun” untuk


melakukan input object. Seperti pada gambar.

Setelah object sphere telah jadi dan Prefab “Gun” telah


terbuat maka yang harus dilakukan kemudian yaitu memasukkan
object sphere kedalam Prefab “gun” dengan cara drag and drop.

57
Namun sebelumnya masukkan terlebih dahulu object
Sphere kedalam Sub Cube untuk mempermudah penefinisian object
dengan cara drag and drop object.

Lalu masukkan object sphere ke dalam Prefab “gun”.

Setelah membuat object peluru musuh, hal yang terpenting


yang harus dilakukan yaitu melakukan input object pada script Look
At Target di object cube.

58
- Pertama adalah melakukan “click” pada object cube

Lihat pada jendela Inspector yang terdapat script “Look


At Target” lalu masukkan object sphere ke dalam menu Bullit Prefab
dengan cara drag and drob prefab ke dalam menu script.

59
Setelah semuanya jadi, masukkan script untuk
menghilangkan object peuru dalam waktu lima detik

function Start () { //fungsi yang akan dijalankan saat running

Destroy(gameObject,5); //menghilangkan object saat waktu lima detik

Setelah menuliskan Script tersebut, berikanlah nama yaitu


”guns”, kemudian masukkan script tersebut ke dalam object sphere.

Untuk melihat hasilnya, maka dapat dilakukan Running

60
9. Pembuatan Explode Tembakan

Pembuatan Explode tembakan sangat diperluka sekali,


karena untuk memberikan efek yang bagus terhadap suatu game, jadi
semakin atraktif suatu game maka akan bagus pula kualitas game
tersebut, pada session ini, akan dijelaskan bagaimana cara melakukan
pembuatan object explode saat object tersebut mengalami tubrukan
dengan object lain, dengan fokus object yaitu pada object peluru
pelaku (Object Character).

Untuk lebih jelasnya berikut adalah cara bagaimana


membuat explode object peluru pada object pelaku (object
Character).
Pertama yaitu membuat script dengan nama “enemy” pada
jendela script, berikut adaah scriptnya

var explode: Transform; //mendefinisikan dan input object explode


function OnCollisionEnter (theCollision : Collision) //fungsi saat bertubrukan
{
Instantiate(explode, transform.position, transform.rotation);
Destroy (gameObject,3); //menghilangkan explode saat waktu tiga detik

if(theCollision.gameObject.name == "Cube") //jika bertubrukan dengan object cube


{
Destroy(gameObject.Find("enemy1")); // menghilangkan object enemy1
}
else if(theCollision.gameObject.name == "Cube2")
{
Destroy(gameObject.Find("enemy2"));
}

Script di atas, penulis menggunakan dua buah object enemy


yang bernama “enemy1” dan “enemy2”, sehingga pada script diatas

61
dapat dirubah sesuai keadaan, jika ada tiga object maka definisikan
tiga object, jika ada satu object maka definisikan hanya satu object,
tergantung dari pembuatan objectnya. Yang arus diperhatikan yaitu
nama yang diinputkan / dipanggil, harus sama dengan nama object
yang akan dieksekusi, karena Java Script bersifat Case Sensitif jadi
penulisan huruf besar dan kecilnya harus diperhatikan.

Setelah membuat Script, selanjutnya memasukkan script


tersebut kedalam jendela inspector object peluru (peluru object
Character) / peluru pelaku. Seperti yang telah dibuat sebelumnya
yaitu object bullet yang berada pada sub player

Object Bullet

Click satu kali pada object Bullet lalu masukkan script “enemy”
yang telah dibuat kedalam jenela inspectornya. Seperti pada gambar
berikut.

62
Jika telah memasukkan script tersebut maka akan otomatis
terbuat suatu menu yaitu Explode.

Masukkan prefab explosion yang terdapat di Folder


standart Asset lalu buka Folder Legacy Particles, kemudian masukkan
prefab explosion ke dalam menu explosion.

Untuk melihat hasilnya, lakukanlah running

63
10. Pembuatan Script Destroy Object Musuh

Pembuatan Script Object musuh sudah dibahas pada bab


sebelumnya yaitu pada bab 9, yang mana script untuk
melakukan penghancuran object musuh dengan explosion yaitu
sebagai berikut.

Syarat utama yang harus ada untuk melakukan perintah


pada script diatas yaitu

1. Terdapat Object dengan nama “Cube”

2. Terdapat Object dengan nama “enemy 1”

3. Terdapat Object dengan nama “Cube 2”

4. Terdapat Object dengan nama “enemy 2”

/*Untuk script di atas bersifat opsional, tergantung pada


pembuatan object dan penamaan object yang dilakukan.

64
11. Pembuatan Terrain

Terrain adalah sebuah bentuk atau object yang digunakan


sebagai background dasar suatu pembuatan game, jika menggunakan
object cube sebagai background dasar juga bisa, jadi pembuatan
background dasar bisa menggunakan object cube atau bisa juga
dengan Terrain.

Pada bab ini akan dibahas mengenai pembuatan


background dasar menggunakan Menu Terrain, dan bagai mana cara
memberikan efek gunungan, efek pasir, efek air, dan efek yang lain
yang mana biasa digunakan untuk mempercantik tampilan suatu game,
terutama game 3D yang sangat memerlukan sekali kecantikan
background agar si pemain dapat nyaman di dalam permainan
tersebut.

Untuk pembuatan dasar background menggunakan object


cube telah dibahas di bab sebelumnya, untuk pembuatan dasar
backround ini hanya memerlukan resize dari object cube sesuai yang
diinginkan lalu memberikan texture pada object cube tersebut,
sehingga akan menampilkan suatu design background pada area game.

Namun ada kekurangan pada pembuatan object cube


sebagai dasar background, yaitu tidak bisa membuat efek-efek yang
digunakan untuk memperindah tampilan game, efek eperti gunungan,
pasir dan lainnya tidak akan bisa diinputkan ke dalam object cube,
karena sejatinya object cube bukanlah sebagai object dasar suatu
game namun object cube adalah sebagai object utama didalam
pembuatan game.

Pada Unity 3D disarankan untuk menggunakan object


dasar background yaitu Terrain, disamping dapat memberikan efek-
efek, dapat pula melakukan input benda seperti halnya pohon, ranting

65
atau air. Itulah mengapa object Terrain sangat penting didalam
pembuatan game 3D.

Untuk langkah yang pertama yaitu membuat object Terrain


dengan cara memilih menu Terrain, lalu pilih Create Terrain

Namun jika nginginkan ukuran tertentu pada object Terrain,


dapat melakukannya dengan cara memilih menu berikut sebelum atau
sesuadah membuat sebuah object Terrain

66
Maka akan tampak jendela seperti berikut ini.

Ubahlah ukuran dari lebar Terrain dan Panjang Terrain sesuai


kebutuhan, jika menginginkan object Terrain yang lebih besar dapat
dilakukan penambahan pada Terrain Width dan Terrain Length, jika
ingin mengecilkan ukuran maka dapat mengurangi angka kedua menu
item tersebut.

Setelah memilih pilihan create Terrain tersebut kemudian akan


otomatis terbuat suatu object datar yang tipis pada layar Editor.
Dan akan ada menu Terrain pada jendela Hierarchy.

67
Sehingga akan tampak object Terrain tanpa texture

seperti gambar berikut.

Untuk memberikan texture pada object Terrain dapat


menggunakan pilihan pada menu inspector pada Object Terrain

68
Penjelasan mengenai menu Terrain

1 2 3 4 5 6 7

1. Membuat object gunungan dan membuat ketinggian gunungan

2. Untuk mengatur ketinggian gunungan

3. Untuk mengatur Kehalusan lekukan pada gunungan

4. Untuk memberikan Texture pada object Terrain

5. Untuk memasukan object Tree (pohon)

6. Untuk memasukkan object seperti tanaman, batu, dll

7. Untuk men-setting object Terrain

69
Untuk membuat texture pada object Terrain, langkah yang
harus dilakukan yaitu dengan terlebih dahulu menyeleksi object
Terrain pada jendela Hierarchy lalu di jendela Inspector memilih
pilihan berikut.

Pilih dan “click” tombol Edit Textures sehingga akan


mengeluarkan pilihan setting seperti berikut, pilih Add Texture .

70
Sehingga akan memunculkan jendela Add Texture seperti gabar

berikut. Lalu pilih dan “click” bulatan kecil pada menu Splat.

Kemudian akan nampak menu Terrain Texture, yang


bervariasi, ada bermacam-macam texture, ada texture air, texture
rumput dan texture pasir, untuk lebih memperindah Terrain disini
penulis sengaja memilih menu texture grass (Hill) sebagai warna
dasar Background, untuk pemilihan texture yang lain sesuai engan
kebutuhan, jika menginginkan texture air, maka pilihlah menu air, jika
ingin suasana di padang pasir, maka dapat memilik pilihan pasir.

71
Double Click pada menu Texture tersebut sehingga akan
langsung masuk pada menu splat, Jangan lupa pilih tombol Add untuk
mengaplikasikan texture pada object terrain yang telah terseleksi
sebelumnya.

Maka akan otomatis merubah texture pada object Terrain


tersebut, yang telah terseleksi / terpilih sebelumnya.

72
- Memberikan object gunungan pada Terrain

Memberkan efek gunungan pada sebuah game adalah suatu


hal yang penting, karena akan memberikan suasana pada game
tersebut, game yang bagus menggunakan efek gunungan disesuaikan
dengan keadaan game, jika game tersebut berada di sebuah padang
pasir maka gunungan yang digunakan tidak terlalu banyak namun
tinggi, tapi jika game tersebut dikondisikan di sebuah hutan atau
daerah perbukitan, maka gunungan yang dibuat banyak dan bervariasi,
gunuangan disini hanyalah untuk memperjelas keadaan dan
mempercantik suasana sebuah game.

Untuk memberikan efek gunungan pada object Terrain


dapat dibuat dengan menu berikut.

Klik satu kali pada menu button tersebut kemudian pilih


salah satu corak yang akan dibuat pada pilihan Brushes, setiap corak
akan berbeda hasilnya, maka dari itu perlu ketelitian didalam memilih
corak dari Brushes berikut.

73
Untuk mengaplikasikannya, yaitu dapat dengan langsung
melakukan drag and drop pada object terrain secara langsung, maka
akan dihasilkan gunungan seperti gambar dibawah ini.

- Memberikan object Tree pada Terrain

Object Tree pada suatu game adalah kebutuhan sekender


atau kebutuha tambahan, namun keberadaan dari pohon itu sendiri
bisa menambah indah tampilan suatu game, terutama game 3D, pada
game 3D biasa digunakan object pohon sebagai object yang
menguatkan kondisi suatu game, semisal kondisi tersebut di
pegunungan, maka akan ada banyak pohon, namun jika itu di padang
pasir atau di pantai, maka object pohon hanya digunakan sebagai
object pendukung suasana.

Untuk memberikan object pohon maka dapat dilakukan dengan


memilih pada menu botton berikut pada object Terrain.

74
“clik” satu kali pada menu botton tersebut, kemudian akan
nampak pilihan pada jendela inspector pada object Terrain, kemudian
pilihlah button Edit Trees.

Lalu “click” satu kali pada pilihan add tree

maka akan muncul jendela Add Trees tersebut, setelah itu


“click” satu kali pada bulatan kecil pada menu Tree

75
Sehingga akan muncul pilihan object Tree, untuk memilih
object Tree tidaklah sembarangan, harus perlu melihat kondisi atau
suasana game yang akan dibuat, pemilihan object Tree biarpun
bersifat sebagai pendukung namun keberadaannya dapat
memperindah penampilan suatu game, disini sengaja di pilih object
Tree pada menu Big Tree

Double Click pada menu tersebut sehingga akan masuk ke


dalam menu Tree pada jendela Add Trees, jika object pohon sudah
dimasukkan maka akan terlihat seperti pada jendela berikut.

Untuk selesai penambahan objet tree maka “click” satu


kali pada button Add

76
Sehingga akan muncul menu seperti berikut pada jendela
inspector di object Terrain tersebut. Untuk mengaplikasikan object
Tree dapat dilakukan Drag and Drop langsung pada object Terrain,
namun sebelum melakukan pembuatan object pohon pada Terrain,
yang harus diperhatikan adalah berapa banyak pohon yang akan
dimasukkan ke dalam Terrain dalam satu kali drag and drop dan
berapa tinggi serta lebar pohon tersebut, untuk itu perlu mengatur
terlebih dahulu menu settings pada object Tree.

Object Pohon

Keterangan

1. Untuk menginputkan banyak / sedikit object Pohon dalam satu kali


drag and drop

2. Untuk menambah atau mengurangi tinggi pohon

3. Untuk menambah atau mengurangi lebar pohon

77
12. Pembuatan Background Langit

Pembuatan Background langit pada unity 3D tidak sulit,


hanya memerlukan beberapa langkah dasar, dan tidak pula
menggunakan Script sehingga dapat dengan mudah untuk
membuatnya.

Perlu diketahui bahwa setiap game 3D memiliki komponen


utama sebagai object pendukung yaitu object dasar, object
tambahan dan object langit-langit, Terrain sebagai dasar Background
sebuah object adalah salah satu object utama, untuk sebagai objet
tambahan seperti object pohon, tanaman, batu dll. Untuk object
utama yang ketiga yaitu object langit-langit, yang mana object langit-
langit adalah object pemberi suasana yang terbesar pada subuah
object, artinya suasana game akan terasa jika suasana langit-langit
tepat menggambarkan suasana yang diinginkan, seperti halnya
menginginkan sasana di pantai dengan kondisi yang cerah, atau kondisi
di malam hari.

Maka dari itu pemilihan object langit-langit sangatlah


penting dan jangan sembarangan didalam memilihnya, karena kalau
salah akan merusak kondisi yang diinginkan sebelumnya.

Untuk membuat texture langit-langit dapat dilakukan


dengan cara berikut.

Pertama Pilihlah menu edit pada Formating Tools,


kemudian “click” satu kali pada pilihan Render Setting, seperti pada
gambar berikut.

78
Setelah menu Render Setting dipilih, maka akan muncul
pada jendela Inspector seperti gambar diatas, terdapat beberapa
pilihan pada menu Render Setting. Untuk memberikan texture
langit maka hanya dibutuhkan menu Skybox Material.

Untuk memberikan efek asap atau kabut maka dapat


melakukan “check” pada “check Box” berikut. Lalu jika ingin
memberikan warna pada asap / kabut tersebut dapat dilakukan
dengan cara mengubah warna pada menu Fog Color.

79
Jika menu Inspector pada Render Setting telah siap,
maka yang harus dilakukan adalah memberikan texture dari folder
standart asset, langkah pertama yaitu membuka folder standart
asset, setelah itu pilih Folder Skyboxes.

Buka Folder Tersebut agar nampak semua isi yang


ada didalam folder tersebut.

80
Setelah Folder Skyboxes telah dibuka, dan menu
Render Setting pada jendela Inspector telah siap, maka lakukanlah
drag and drob, dari object yang berada di dalam Folder Skyboxes
kedalam menu Skybox Material.

Pilihlah texture langit yang sesuai dengan keadaan game


yang diinginkan, ada bermacam-macam variasi texture langit, pilihlah
yang tepat, jika di gambar, dicontohkan penulis memilih Sunny1
Skybox, yang mana memberikan efek texture langit yang cerah
berawan. Seperti pada gambar berikut.

81
13. Pembuatan Timer Pada Game

Pembuatan Timer pada sebuah game merupakan unsr yang


tidak wajib ada, tergantung dari bagaimana cara game tersebut
melakukan pembatasan, ada yang dengan membunuh atau
menghancurkan semua musuh, ada yang menggunakan timer dan lain-
lain.

Pada bab 13 ini akan dijelaskan cara untuk membuat timer


pada unity 3D, fungsi dari timer disini yaitu untuk membatasi waktu
bermain, jadi jika waktu habis maka akan nampak sesuatu, bisa itu
pindah ke Scene / level berukutnya, bisa juga dengan tulisan Game
Over, terserah pada pengembangannya.

Pada pembuatan timer disini, penulis menggunakan tiga buah


object, yaitu

Object tiga icon :

Object Dua icon :

Object satu icon :

Ketiga object tersebut yang akan digunakan sebagai


parameter dari timer, jadi dari tiga icon, menjadi dua icon, setelah
itu mencadi satu icon.

Untuk prmbuatan timer memang harus dibutuhkan sebuah


benda yang digunakan sebagai object GUI, untuk melakukan timer,
jadi object akan berada sebagai GUI, artinya object tersebut

82
berada di layar, dan tidak didalam area permainan. GUI bisa berupa
object atau tulisan yang mana object atau tulisan tersebut tidak
masuk didalam area game, namun berada di layar, posisinya pun tidak
berubah, dan tetap berada di layar game.

Untuk membuat timer pada sebuah game, yang harus


dilakukan yaitu membuat object timer terlebih dahulu, bisa
menggunakan gambar, atau icon, yang harus dilakukan penyesuaian
ukuran, bisa dengan Photoshop, Corel Draw dll.

Pada bab ini tidak dijelaskan mengenai bagaimana cara


membuat object timer, baik itu dari sebuah program lain seperti
Photoshop, corel draw dll, namun bab ini hanya fokus didalam
bagaimana cara memasang object timer tersebut ke dalam layar.

Setelah object timer sudah siap, masukkan object tersebut


ke dalam Folder Unity 3D yang berada di My Computer > Drive C >
User > Asus (penulis menggunakan laptop Asus) > my Documents >
New Unity Project

83
Kemudian buka Foder Assets yang terdapat di dalam folder
New Unity Project tersebut.

Setelah itu akan muncul isi didalam folder tersebut,


lakukanlah copy-paste object yang akan digunakan sebagai Timer ke
dalam Folder Assets tersebut.

Jika sudah melakukan copy paste ke dalam Folder Assets


tersebut maka akan otomatis object tersebut muncul di jendela
project. Yang harus diperhatikan saat memasukkan object yaitu
ukuran dari icon / gambar, karena jika terlalu besar akan menutupi
pandangan layar. Jadi disesuaikan dengan kondisi layar.

84
Berikut adalah hasil dari object yang telah dimasukkan ke
dalam Folder Assets, akan muncul secara otomatis di jendela Project.

Didalam gambar tersebut, object timer di jadikan dalam


satu Folder yang bernama Lives Bar. Sebuah Folder didalam jendela
project berguna untuk mengelompokkan data-data yang sejenis,
misalnya data yang berupa script atau yang berupa gambar, tujuan
dari folder hanyalah memperapi pandangan, dan memudahkan user
dalam memilih data. Untuk membuatnya dapat dilakukan dengan cara
melakukan “click” pada tombol create di jendela Project.

85
Setelah itu akan muncul pilihan seperti pada gambar di
bawah ini, pilihlah menu Folder, dan “click” satu kali, maka akan
otomatis terbuat sebuah folder di jendela Project.

Setelah semuanya sudah siap terutama object timernya,


maka yang harus dilakukan kemudian adalah memberikan object
tampil pada layar, yaitu dengan cara membuat GUI Texture terlebih
dahulu. GUI texture yaitu sebuah menu yang digunakan untuk
memasukkan object ke dalam layar, dan object tersebut tidak berupa
text. Berbeda dengan GUI Text yaitu untuk memasukkan text ke
dalam layar bukanlah sebuah benda.

Untuk membuat GUI Texture dapat dilakukan denga cara


“click” satu kali pada button Create di jendela Hierarchy, sehingga
akan muncul pilihan seperti berikut.

86
“Click” satu kali pada pilihan GUI Texture tersebut, maka
akan terbuat suatu GUI texture default. Rubahlah nama GUI
Texture tersebut dengan nama health3.

Kemudian lakukanlah drag and drob object health3 yang telah


dibuat, dari jendela Project, ke dalam jendela GUI Texture pada
menu Texture.

87
Untuk melakukan penempatan object, dapat dilakukan
dengan cara mengubah nilai pada menu transform di GUI Texture.
Untuk menempatkan di pojok kanan atas maka dapat diberikan nilai
berikut.

X = 0,13

Y=1

Z=0

Maka akan nampak seperti gambar berikut

Setelah semuanya sudah dilakukan, untuk proses


perhitungan dari timer dapat dilakukan dengan memberikan script
sebagai pengendali object tersebut.

Prinsip kerja dari script tersebut yaitu untuk melakukan


perhitungan secara mundur dari nilai maksimal 100 hingga 0, jadi di
tiap-tiap hitungan terdapat bentuk yang akan ditampilkan di layar
misalnya jika perhitungan sudah mencapai angka 50 maka bentuk GUI

88
texture akan berubah menjadi dua icon (health2), jika angka sudah
mencapai 10 maka aka berubah menjadi satu icon (health1).

Berikut adalah scriptnya.

static var Healthcount:int =100; //memberikan nilai maksimal

var health1 : Texture2D; //mendefinisi dan menginputkan object health1


var health2 : Texture2D; //mendefinisi dan menginputkan object health2
var health3 : Texture2D; //mendefinisi dan menginputkan object health3

function Update() {
var heathtexture = gameObject.Find("health3"); //mencari focus object yang akan di kenai perintah

if(Healthcount<50){ // jika countdown telah mencapai 50


heathtexture.guiTexture.texture = health2;//mengganti object dengan health2
}

if(Healthcount<10){// jika countdownt telah mencapai 10


heathtexture.guiTexture.texture = health1;//mengganti object dengan health1
}
}

InvokeRepeating("Gothit",1,1);

function Gothit() {
Healthcount -=5; //memasukkan kecepatan countdown

Setelah Script tersebut di tulis, maka langkah terakhir


yaitu memasukkan script tersebut pada object pelaku, atau
Character dengan cara drag and drop, karena yang akan ditampilkan
adalah pada jenela character atau object pelaku. Sehingga script
dimasukkan ke dalam object pelaku.

89
Penulis menamakan script tersebut dengan nama hit_player
sehingga akan nampak seperti pada gambar

Setelah dimasukkan ke dalam jendela Hierarchy pada player,


maka selanjutnya yaitu memasukkan object timer, dengan cara drag
and drop object sesuai nama.

Jika semua sudah selesai dilakukan maka dapat dilakukan


Running untuk melihat hasilnya.

90
14. Pembuatan GoTo Next Level jika berada di suatu posisi

Pada bab ini akan dibahas mengenai Pembuatan Switching


Level, yaitu perpindahan level dari level sebelumnya ke level
selanjutnya, yang mana pembuatan ini diperlukan suatu tempat /
object yang digunakan untuk menampilkan GUI Text untuk menuju ke
Level selanjutnya.

Pembuatan Switching Level ini pada game 3d sungguh sangat


diperlukan, dikarenakan Switching Level biasa digunakan untuk
menguji kesungguhan pemain dalam game tersebut, yaitu dengan
menjadikan setiap level berikutnya menjadi lebih sulit dari
sebelumnya, sehingga akan nampak menarik dan tertantang untuk bisa
menyelesaikan game tersebut, bisa juga switching level diartikan
sebagai pergantian suasana, sehingga pemain tidak bosan saat
memainkan game tersebut.

Untuk pada bab ini user dapat berkreatifitas sendiri,


mengembangkan sendiri mengenai GUI text, GUI Box, dan object /
tempat yang akan dijadikan patokan keluarnya GUI Box.

Pembuatan dari switcing level tidaklah sulit, hanya


diperlukan beberapa langkah dan pembuatan script, untuk switching
level diperlukan dua script untuk sebagai pengendaliannya, dua script
tersebut akan saling memanggil saat proses eksekusi, jadi kedua
script tersebut haruslah benar dalam penulisan maupun susunan,
sehingga saat pemanggilan tidak mengalami error.

Jadi Prinsip kerja dari Switching level yaitu jika Character


utama atau pealku berada di suatu tempat tertentu atau berada di
dekat sebuah benda maka akan nampak GUI Box yang tampil di layar

91
pemain dan akan terdapat pilihan untuk melanjutkan ke level
berikutnya.

Untuk pembuatan Switching level pertama kali yang harus


dilakukan yaitu membuat sebuah object, baik itu object cube,
Sphere, capsule yang mana objet tersebut akan dijadikan sebuah
penanda GUI Box. Disini penulis membuat sebuah capsule yang telah
diberikan texture pada bagian luarnya.

Setelah membuat sebuah object target atau object penanda


setelah itu membuat dua buah script, yang mana script pertama
diberikan nama dengan Display GUI Script dan yang kedua GUI Style
Script. Berikut adalah Script Display GUI Script.

Display GUI Script


var target : Transform; //membuat dan menginputkan object target

function Update () {

var other = gameObject.GetComponent ("GUI Style Script"); //memanggil script lain yang bernama
“GUI Style Script “ yang dijadikan sebagai variabel other

if (Vector3.Distance(target.position,transform.position) < 25) { //menampilkan fungsi other saat


jarak kurang dari 25

other.enabled = true; //mengaktifkan fungsi other

92
if (Vector3.Distance(target.position,transform.position) > 25) { //menampilkan fungsi other saat
jarak lebih dari 25

other.enabled = false; //menonaktifkan perintah other

Fungsi dari script diatas yaitu untuk memanggil perintah


dari Script yang bernama “GUI Style Script” dan mengaktifkannya
saat berada pada jarak kurang dari 25 dari object penanda atau
object target, jika lebih dari 25 maka perintah dari script GUI Style
Script akan di nonaktifkan. User dapat mengganti jarak dari
pemanggilan script sesuai kebutuhan, jika ingin lebih ekat maka darat
di kurangi jaraknya misalnya 10 atau 5, dan jika ingin jauh bisa
diisikan 30 atau 35.

Untuk Script diatas tidak lengkap jika belum diberikan


Script yang bernama “GUI Style Script” sebagai object yang akan
dipanggil oleh script diatas. Jadi edua Script ini sangat berkaitan
jika salah satu terdapat error maka tidak akan bisa dijalankan.
Berikut adalah script untuk “GUI Style Script”.

GUI Style Script


function OnGUI () { //memanggil perintah GUI

GUI.Box (Rect(10,10,300,900), "Selamat Anda Telah berhasil, ingin lanjut?"); //membuat GUI Box
dengan bentuk rectangle dan ukurannya 10,10,300,900, dan memasukkan kata-kata pada GUI Box .

if (GUI.Button (Rect (130,40,80,20), "Yes")) { //membuat GUI Button dan memasukkan kata

Application.LoadLevel(2); // memanggil dan menjalankan scene dengan nama Level2 jika GUI Button
ditekan atau di click

93
Fungsi dari Script dari diatas yaitu untuk menampilkan
sebuah GUI Box dengan terdapat sebuah pilihan dengan tombol GUI
Button, sehingga jika tombol GUI Button ditekan atau di-click satu
kali maka akan mengaktifkan scene yang bernama “Level2”. Maka dari
itu sebelumnya haruslah dibuat sebuah level lagi yang diberi nama
dengan “Level2”. Namun jika ingin melakukan pemanggilan scene hal
yang perlu diperhatikan yaitu harus me masukkan scene tersebut
pada jendela Build Settings terlebih dahulu untuk pendefinisian
scene yang akan dipanggil.

Urutan Scene

Scene Editor

Untuk memasukkan Scene

94
Setelah semua hal dilakukan, maka yang terakhir yaitu
memasukkan script tersebut ke dalam object Character utama atau
object pelaku dengan cara drag and drop ke jendela Inspector.
Sehingga akan nampak seperti gambar berikut.

Setelah itu memasukkan object target yang berupa


benda atau yang lainnya ke dalam sub menu dari script “Display GUI
Script” , penulis menggunakan sebuah object yang berbentuk capsul,
untuk object lain juga boleh tergantung kebutuhan dari game
tersebut dan disesuaikan dengan keadaan pada game yang akan
dibuat.

95
Setelah memasukkan objet target, maka selesailah
sudah pembuatan dari Switching Level, untuk melihat hasilnya dapat
dilakukan running , jika berhasil maka akan namapak GUI Box pada
saat character utama / pelaku berada di object target tersebut
dengan ketentuan jarak yang telah dimasukkan ke dalam script.

96
15. Membuat Animasi

Animasi di dalam dunia game sangatlah berpengaruh besar


terutama dalam pengaturan suasana yang interaktif, animasi biasa
digunakan untuk menjadikan sebuah object seakan-akan hidup, dapat
bergerak sendiri dengan gerakan tetap maupun berubah-ubah.
Biasanya pemakaian animasi didalam dunia game cenderung
untuk menciptakan suasana yang tidak membosankan, agar si pemain
dapat merasakan interaktif dan keadaan seperti didunia nyata, selain
itu bisa juga untuk pendukung suasana game, seperti halnya sauasana
di hutan yang banyak hewan yang bergerak, atau suasana di bandara
yang ada pesawat beterbangan, sehingga seolah-olah pemain berada
didalam dunia nyata.
Didalam Unity 3D terdapat fitur yang bisa digunakan
untuk membuat animasi, ada tipe-tipe animasi yaitu animasi yang
berulang (continue) dan ada yang tidak berulang (one Loop), untuk
aimasi yang berulang prinsip kerjanya yaitu, jika suatu pergerakan
animasi telah ditetapkan dari titik awal gerakan hingga akhir gerakan,
maka benda tersebut akan bergerak suai alur yang telah ditetapkan
tersebut, jika telah mencapai titik akhir gerakan maka akan kembali
ke posisi awal dan akan melakukan pergerakan seperti sebelumnya
secara berulang-ulang. Berbeda dengan animasi yang one loop, prinsip
kerjanya yaitu jika suatu object benda telah mencapi titik gerak
akhir maka akan kembali ke posisi semula dan akan berhenti, hanya
satu kali pergerakan dalam game.
Untuk memilih animasi apa yang akan digunakan didalam
sebuah game haruslah sesuai dengan keadaan pada game, dan juga
harus sesuai kebutuhan, karena jika terlalu banyak animasi maka hasil
game akan menjadi jelek, harus ada object yang dalam posisi
bergerak dan ada pula yang di posisi diam, keduanya harus sinkron.

97
Berikut adalah cara pembuatan animasi didalam unity 3D,
yang mana pembuatan animasi sebenarnya mudah, namun yang sulit
adalah menyesuaikan dengan keadaan game.
Pertama yaitu membuat sebuah object yang akan dibuat
animasi, disini penulis menggunakan particle system untuk object
animasinya, untuk object animasi terserah pada user, tidak harus
particle system, namun benda seperti Cube, Sphere, Cilinder dll
dapat digunakan juga.
Memilih object

Setelah itu maka akan nampak sebuah object yang unik


yaitu sebuah object dengan particle-particle kecil berhamburan
disekitarnya. Seperti gambar dibawah ini.

98
Setelah terbuat object yang akan dibuat animasi, langkah
selanjutnya yaitu membuat track animasi object, yaitu dengan cara
memilih menu Windows pada Formating Tools, maka pilihlah sub menu
animasi didalamnya.

Sub Menu Animation

Maka akan nampak jendela animasi dari Unity 3D sepert pada


gambar berikut ini.

99
Untuk langkah selanjutnya yaitu membuat track animasi
dari object target, yang pertama yaitu menekan tombol record
sehingga pergerakan object target dapat terekam dengan baik.

Tombol Record

Kemudian mulai gerakkan object target (Particle System)


tersebut ke arah yang diinginkan, sehingga jika terekam dengan baik
maka akan nampak seperti pada gambar berikut.

100
Untuk melakukan perpindahan object dari tempat satu
ketempat lain yang harus diperhatikan yaitu dengan menekan Track
Record terlebih dahulu, baru kemudian object dapat digerakkan
sesuai keinginan, seperti pada gambar.

Record On Click Satu kali di sini

Track Record

Gerakkan object sesuai keinginan, jika object sudah cukup


dalam pergerakannya, artinya sudah menempati pergerakan terakhir,
maka untuk melihat hasil gerakan object tersebut dapat dilakukan
one click pada pada tombol Run berikut. Namun sebelumnya Tombol
record haruslah dinonaktifkan terlebih dahulu.

Tombol Run

Tombol Record

Jika animasi berjalan dengan baik maka akan nampak menu


animasi didalam jendela Inpector dari Particle System, seperti
gambar berikut.

101
Untuk langkah selanjutnya yaitu menentukan bagai mana
tipe dari animasi object tersebut, yaitu dengan cara memilih file
animation yang telah tersimpan saat pembuatan animasi pertama
dengan cara “Double Clik”, seperti pada gambar berikut.

Double Click disini

Maka akan nampak pilihan pada jendela inspector object


particle system, seperti pada gambar.

Tipe Animasi

Single Loop

Continue Loop

Pilih salah satu tipe animasi yang diinginkan,


dengan catatan harus sesuai dengan tema game yang akan dibuat, dan
juga suasana game yang diinginkan.

102
Jika semua hal telah dilakukan maka untuk melihat
hasilnya dapat dilihat dengan cara melakukan Running sehingga akan
terlihat hasil animasi dari object target tersebut.

Contoh diatas hanyalah sebagai gambaran dasar


dari pembuatan object animasi, untuk selanjutnya User bisa membuat
dengan variasi lain yang berbeda dan disesuaikan oleh keadaan yang
akan di buat didalam game. Selamat mencoba.........

103
16. Pembuatan Menu Item

Pembuatan menu item didalam suatu game adalah penting


sekali, karena menu item biasa muncul di saat permainan akan dimulai,
dan juga akan dieksekusi pertama kali, sehingga pemain akan menilai
game tersebut saat itu pula, jika tampilan dari menu item suatu game
tidak menarik minat dari pemain maka cenderung pemain akan bosan,
dan akan beranggapan rendah terhadap game tersebut.

Jadi penilaian dari pemain dimulai saat main menu muncul,


jika main menu menarik minat dari pemain maka pemain akan senang
dan tertarik untuk bermain game tersebut terus menerus, Sehingga
dapat pula diartikan menu item sebagai item awal pembawa suasana
game, dan daya tarik pemain.

Biasanya menu item bersifat attraktif dan dinamis, bisa


pula statis, namun jika statis akan membuat game tidak lebih hidup.
Didalam menu item terdapat suatu gambaran dasar tentang game
yang akan dimainkan seperti halnya adanya gambar Character tokoh
dan character musuh, adanya background peperangan atau hutan,
bisa pula dengan music yang mendukung, semuanya bisa dijadikan
sebagai gambaran sebuah game, sehingga pemain akan tertarik untuk
memeinkan game tersebut.

Yang terpenting yaitu gambaran suasana di dalam game


janganlah berbeda dengan gambaran suasana dimenu item, sehingga
pemain tidak merasa curiga atau berganti suasana secara mendadak,
game yang baik biasanya menggunakan menu item yang attractive
yaitu dengan adanya pergerakan animasi dan perubahan warna text
saat ditekan atau “click”, itu pun termasuk salah satu yang membuat
pemain bisa tertarik dengan game didalamnya. Maka dari itu

104
pembuatan menu item janganlah sembarangan, haruslah disesuaikan
dengan keadaan.

Untuk di bab ini akan dibahas mengenai bagaimana cara


membuat menu item suatu game dengan dua tipe yaitu tipe statis dan
tipe attractive dan dinamis, yang biasa digunakan didalam suatu game
3d, penulis hanya mencontohkan pembuatan menu item yang dasar,
untuk selanjutnya, mengenai pengkodisian suasana atau background
dapat dikembangkan sendiri dengan sentuhan seni dan imaginasi.

Tampilan umum dari menu item yaitu seperti pada gambar


berikut, penulis membuat menu item dengan animasi, particle system
dan kondisi suasan background seperti di rawa-rawa.

Menu item Statis

Menu item Dinamis

Particle System

Suasana di rawa

105
A. Pembuatan Menu Item Statis

Pembuatan main menu yang statis lebih mudah dari pada


menu item yang dinamis dikarenakan hanya menggunakan GUI Box
dan GUI Button untuk Formnya, sehingga tidak ada unsur animasi
didalamnya. Untuk mengkondisian suasana dapat dilakukan pada
background, karena pada Button dan Form tidak dapat diberikan
suasana game.

Untuk pembuatan Menu item statis ini penulis hanya


mencontohkan dengan satu Form GUI Box dan satu GUI Button,
sehingga untuk proses pengembangan lebih lanjut user bisa
melakukannya sendiri dengan prinsip dasar yang sudah dicontohkan.

Berikut adalah langkah awal didalam pembuatan menu


item yang statis, dengan membuka jendela java script dan menuliskan
Script berikut.

function OnGUI () { // membuat fungsi GUI

GUI.Box (Rect(10,10,200,90), " Start The New Game?"); //membuat GUI Form dengan kata

if (GUI.Button(Rect(60,40,80,20),"yes")) //membuat GUI Button dengan kata

Application.LoadLevel(1); //memanggil Scene Unity dengan nama Level1

106
Selanjutnya memasukkan Scene Unity yang akan
dieksekusi yaitu Scene menu item dan scene Level1 pada jendela
Build Settings, seperti pada gambar berikut. File -> Build Settings

Lakukanlah Setting peletakan GUI box atau GUI Form


dengan memasukkan nilai yang diinginkan pada GUI Box script yang
telah dibuat sehingga peletakan dari GUI Form dan Gui button dapat
tepat berada pada posisi yang diinginkan.

Setelah langkah-langkah tersebut selesai, maka


lakukanlah Running untuk melihat hasil dari menu item statis yang
telah dibuat itu. berikut adalah gambaran tampilan dari menu item
statis yang telah jadi.

“click” atau tekan tombol “yes” untuk memasuki game pada


scene level 1 yang telah dibuat sebelumnya.

107
A. Pembuatan Menu Item Dinamis

Pembuatan Menu item dinamis tidaklah semudah


membuat menu item statis yang hanya menggunakan Script GUI dan
GUI Button, namun terdapat langkah-langkah khusus yang harus
diperhatikan didalam pembuatannya, seperti halnya peng-input-an
Font Windows ke bagian Unty Project dan proses eksekusi Script
saat mouse enter dan mouse exit.

Untuk membuat menu item dinamis yang pertama


kali harus dibuat yaitu membuat sebuah cube dengan texture yang
diinginkan, seperti pada gambar berikut ini.

Object cube

Selanjutnya yaitu untuk memperindah tampilan dari 3D


text yang akan dibuat lebih baiknya mengambil Font dari Windows
Font yang di-copy-kan ke dalam folder unity project . berikut
penjelasan mengenai gambarnya. Masuk ke C -> Windows -> Fonts
setelah itu pilih salah satu Font yang sesuai untuk menu item, copy
font tersebut.

108
Kemudian masuk ke Folder new unity project seperti yang
pernah diterangan sebelumnya yaitu pada bab pembuatan Timer pada
My Computer > Drive C > User > Asus (penulis menggunakan laptop
Asus) > my Documents > New Unity Project . Sehingga akan nampak
file folder new unity project seperti gambar berikut.

Paste-kan Font yang sebelumnya di-copy ke dalam folder


Assets, jika sudah di paste-kan maka akan nampak seperti pada
gambar berikut. Penulis memilih AdobeGothicStd-Bold sebagai text
untuk menu item.

109
Maka secara otomatis akan masuk ke dalam jendela
project pada program Unity 3D. Seperti pada gambar.

Lakukanlah pengubahan settings pada jendela inpector


dari font tersebut yaitu pada bagian berikut. Isikan setting sama
seperti pada gambar, yaitu mengenai Font Size, Character dan Font
Rendering .

110
Setelah itu membuat 3D text sebagai unsur item yang
akan digunakan pada pilihan menu yaitu dengan cara memasukkan 3D
text pada menu create di jendela Hierarchy.

Sehingga akan nampak 3D text, kemudian lakukanlah


pengubahan 3D text tersebut dari kata Hello World menjadi kata
Start Game.

111
Font akan otomatis berubah

Maka akan nampak Font AdobeGothicSTD-Bold secara


otomatis, jika belum nampak maka dapat dilakukan drag and drop dari
jendela project ke sub menu Font pada jendela inspector

Langkah selanjutnya yaitu memasukkan Box Collider ke


sub menu dari 3D text, kegunaan dari box Collider ini yaitu untuk
mendeteksi ada sentuhan antara mouse dengan object terkait
sehingga akan dijalankan efek saat terjadi sentuhan atau tabrakan
pada object yang terdapat box collider. Berikut adalah cara untuk
menambahkan sub menu Box Collider pada jendela inspector 3D text,
pilih menu component pada formating toos, lalu pilih Physics, dan pilih
Box Collider.

112
Maka sub menu Box Collider pada jendela 3D text akan
terbuat dengan sendirinya.

Sub Menu Box Collider

Posisikan 3D text dengan Cube agar sejajar pada camera,


berilah Point light untuk memperindah tampilan menu item, Setelah
selesai membuat Cube, 3D text dan Box Collider maka yang harus
dilakukan kemudian yaitu membuat duplikat dari cube dan 3d text
sehingga akan menjadi dua bagian yang sama, dengan cara copy-paste
object pada jendela Hierarchy dan ubahlah text sesuai kebutuhan,
sehingga akan nampak seperti pada gambar berikut.

113
Langkah yang terakhir yaitu memberikan script para 3D
text yang akan dieksekusi, Script tersebut berfungsi untuk
melakukan perubahan warna dan sedikit gerakan agar nampak hidup
saat ditekan pada bagian textnya, ada dua 3D text yang akan
diberikan script yaitu Start game dan Exit, keduanya dimasukkan
script yang sama. Berikut adalah scriptnya dengan tipe C sharp script
dan nama Object Menu. Berikut adalah cara membuat C Sharp
Script.

114
Ubah semua isi dari default C Sharp Script seperti pada
script dibawah ini. Fungsi dari C sharp Script yaitu untuk
mengaktifkan UnityEngine dan System.Collection pada unity 3D.
Berikut adalah Script C sharp Scriptnya.

using UnityEngine;
using System.Collections;

[ExecuteInEditMode]
public class ObjectMenu : MonoBehaviour
{
public bool isQuit = false;
void OnMouseEnter() //mengaktifkan saat mouse on selection
{
renderer.material.color = Color.red; //mengubah warna 3D text menjadi
merah saat dipilih oleh mouse
}
void OnMouseExit() //mengaktifkan saat mouse off selection
{
renderer.material.color = Color.white; //mengubah warna 3D text menjadi
merah saat dipilih oleh mouse
}
void OnMouseDown() //mengaktifka tombol keyboard down
{
if(isQuit) //jika check box is quit terpilih
{
Application.Quit(); //keluar dari program
}
else
{
Application.LoadLevel(1); //masuk ke Scene dengan nama level1
}
}
}

115
Lakukanlah drag and drop Script tersebut ke dalam jendela
inspector di tiap-tiap object 3D text. Sehingga jika sudah
dimasukkan akan nampak seperti pada gambar berikut.

Untuk 3D text pada menu exit ada sedikit perbedaan yaitu


dengan mengaktifkan check box Is Quit yang mana untuk
menandakan kalau 3D text dengan nama “exit” tersebut
mengaktifkan perintah Is Quit pada C Sharp Script yang telah
dibuat sebelumnya. Berikut adalah gambarnya.

116
Sebagai catatan bahwa pada bagian Bulid setting telah
ada dua item yaitu Menu item dan level 1, sehingga saat eksekusi
tidak mengalami error kaena belum adanya identifikasi scene yang
akan di eksekusi.

Setelah semua langkah telah dilakukan, maka Lakukanlah


Running untuk melihat hasilnya, soal bacground dan animasi telah
dijelaskan pada bab terkait, sehingga pada bab ini hanya membahas
mengenai pembuatan menu item statis dan dinamis.

Untuk animasi dan suasana background disesuaikan


dengan keadaan game dan juga kreatifitas dari user supaya dapat
membuat pemain dapat tertarik untuk bermain pada game yang telah
dibuat tersebut.

117
18. Pembuatan HealthBar

Pada suatu game 3d maupun 2d pastilah ada yang


dinamakan Health bar, tertama game yang bergenre adventure dan
shooter. healthbar sangat penting didalam suatu game karena untuk
mengukur kemampuan dan menjadi tolok ukur suatu nyawa dari
character utama / pelaku.

Fungsi lain dari health bar yaitu agar pemain tidak cepat
bosan atau cepat menyerah dengan keadaan yang sulit pada game
tersebut, karena dengan adanya healthbar pemain dapat memanage
kondisi terbaik untuk bisa keluar dari kondisi sulit suatu game, atau
dengan kata lain health bar berfungsi untuk memberikan kesempatan
kepada pemain saat terkena serangan dari musuh, dan tidak cepat
Game Over . karena jika cepat game over maka pemain akan bosan
dan berfikir kalau game tersebut terlalu sulit.

Game 3d maupun 2d memiliki heath bar yang biasa


terletak dilayar bagian pojok atau di bagian bawah, penempatan
health bar sangat berpengaruh sekali bagi suasana psikologis pemain,
posisi health bar harus diletakkan dimana pemain dapat nyaman untuk
melihatnya, warna dan bentuk haruslah jelas dan juga yang
terpenting adalah kata-kata penunjuk kalau warna atau bentuk
tersebut adalah health bar, bisa berupa kata-kata seperti LIVES,
POINT, HEALTBAR, dll

Prinsip kerja dari Health Bar disini yaitu jika terkena


serangan dari musuh maka akan mengurangi nyawa atau nilai health
bar tersebut, bentuk dari perubahan pada health bar bisa bermacam-
macam, ada yang mengurangi panjang, ada yang mengurangi jumlah
dan ada pula yang mengurangi pint atau angka.

Manfaat dari healthbar pada suatu game yaitu bisa


menumbuhkan suasana psikologis yang lebih baik, terutama didalam

118
memanage suatu kondisi tertentu dengan berbagai pilihan, dan
memberikan tantangan tersendiri bagi pemain untuk memacu
semangat dan pikiran.

Pada bab ini akan dibahas mengenai bagaimana membuat


healthbar pada suatu game 3d dengan menggunakan unity 3d,
langkahnya cukup sederhana, hanya memerlukan perintah script untuk
menjalankannya dan GUI Texture sebagai bentuknya.

Penulis sengaja membuat healthbar dengan menggunakan


tiga buah bentuk object yang telah diimport ke dalam unity project,
caranya sama seperti pembuatan pada timer, dengan melakukan copy
atau cut object, setelah itu di-paste pada Folder New Unity Project.
Object ang digunakan sebagai health bar yaitu:

health1

health2

health1

Jika sudah diimport ke dalam unity 3d maka akan nampak


icon tersebut pada jendela project seperti pada gambar berikut.

119
Langkah selanjutnya yaitu membuat GUI Texture, yang mana
kegunaan dari GUI Texture adalah untuk membuat object berupa
benda yang akan ditampilkan dilayar. Berikut adalah cara untuk
membuat GUI Texture.

Setelah itu ubah namanya dari “Unity Watermark-small”


menjadi “health3” dengan cara rename. Setelah itu lakukanlah drag
and drop object ke dalam sub menu texture pada object GUI
Texture, seperti pada gambar berikut.

Jika sudah berhasil memasukkan object, maka akan nampak


pada layar, kemudian lakukan setting pada menu transform sehingga
didapat posisi yang ideal untuk sebuah healthbar, lakukan setting
dengan memasukkan angka berikut ke dalam menu transform.

120
Nilai yang tersebut adalah untuk memposisikan agar
object dapat berada di pojok kiri atas seperti pada gambar. Untuk
posisi lain juga bisa, tergantung dengan kenyamanan dari user untuk
menempatkannya.

Setelah object telah namapak dilayar, selanjutnya adalah


melakukan pembuatan script yang gunanya adalah untuk merubah
bentuk dari healthbar dari health3 menjadi health2 dan seterusnya.

Berikut adalah scriptnya dengan nama HealthControl


dengan tipe java script.

HealthControl.js

var health1 : Texture2D; //melakukan penginputan object dan pendeklarasian


var health2 : Texture2D;
var health3 : Texture2D;

static var LIVES = 3; // memberikan nilai pada sting LIVES dengan jenis Static Var

function Update ()
{
switch(LIVES) //untuk melakukan pergantian perulangan
{
case 3:// perumpamaan pertama
guiTexture.texture = health3;//memberikan object health3
break;//mengembalikan perumpamaan pada kendali lain

121
case 2:
guiTexture.texture = health2;
break;

case 1:
guiTexture.texture = health1;
break;

case 0:
untuk memberikan script game over

break;

}
}

Kemudian masukkanlah ke dalam jendela inspector pada


object GUI Texture yang sudah diberi nama dengan health3 dengan
cara drag and drop seperti pada gambar.

122
Masukkanlah object ke dalam ketiga sub menu script dengan
cara drag and drop object.

Jika sudah memasukkan object kedalam sub script menu


maka yang harus dilakukan lagi yaitu membuat script untuk melakukan
pengendalian saat main Character / pelaku yang berupa object
capsule (main character berupa camera) terkena tembakan dari
musuh dengan nama healthbar, bertipe java script.

healthbar.js

static var heathtexture ;// mendefinisikan “heathtexture” sebagai static var

function OnCollisionEnter (theCollision : Collision) { //fungsi untuk melakukan perintah


saat object berbenturan atau bersentuhan
var heathtexture = gameObject.Find("health3"); //mencari object heath3

if(theCollision.gameObject.name == "player"){ //melakukan perintah saat berbenturan


dengan pelaku yang mana pelaku / character utama bernama “player”
HealthControl.LIVES -= 1;//melakukan pergantian perulangan pada LIVES di script
HealthControl.js
}
}

Selanjutnya yaitu memasukkan script tersebut ke dalam


prefab peluru musuh, yang mana pada bab sebelumnya telah dibahas
mengenai pembuatan object peluru musuh. Nama dari prefab peluru
musuh yaitu “gun”.

123
Kemudian hal yang sangat penting untuk dilakukan yaitu
membuat sub menu collider pada prefab “gun”, sub menu collider
berfungsi untuk mendeteksi benturan yang dilakukan oleh
GameObject terhadap object lain, sehingga perintah pada script
akan dapat dieksekusi dengan pendeteksian dari sub menu collider.
Sub menu collider tidak bersifat otomatis, maksudnya yaitu jika sub
menu collider berupa capsule collider berarti hanya mendeteksi
benturan dengan object yang berupa capsule pada GameObject,
untuk Box Collider hanya mendeteksi benturan dengan object cube,
Sphere Collider hanya untuk mendeteksi benturan object yang
berupa sphere terhadap GameObject, begitu pula dengan yang
lainnya.

Karena character utama atau pelaku berbentuk capsule maka


yang digunakan adalah Capsule Collider, berikut adalah cara untuk
memberikan sub menu collider.
124
Pilih menu component pada formating tools, lalu pilih physics
kemudian pilih Capsule Collider.

Maka akan nampak sub menu Capsule Collider pada bagian


jendela inspector pada object prefab “gun”.

Setelah semua langkah telah dilakukan maka untuk melihat


hasilnya dapat menggunakan tombol play untuk running result.

125
Seseorang yang banyak mencoba, akan banyak pula tahu apa
yang dibutuhkannya dan bagaimana cara penyelesaiannya

“Banyak mencoba maka akan banyak bisa”

-----------------Selamat Mencoba----------------

126
ABOUT AUTHOR

Yanuar Mukhammad adalah seorang


mahasiswa universitas gadjah mada tepatnya di
D3 Elektronika dan Instrumentasi angkatan
2009, kelahiran kota pekalongan, jawa tengah,
sekarang tinggal di Kota Batang, jawa tengah,
kegiatan utama dari penulis adalah membuat
animasi dan game baik itu 3D atupun 2D.

127
DAFTAR PUSTAKA

www.unity3dstudent.com

www.youtube.com

www.unityanswer.com

128