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 anakanak, 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

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 fiturfitur 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 fiturfitur 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

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

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

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. 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

1. Untuk melakukan input component


2. Untuk melakukan editting object dan penambahan script
3. Untuk membuat component Support yang berupa Script atau filefile pendukung object yang akan diikutsertakan saat dimainkan

1. Untuk mengaktifkan/menon-aktifkan Layers


2. Untuk mengubah posisi Layar Editor dan Layar Hasil

2 3

1. Untuk Menjalankan Layar Editor


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

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

10

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

function Update()

Untuk mengeksekusi perintah yang selalu


berubah sesuai kondisi

function OnCollisionEnter()

function OnTriggerEnter()

Untuk mengeksekusi perintah pada


object yang akan bertabrakan atau
bersentuhan dengan object lain
Untuk mendeteksi benturan saat check
box is trigger diaktifkan

function Start()

Untuk melakukan eksekusi perintah pada


saat Running dijalankan

function OnGUI()

Untuk membuat GUI


perintah eksekusinya

public class ObjectMenu


MonoBehaviour

Itulah

beberapa

dan

perintah-

: Mendefinisikan bahwa perintah


dimasukkan berupa C Sharp Script

fungsi

yang

biasa

digunakan

yang

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
1
Instantiate

DEFINISI
Untuk menciptakan sebuah object yang
akan dieksekusi pada titik tertentu

Destroy()

Untuk
menghapus
didefinisikan

if()

Untuk melakukan
percabangan

else if()

Untuk melakukan perumpamaan lain jika


yang pertama bernilai salah

Find()

Untuk mencari
dieksekusi

Transform

Untuk melakukan input data pada menu


transform suatu object

Rigidbody

Untuk memberikan
pada object

Var

Untuk mendefinisikan
yang akan dieksekusi

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

object

yang

perumpaman

object

yang

tarikan

atau

akan

gravitasi

sebuah

object

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


tersebut integer (angka)

object

15

String

Untuk mendefinisikan bahwa


tersebut berupa String (kata)

object

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

22

DeltaTime

Untuk melakukan perubahan posisi atau


perpindahan object yang mengarah
kedepan
Mendefinisikan perintah time dan
mengisi nilai default pada time

23

Quaternion

24

LookRotation

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.

Untuk mendeklarasikan bagian suatu


object, atau object tertentu mengenai
identitas, posisi dll
Melihat perubahan posisi suatu object
tertentu

21

28

Button

Untuk membuat object button

29

Box

Untuk membuat object Box

30

Rect

Untuk membuat object rectangle (kotak)

31

...........

Untuk memberikan
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
sebeanyak satu kalimat

36

/*...............*/

Untuk memasukkan pernyataan lebih


dari satu kalimat

37

InvokeRepeating

Untuk melakukan
function tertentu

38

Function....(........)

Untuk mengaktifkan function


yang telah dibuat sebelumnya

39

-=
+=

40

<
>

pernyataan

yang

pernyataan

perulangan

pada
buatan

Melakukan pengurarang
Melakukan penambahan
Kurang dari
Lebih dari

41

Texture2D

Untuk
memberikan
bertexture 2D

object

yang

42

Name

43

GameObject

Untuk mendefinisikan atau menginput


sebuah nama suatu object atau object
target
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

51

Translate

Mengaktifkan
suatu
perintah
jika
bernilai true, jika bernilai false maka
menonaktifkan perintah
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

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 userlah 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 efekefek, 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. 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.

1
2
3

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

menggunakan

beberapa

Script

langkah

sehingga

dapat

dasar,

dan

dengan

tidak

mudah

pula
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 langitlangit 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 lainlain.


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

menandakan

kalau

check

3D

text

box

Is

dengan

Quit
nama

yang

mana

exit

untuk

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 bermacammacam, 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