Mudah Membuat Game dengan Unity3D

(1)

12

Modul Membuat Game

dengan Unity 3D Engine

Tutorial step by step dari nol hingga mahir


(2)

Donasi

50% buat Anak Yatim

Yth. Pembaca...

Tutorial ini bersifat

free...

silahkan dibagikan ke semua yang

membutuhkannya...Jika tutorial ini memberikan manfaat

dan menambah pengetahuan pembaca semua, lalu anda

berniat mau menyisihkan sebagian rejekinya untuk

berdonasi sebagai salah satu bentuk apresiasi...Silahkan

melalui rekening BCA 008 043 3476 an Deni Kurnia.

Jazakumullohu Khoir...


(3)

Bab 1

MODUL TINGKAT DASAR

1.1. InstalasiUnity3D Game Engine

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

Nah, saat ini banyak tools/software yang dipakai untuk membuat sebuah game. Salah satusoftwaretersebut adalahUnity3D.

Unity3D merupakan salah software game development yang lengkap. Source-nya dapat di-download melalui tautan http ://unity3d.com . Kita dapat menggunakan versi trial-nya untuk mengeksplorasi fitur-fitur apa saja yang terdapat dalam

softwareini.

Catatan :

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

Untuk memahami proses instalasiUnity3D, ikuti langkah-langkah sebagai berikut : 1. Setelah proses download selesai. Klik folder tempat Unity3D tersebut di

letakkan. Lalu pilih filesetup.exe


(4)

Gambar 1.1 Welcome Setup Unity 3.4

2. PilihNext


(5)

3. PilihI Agree>Next,lalu pilihoptionseperti gambar 1.3

Gambar 1.3 Choose Components

4. Pilih folder tempat instalasi, tekanInstall


(6)

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


(7)

1.2. MemahamiUser Interface Unity3D

Pada saat membukaUnity3D, maka akan muncul tampilan sebagai berikut :

Gambar 1.6 Welcome Screen Unity

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


(8)

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

1. Scene

Gambar 1.8 Scene View

Scene adalah tempat ditampilkannya seluruh asset yang terdapat dalam jendelaProject View(lihat penjelasanProject View).

Lalu apa yang disebut denganasset?

Asset merupakan komponen yang digunakan untuk membangun

project/game. Di dalamassetini biasanya tersusun dari beberapafolder yang didalamnya tersimpanmodel,texture,image,material,script, dll.

2. Game

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


(9)

Gambar 1.9 Game View

3. Project

JendelaProjectadalah tempat semuaassetditampilkan.


(10)

Didalam jendelaproject,Unitymenyediakan fasilitas membuat : - folder

- Javascript

- C# Script

- Boo Script

- Shader

- dst.(lihat gambar 1.10)

Caranya, anda tinggal klik menu create di jendela project, lalu akan muncul sub menu seperti gambar 1.10. Penjelasan fasilitas ini akan dijelaskan pada Bab 2 (modul tingkat menengah).

4. Hierarchy

Hierarchy / hirarki merupakan tempat beradanya game object pada scene

yang sedang aktif. Ketika kita berpindah scene, maka komponen dalam

hierarchyakan berubah mengikuti scene yang sedang aktif. Coba perhatikan gambar 1.11


(11)

5. Inspector

Inspector adalah properties-nya suatu game object dalam unity. Contoh : apabila kita memilih salah satugame object pada jendelaProject, maka akan tampil parameter dan informasi lainnya diInspector.


(12)

6. Toolbar

Toolbar Unity3D terdri dari lima bagian utama, yaitu :

1. Transform Tool

Digunakan untuk menggeser, memutar dan mengubah ukuranobject.

Contoh penggunaantransform tool:

- Buatobject cubedengan cara pilihcreatedihierarchy, pilihcube; - Move the selected object :geser objekcubepada sumbu x, y atau z;

Gambar 1.13 Move the selected object button

- Lalu lihat bagianinspector, amati perubahan nilai pada koordinat x, y atau z.


(13)

Gambar 1.13 Perubahan nilaiPositionketikacubediubah posisi koordinatnya.

2. Transform Gizmo Toggle

Toolbar ini biasanya dipakai untuk mengatur sudut pandang koordinat pada Scene View, misalnya :

- Center

Menempatkan koordinat pada tengah obyek terpilih/aktif. Akan kelihatan perubahannya saat kita memilih lebih dari satu obyek.


(14)

- Pivot

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

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

-Local

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


(15)

-Global

Posisi koordinat x, y, z mengikutiScene View

Posisi koordinat akan tetap walaupun obyek dirotasi, karena mengikuti koordinat global. Artinya koordinat obyek absolute terhadap koordinat

sceneutama/Scene View.

Gambar 1.17 Posisi koordinat global ada pada cube saat dirotasi

3. Play/Pause/Step Button

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

4. Layout Drop-Down


(16)

7. Menu

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

Gambar 1.18 Menu Standar Unity versi 3.4

Penjelasan fungsi fungsi menuUnityakan dibahas pada bagian tutorial membuatgamedi akhir bab 2 dan awal bab 3. Setelah mengikuti tutorial tersebut, anda dengan sendirinya akan memahami fungsi menu padaUnity

secara keseluruhan.

1.3. Membuat, Menyimpan dan MengkompilasiProject

1.3.1 Membuat dan Menyimpan Project Baru

Membuat project baru : 1. KlikFile > New Project


(17)

2. PilihCreate

Gambar 1.20 Memilih folder Project Baru ditempatkan

Catatan :

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

Menyimpan project baru : 1. KlikFile > Save Project


(18)

1.3.2 Membuat Scene Baru

Langkah membuat scene baru : 1. KlikFile > New Scene

Gambar 1.21 Membuat Scene Baru

Langkah menyimpanscene:

1. KlikFile > Save Scene, atauFile > Save Scene as

Gambar 1.22 Menyimpan Scene

2. Beri namascene1misalnya, lalu simpan di folder asset.

Catatan :

Dalam satuprojectbisa terdiri dari satuscene atau lebih, tujuannya kita bisa berpindah dari satu scene ke scene lain. Contoh penggunannya adalah levelingdalamgame,scene1untuklevel1,scene2untuklevel2, dst.


(19)

1.3.3. Mem-build game

Langkah yang paling penting setelah kita membuat project game adalah bagaimana game tersebut bisa di-compile/di-build sehingga dapat dimainkan orang lain.

Unitymenyediakan fasilitas mem-build gamedengan satu langkah cepat. Cara mem-build gamepadaUnityadalah sebagai berikut:

1. KlikFile> Build Setting

Gambar 1.23 Mem-build Game


(20)

Catatan :

Unitymenyediakan fasilitasbuild gamedengan enamplatformyang berbeda, diantaranya :

- Web Player

- PC and Mac Standalone

- Android

- iOS

- Xbox 360

- PS3

Jadi, sekali kita mendesain sebuahgame, maka kita bisa mem-buildkedalam enam platformyang berbeda. Menarik bukan ?


(21)

Bab 2

MODUL TINGKAT MENENGAH

2.1. Membuat Obyek Dasar(Game Object)

Unity menyediakan fasilitas membuat game object standar seperti cube, cylinder, capsule, plane, camera, particle, dan light dll. Adapun game object yang memiliki tingkat kompleksitas yang tinggi, seperti model manusia dan hewan dapat dibuat di

software lain seperti Blender, 3D Max atau Maya. Selanjutnya model tersebut

di-importolehUnitymenjadi game objectdan disimpan sebagaiasset. Tahapanimport assetini akan dijelaskan pada tutorial membuatgame 3Ddi awal bab 3.

Untuk memulai membuat obyek dasar seperti cube, langkahnya adalah sebagai berikut :


(22)

Gambar 2.2 Cube

2.2. Menggeser, memutar dan mengubah ukurangame object

Menggesergame object, dapat dilakukan dengan cara :

Melalui Scene View, klik button move the selected object,

kemudian klik salah satu koordinat (ditandai dengan anak panah merah untuk sumbu x, hijau untuk sumbu y dan biru untuk sumbu z). Lalu drag/geser dengan


(23)

Gambar 2.3 Menggeser game object Cube

Memutargame object, dapat dilakukan dengan cara :

Melalui Scene View, klik button rotate the selected object,

kemudian klik dandraguntuk memutar mengikuti sumbu yang sedang aktif (di-klik). Lihat perubahan nilai padaInspector.


(24)

Mengubah ukurangame object, dapat dilakukan dengan cara : Melalui Scene View, klik button scale the selected object,

kemudian klik dan drag untuk memperkecil dan memberbesar pada sumbu x, y atau z. Lihat perubahan nilai padaInspector.

Gambar 2.5 Mengubah ukuran game object Cube

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

Gambar 2.6. Menggeser, memutar dan mengubah ukuran melalui inspector


(25)

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

2.3. MemahamiCamera

Camera adalah bagian penting bagaimana suatu game ditampilkan kepada user.

Unitymenyediakan fasilitas membuatcameradengan langkah : Klik GameObject > Create Other > Camera


(26)

Gambar 2.7. Camera Preview saat Camera sudah dibuat

2.4. MembuatMaterialdan Meng-import Texture

Seperti halnya software 3D lain, Unity pun menyediakan fasilitas membuat material standar berupa warna. Untuk material yang kompleks seperti tekstur pohon, kulit dll, Unity menyediakan fasilitas importdarisoftwarelain.

Langkah membuat material padaUnityadalah sebagai berikut : 1. Klik Asset > Create > Material

Secara defaultpada jendelaProjectakan terbentuk material baru dengan nama

New Material, silahkan ubah nama dengan nama cubeMaterial misalnya seperti pada gambar 2.9


(27)

Gambar 2.8. Membuat material

Gambar 2.9. Mengubah nama material

2. Klik cubeMaterial, perhatikan jendela Inspector, terdapat properties warna yang bisa kita edit.


(28)

Gambar 2.10. Mengubah warna material

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

sekarang warnacubemenjadi merah sesuai denganmaterialyang di-drag.


(29)

Setelah anda dapat membuat material dengan Unity, sekarang mari kita membuat material darisoftwarelain. Langkahnya adalah sebagai berikut :

1. BukaSoftware Adobe Photoshop

2. Buat file500x 500 pixel

3. Buat material seperti dibawah ini, atau anda bisa mencari distockfotoonline

Gambar 2.12. Material dengan nama woodgrain.jpg

4. Save ke folderAssets seperti pada gambar 2.13 , sehingga nanti akan muncul di JendelaInspector(gambar 2.14)


(30)

Gambar 2.14. Material muncul di jendelaProject

5. Drag material dari jendelaProjectkecubedi jendelaHierarchyseperti gambar 2.15. Lihat perubahan material yang terjadi padacube!

Gambar 2.15. Pemberian material woodgrain pada cube

drag

[Type a quote from the document or the summary of an interesting point. You can position the text box anywhere in the document. Use the Text Box Tools tab to change the

formatting of the pull quote text box.]


(31)

Gambar 2.16. Jendela inspector saat bagianshaderdi-klik

2.5 Meng-import Sounds (Audio Components)

Sebuah proyek game tentu akan banyak memerlukan suara/sound. Pada Unity disebutAudio components. Secara umum dibagi dua, yaitu :

- Audio Listener, komponen yang dimasukkan kedalam kamera/player agar ketika game dimainkan, player mampu menangkap suara yang ada pada game object.

- Audio Source,suara dimasukkan kedalamgame object sehingga suara berada

Default Shader


(32)

Cara memberikan suara(Audio Listener)adalah sebagai berikut : 1. Klik Main Camera

2. Klik Component > Audio > Audio Listener (gambar 2.17)

Gambar 2.17. Membuat Audio Listener pada Main Camera

3. Perhatikan jendela Inspector, lihat perubahan yang terjadi.


(33)

Catatan :

Secara default Audio Listener sudah terdapat pada Main Camera pada saat anda membuatprojectbaru danscenebaru pada Unity. Langkah diatas untuk tambahan pengetahuan agar anda mengetahui proses pembuatanAudio Listener.

Setelah anda memahami cara membuat Audio Listener, berikutnya adalah cara memberikan suara(Audio Source)pada suatugame object

Langkahnya adalah sebagai berikut :

1. Siapkan sumber sound yang akan di-import seperti contoh pada gambar 2.17 (atau anda bisa mengunduh yang gratisan di internet)

Gambar 2.17. Menyiapkan folder sumber sound

2. Copy ke folderAssetpada projectanda. Pada folderAssetsini anda sebaiknya membuat folder baru dengan nama Suara, supaya file pada Assets tersusun rapi/terstruktur.


(34)

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

Gambar 2.19. Tampilan pada jendela Project

4. Drag LASER01 pada jendela Project keCubedi JendelaHierarchy

Gambar 2.19. Tampilan pada Inspector saat sound LASER01 di -dragkecube


(35)

5. Perhatikan perubahan tampilan jendela Inspector dan jendela scene pada

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

Gambar 2.20. Tampilan pada cube

6. Centang Loop pada jendela Inspector di bagian Audio Source, agar suara dijalankan secara berulang-ulang.

7. Untuk mencoba bahwa cube sudah memiliki suara, klik tombol play

lalu perhatikan apa yang terjadi.

2.6 Membuat Partikel

Partikel biasanya dipakai untuk membuat efek ledakan peluru pada game

menembak/perang, semburan asap knalpot pada game balap, atau efek pukulan pada game pertarungan. Pada prakteknya, banyak penggunaan efek partikel ini. Sebagai standargame engine, tentuUnitymenyediakan fasilitas ini. Mari kita ikuti langkahnya.

1. KlikGame Object> Create Other > Particle System

Ada icon speaker


(36)

2. Perhatikan yang terjadi padaScene View, lihat gambar 2.22

Gambar 2.22. Partikel yang sudah dibuat pada jendelaScene View

3. Arahkan mouse anda ke jendela Inspector, disini kita akan mengatur parameter partikel sesuai denga tipe yang kita butuhkan.

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

Gambar 2.23. Mengubah nilai dan warna paritkel padaInspector

Ikuti nilai yang tertera pada gambar ini

Klik untuk mengganti warna


(37)

5. Perhatikan partikel akan berubah seperti gambar 2.24 pada jendelaScene

Gambar 2.23. Mengubah nilai dan warna paritkel padaInspector

2.7 MemahamiPrefabs

Prefab adalah salah satu Assets yang dapat digunakan berkali-kali. Prefab

terletak pada Project View dan dapat dimasukkan kedalam Scene View dengan cara di-drag. Selain itu, prefab pun dapat dikaitkan/ di-link-kan dengan game objectlain.

Contoh aplikasinya, misalnya untuk membuat sebuah peluru yang ditembakkan pistol, kita hanya perlu sekali saja membuat game object berupa peluru, lalu peluru tersebut dijadikan prefab, kemudian prefabpeluru diletakan pada ujung pistol, lalu nanti ketika mouseditekan, maka prefab peluru dapat ditembakkan berkali-kali. Proses ini disebut instatiate. Lebih detail aplikasinya akan dijelaskan pada sub bab membuatgame.


(38)

Langkah membuatprefabadalah : 1. KlikAsset> Create > Prefab

Gambar 2.23. MembuatPrefab

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


(39)

3. Buatcubepada Jendelahierarchy, laludrag cubeke dalamNew Prefab. New Prefabini, coba ganti dengan namaPrefabCube Lihat gambar 2.24.

Catatan :

Penamaan PrefabCube ini hanya contoh saja, anda dapat menggantinya dengan nama lain.

Gambar 2.24 Men-drag cubekedalamPrefabCube

4. Setelah cube di-drag ke PrefabCube, anda tidak memerlukancube lagi, oleh karena itu hapus cubeyang ada di jendela Scene dengan cara klik lalu tekan

deletepadakeyboard.

5. Sekarang anda memiliki PrefabCube yang bisa di-drag sebanyak-banyaknya kedalam JendelaScenetanpa harus membuatcubesatu persatu!.

2.8 Membuat Animasi

Animasi dapat dilakukan dengan dua cara, yaitu :

1. Melalui perubahankeyframe (postion, rotation, scale)tanpascripting. drag


(40)

Pada bagian ini akan dijelaskan animasi tanpa scripting, untuk animasi denganscripting akan dibahas pada sub babscripting.

Catatan :

dalam contoh dibawah ini, animasi yang dibuat menggunakangame object cube

Langkah membuat animasinya adalah sebagai berikut : 1. KlikCreate> Game Object > Cube

2. KlikWindows > Animation (Perhatikan gambar 2.25)

3. Klik record button, simpan dengan nama New Animation (Perhatikan gambar 2.26)

Gambar 2.25 JendelaAnimation

Gambar 2.26 Save Animation

klik


(41)

4. KlikAdd Keyuntuk mengunciframe

Gambar 2.27 MengunciFrame

5. Gesercubepada sumbu x, y atau z (lihat gambar 2.28)

Gambar 2.28 Menggeser Frame

geser


(42)

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

keyframebaru. Coba perhatikan gambar 2.30

Gambar 2.30 Menggeser Cubepada sumbu x untuk membuat animasi

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

2.9 MembuatLighting

Lighting/pencahayaan adalah salah satu komponen yang mendukung terhadap skenario suatugameagar tampak lebih realistis.

Unitymenyediakan tiga jenis pencahayaan yaitu : - Directional Light

- Point Light

- Spotlight

Untuk menjelaskan perbedaannya, perhatikan langkah berikut :

1. Directional Light

Langkah membuatDirectional Light: - KlikGameObject > Create Other > Cube

- KlikGameObject > Create Other> Directional Light

Perhatikan Gambar 2.31 dan 2.32


(43)

Gambar 2.31 MembuatDirectional Light

- Gunakan Move the Selected Object untuk menggeser

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


(44)

Gambar 2.32 MenggeserDirectional Light

- GunakanRotate the Selected Object untuk menggeserDirectional

Lightpada sumbu x, y atau z . Lihat perbedaan yang terjadi pada gambar

Gambar 2.33 MemutarDirectional Light

Kalau anda sudah mengerti cara membuat Directional Light, tentu akan mudah membuatPoint LightdanSpotlightseperti dibawah ini bukan ?


(45)

2.10 MenerapkanPhysicspadaGame Object

Physics pada Unity diantaranya dipakai untuk mengontrol gravitasi, gaya dan tumbukan (collision)pada suatu game object. Unity memiliki bawaan NVIDIA PhysX Physic engine.

Padasub-menu Physicterdapat pilihan seperti gambar 2.35 :

Gambar 2.35 Sub-menu padaPhysics

1. Rigidbody

Rigidbody merupakan sub-menu physics yang salah satu fungsinya digunakan untuk mengontrol gravitasi pada game object. Untuk mencoba menerapkan rigidbody ini, langkahnya adalah sebagai berikut :

- Buat Objectcube,GameObject> Create Other > Cube

- Buat Objectplane,GameObject> Create Other > Plane


(46)

Gambar 2.36 MembuatCube dan Plane

- Terapkan Physics pada cube (pastikan posisi cube melayang diatas plane),

langkahnya : KlikCube, klikComponent> Physics> Rigidbody

- Tempatkan posisi Main Camera seperti gambar 2.37. Sehingga pada saat

di-playpergerakan jatuhnyacubekeplaneakan terlihat.

Gambar 2.37 Menggeser PosisiMain Camera

cube plane


(47)

- KlikGame View, Lalu tekanbutton Play

- Perhatikan apa yang terjadi ? Kalau langkah anda betul, seharusnya cube

akan jatuh secara realistis menimpaplane.

Catatan :

Pada jendela Inspector, secara default properties Use Gravity di-checklist. Artinya ketika diterapkan rigidbody pada game object, secara otomatis berlaku gravitasi pada obyek tersebut.

Gambar 2.38 propertiespadaInspector pada saat diterapkan rigidbody padaGame Object

2. Kinematic Rigidbodies

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

Use Gravity aktif


(48)

Salah satu aplikasikinematicini yaitu pada prefabpeluru yang ditembakkan oleh pesawat yang dikontrol melalui script. Lebih lanjut cara menerapkannya dapat dilihat pada tutorial membuatgamedi sub bab berikutnya.

3. Collider

Collidermerupakan komponenphysicyang dipakai untuk mengontrol tumbukan antargame object. Secaradefault Unitymenyertakancolliderketika kita

membuatcube, sphere, capsule dan plane.Namun, untuk obyek(game object)

yang di-importdarisoftware modellinglain, maka kita perlu menambahkan

collider terhadap obyek tersebut secara.Unitymenyediakan lima tipecollider

sebagai berikut :

- Box,digunakan untuk obyek berbentuk kubus/kotak - Sphere,digunakan untuk obyek berbentuk bola - Capsule,digunakan untuk obyek berbentuk kapsul

- Mesh,digunakan untuk obyek yang memilikimeshyang kompleks - Wheel,digunakan untuk obyek berbentuk roda

Langkah membuatcollideradalah sebagai berikut : 1. KlikComponent> Physics> Box Collider

2. Perhatikan perubahanpropertiespadaInspector(gambar 2.39)


(49)

Catatan :

Ketika membuatgame objectdasar padaUnity, secaradefault collider sudah disertakan padagame objecttersebut. Object dasar tersebut adalah :

- Cube

- Sphere

- Capsule

- Cylinder

- Plane

2.11GUI (Graphical User Interface)

GUI adalah komponen antarmuka yang diperlukan untuk berinteraksi antara

user dengan program komputer. GUI dapat berbentuk teks, gambar, maupun

button. Pada bagian ini akan dijelaskan tiga jenis GUI padaunity:

1. GUI Text

Yaitu teknik menampilkan teks agar muncul di layar pada saat game

dijalankan.

2. GUI Texture

Yaitu teknik menampilkan gambar/image agar muncul di layar pada saat

gamedijalankan.

3. GUI Basic Control

Yaitu teknik menampilkan GUI yang dikontrol melalui script agar muncul di layar pada saat game dijalankan. Aplikasinya misalnya button untuk perpindahan menu, perpindahan level, atau GUI interaktif lainnya.

Langkah membuatGUI Textadalah sebagai berikut :

1. KlikGameObject > Create Other > GUI Text


(50)

Gambar 2.40 MembuatGUI Text

2. Edit Tulisan GUI Textdan Text menjadi Selamat Datang. Perhatikan tulisan di

Scene View, berubah bukan ?

Gambar 2.41 Mengedit tulisanGUI Text


(51)

Langkah membuatGUI Textureadalah sebagai berikut :

1. KlikGameObject > Create Other > GUI Texture

Perhatikan gambar 2.42!

Gambar 2.42 Membuat GUI Texture

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


(52)

Gambar 2.43 Memasukkan file Texture.jpg ke folder Assets

Gambar 2.44 Meng-edit Texture sizepadaInspector 3. Pilih/klikUnity Watermark-smalldi jendelaHierarchy

4. Dragtexture.jpgdi jendelaprojectke jendelaInspector(lihat gambar 2.44) 5. Klik Pixel Inset pada panel Inspector, lalu ubah ukuran Width : 800 dan

Height : 600. Perhatikan perubahan yang terjadi padaGame View.

Edit Width dan Height drag


(53)

6. Apabila texture tidak berada di tengah, atur nilai position x dan y pada jendelaInspector(gambar 2.44)

7. Apabila parameter yang diatur benar, kurang lebih texture akan tampil pada

Game View seperti gambar 2.45.

Gambar 2.45 TampilanGUI TexturepadaGame View, setelah diatur parameternya.

Sekarang anda sudah memahami cara membuatGUI TextdanGUI Texture.

Salah satu aplikasinya adalah untuk opening menu atau perpindahan antar scene

padagame.

Pada bagian akhir sub pokok bahasan GUI, akan dijelaskan beberapa langkah sekaligus contoh membuatGUIdenganJavascript. Ikuti langkahnya sebagai berikut :

1. KlikAssets > Create > Javascript

2. Ubah nama default NewBehaviourScriptmenjadi MenuScript(nama file boleh bebas)


(54)

Gambar 2.46 MembuatScriptdenganJavascript 4. Ketikkanscriptsebagai berikut :

/* Contoh Script GUI untuk leveling Game */

function OnGUI () {

// Membuat Background Kotak

GUI.Box (Rect (10,10,100,90), "Menu Game");

// Membuat button pertama. Jika ditekan, maka akan dipanggil Level 1

if (GUI.Button (Rect (20,40,80,20), "Level 1")) { Application.LoadLevel (1);

}

// Membuat button kedua

if (GUI.Button (Rect (20,70,80,20), "Level 2")) { Application.LoadLevel (2);

} }

PenjelasanScript:

function OnGUI ()

merupakan fungsi untuk mengontrolGUIpadaUnity. Setiap kali anda akan membuatGUIdenganscript, maka fungsi ini harus dipanggil.

GUI.Box (Rect (10,10,100,90), "Menu Game");

merupakan perintah membuat kotak dengan aturan 10= jarak dari sumbu x ke sisi kotak, 10=jarak dari sumbu y ke sisi kotak, 100 = panjang kotak dan 90 =lebar kotak.

if (GUI.Button (Rect (20,40,80,20), "Level 1")) { Application.LoadLevel (1);

Merupakan perintah membuatbutton dengan aturan 20= jarak dari sumbu x ke sisibutton, 40=jarak dari sumbu y ke sisi button, 80 = panjangbuttondan


(55)

20 = lebar kotak. Kemudian tulisan"Level 1" merupakan tulisan padabutton,

dan perintah Application.LoadLevel (1); merupakan perintah untuk

memanggilscene/level 1.

if (GUI.Button (Rect (20,70,80,20), "Level 2")) { Application.LoadLevel (2);

Perintah untuk membuat button kedua dan saat di-klikmaka akan memanggil

scene/level 2.

Catatan :

Pada saat membuatgame, tentu anda akan mempunyai banyakscene, sehingga GUI seperti ini diperlukan untuk perpindahan antarscene.

5. Buatgame objectbaru dengan cara klikGameObject> Create Empty

6. Drag scriptyang dibuat(MenuScript)ke dalamGameObjectdi jendela

Hierarchy

7. Untuk melihat hasilnya, coba jendela kerja dipindahkan ke Game Viewlalu tekanPlay.


(56)

2.12. Membuat Game 2D : Petualangan Angkasa !

Salah satu perbedaan antara game 2D dengan 3D terletak pada posisi game objek terhadap sudut pandang pemain. Pada game 2D posisi game object berada pada koordinat x dan y saja, sehingga pemain hanya dapat menggerakan game object ke kanan, kiri, atas atau bawah. Berbeda dengan game 3D, pemain seolah-olah dapat masuk kedalam ruang permainan (sumbu z) dan leluasa menggerakan game object

ke depan, belakang, kiri, kanan, atas maupun bawah.

Pada sub bab ini, akan dijelaskan tahapan membuat game 2D sederhana. Diharapkan apabila sudah memahami konsep game 2D, maka anda akan mudah mengembangkangame 3D.

Tema game 2D ini adalah petualangan angkasa. Skenarionya adalah, player diharuskan menghancurkan serangan batu luar angkasa dengan cara menembakkan peluru dari pesawat milik player. Apabila peluru mengenai batu luar angkasa, maka nilai akan bertambah 10. Nilai dibatasi sampai 1000, sehingga bila mencapai 1000, makaplayer dianggap menang. Selanjutnya, apabila batu mengenai pesawat player, maka nyawa akan berkurang. Nyawa playerdisediakan 3 nyawa, sehingga kalau tiga kali kena batu, maka permainan berakhir(game over).

Mari kita mulai.

A. Membuat Cube, Directional Light dan Mengatur kamera

1. KlikFile > New Project

2. Simpan di foder misalnyac:\Game Petualangan Angkasa

3. PilihCreate


(57)

4. KlikFile > Save Scene. Beri namaLevel1

5. KlikGame Object > Create Other > Cube

6. KlikMain Camera, Ubah parameter padaInspectorsbb : -Background: Pilih warna hitam

-Projection: PilihOrthographic

-Size: 5 -Transform

Position: x = 0, y = 0 dan z= - 3

Rotation: x = 0, y = 0 dan z = 0

Scale: x = 1. Y = 1 dan z = 1


(58)

7. KlikCube, lalu edit nilai pada jendela Inspectorsbb :

Transform

Position: x = 0, y = -4 dan z= - 3

Rotation: x = 0, y = 0 dan z = 0

Scale: x = 1. Y = 1 dan z = 1 8. KlikAssets > Create > Material

9. Ubah dengan namaMaterialPlayer,pilih warna kuning 10. DragMaterialPlayerkedalamCube

11. KlikGameObject > Create Other > Directional Light

12. Lihat hasilnya padaGame Viewseperti gambar 2.49

Gambar 2.49 Tampilan pada Game View

Catatan :

Untuk tahap awal, game object cube pada gambar 2.49 diasumsikan sebagai pesawat player yang dapat di gerakkan ke kanan dan ke kiri. Nanti, pada bagian akhir tutorial, cube ini akan diganti dengan mesh berbentuk pesawat, sehingga game tampak lebihreal.

Agar cube/pesawat dapat dikontrol oleh keyboard, maka kita harus memanggil input keyboardmelaluiscript.


(59)

MemberikanScript ControlpadaCube

1. KlikAssets > Create > Javascript

2. Ubah menjadiScriptPlayer

3. DragScriptPlayerkedalamCube

Gambar 2.50 memasukkanScriptPlayerkedalamCube 4. Klik dua kali, kemudian tuliskanscriptsebagai berikut :


(60)

5. Coba Play ! apakah cube bergerak ke kiri dan ke kanan ? kalau tidak , klik

cube, kemudian lihat bagian Inspector, lalu ubah Player Speed menjadi 2 (coba ubah-ubah nilainya antara 0 sd 10, lalu tekan Play, bagaimana hasilnya?) .

Gambar 2.52Mengubah Player Speed pada Properties Jendela Inspector 6. Bagaimana, apakahcubesudah bisa digerakkan ?

7. Kalau pergerakkan cube kurang halus, maka kita dapat menambahkan script sbb :

* Time.deltaTime ,sehinggascriptberubah menjadi :

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

8. Kalau pergerakkan terasa lambat, maka ubah kembaliPlayer Speed menjadi = 10padaInspector. Bagaimana ? sudah realistis bukan ?

9. Selanjutnya KlikComponent > Physic > Rigidbody

10. CentangIs Kinematicdan Non-aktifkanUse Gravitypada jendelaInspector

Player Speed = 2

Penambahan script


(61)

Catatan :

Untuk mengetahui bagaimana Unity mengelola input, baik dari keyboard, mouse, joystick, dll. Lakukan langkah :

- KlikEdit > Project Setting > Input

Gambar 2.54Setting InputpadaUnity

Perhatikan !

semua yang tercantum dalam Inspectoradalah parameter input yang dapat dipanggil melaluiscript.

B. Menampilkan Skor dan Nyawa Pemain (Player

Pada bagian ini, kita akan menampilkan skor dan nyawa player yang tersedia. Langkahnya adalah sebagai berikut :

- Klik dua kaliScriptPlayer.js


(62)

Sehinggascript berubahmenjadi seperti gambar 2.56

Gambar 2.56 Tampilanscriptsetelah ditambahkan deklarasi variable

- Klik cube, lalu edit pada bagian inspector. Perhatikan, sekarang ada penambahan variable Player Lives dibawahPlayer Speed. Ubah nilainya dari

0 menjadi 3.Artinya, nyawaPlayerdi-setmenjadi 3.

Gambar 2.57 Men-set nyawa player menjadi 3

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

var


(63)

Untuk menampilkan skor dan nyawa pada GUI, ikuti langkah sebagai berikut : - Klik dua kaliScriptPlayer.js

- Tambahkan script sbb :

Sehingga tampilanScriptPlayer keseluruhan adalah sebagai berikut :

Gambar 2.58 Tampilan keseluruhanPlayerScript.js


(64)

Gambar 2.58 Tampilan Skor dan Nyawa pada Game View

Permasalahan :

Permasalahan pertama adalah Cube/pesawat hanya dapat bergeser ke kiri dan ke kanan, bagimana jika kita ingin menggeser ke atas dan ke bawah ? Script apa yang harus ditambahkan ?

Apabila anda memahami bagaimana cube dapat digeser ke kanan dan ke kiri, maka dengan mudah kita dapat membuat script agar cube dapat digeser ke atas dan ke bawah. Caranya adalah panggil input vertikal, lalu beri perintah menggeser cube. Lebih jelasnya lihat perhatikanscriptsbb :

// memanggil input keyboard pada sumbu vertical

naik = (PlayerSpeed * Input.GetAxis("Vertical")) * Time.deltaTime ;

// menggerakan player ke atas dan ke bawah

transform.Translate(Vector3.up*naik);

Mudah bukan ?

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


(65)

Permasalahan kedua, ketika kita menggeser cube ke kanan sampai melewati area permainan, maka cube akan hilang, hal in disebabkan karena koordinatnya terus bergeser. Kasus serupa terjadi juga ketika kita menggeser habis ke kiri, ke atas maupun ke bawah. Oleh karena itu masalah ini harus dipecahkan, karena akan membingungkan pemain.

Pemecahannnya adalah sbb :

- Cek pada koordinat berapa ke samping kanan dan kiri (y), atas dan bawah (x) posisi cube hilang

- Anggap koordinat sudah didapatkan, lalu berikan scripttambahan seperti dibawah ini :


(66)

C. Membuat Peluru

Langkah selanjutnya adalah membuat peluru. Peluru dapat dibuat dengan menggunakan capsule atau sphere. Pada contoh ini peluru yang dibuat menggunakancapsule.

Langkahnya adalah sebagai berikut :

- Klik GameObject > Create Oher > Capsule

- Ubah pada jendelaInspectorsbb :

Transform

Position: x = 0, y = 0 dan z= 0

Rotation: x = 0, y = 0 dan z = 0

Scale: x = 0.2 Y = 0.2 dan z = 0.2 - KlikAssest > Create > Javascript

- Ubah namanya menjadiScriptPeluru

- DragScriptPelurukedalam Capsuledi jendelaHierarchy

- EditScriptmenjadi sbb :

Gambar 2.59 Script Peluru

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


(67)

- KlikComponent > Physics > Rigidbody

- Lihat perubahan yang terjadi pada jendelaInspectorketikacapsulediberi

Physics > Rigidbody.

Gambar 2.60b mengaktifkan Kinematic pada jendela Inspector

- Unchecklist(jangan dicentang)Use Gravitydanchecklist(centang)Is Kinematic, karena padagame 2Dini gerak peluru tidak dipengaruhi gravitasi walaupun tetap dikontrol oleh scriptkapan peluru akan ditembakkan ke arah sumbu Y.

Catatan :

Script untuk peluru hampir sama dengan script untuk menggeser cube ke atas dan ke bawah. Perbedaannya, pada script peluru tidak memanggil fungsi input dahulu, sehingga ketika di-play peluru langsung bergerak ke atas tanpa menunggu input dari keyboard. Perhatikan script pada gambar 2.59 baris per baris !

Permasalahan :

Ketika di-play maka peluru akan terus bergerak sampai koordinat tak hingga. Hal ini tidak boleh terjadi, karena peluru hanya diperlukan untuk menembak batu luar angkasa di area layar yang kita settingsaja. Oleh karena itu lakukan langkah sebagai berikut :

- Klik Layout menjad 2 by 3, tujuannya agar kita memiliki jendela Scene View

danGame Viewyang terpisah.

Jangan dicentang


(68)

Gambar 2.61. Mengubah layout/jendela kerja Unity

- Geser Peluru diScene Viewkeatas arah sumbu Y (+)

- Perhatikan pada koordinat Y = berapa peluru hilang dari areaGame View? - Kalau langkah anda benar, peluru akan keluar dari area Game View pada

kisaran koordinat Y = 5.5

- Angka ini akan dipakai untuk pengecekkan kondisi sbb :

o Jika peluru > 5.5 maka hancurkan peluru (karena tidak diperlukan lagi)

Klik, pilih 2 by 3

Drag pada sumbu Y

Perhatikan peluru tidak Nampak di koordinat Y = berapa ?


(69)

Gambar 2.61. Tampilan padaScene View,Game ViewdanInspector

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

Script ini memerintahkan kepada program agar peluru dihancurkan (destroy) jika sampai pada koordinat Y lebih besar atau sama dengan 5.5.

C. Membuat Prefab Peluru

Setelah kita berhasil membuat peluru, selanjutnya adalah kita akan menggunakan peluru tersebut berulang-ulang saat ditembakkan oleh pesawat(cube). Oleh karena itu, kita akan membuat peluru tersebut menjadi

prefab.

Langkahnya adalah sebagai berikut : - KlikAssets > Create > Prefab

- Ubah namanya dariNew prefabmenjadiPeluruPrefab

- DragCapsulekedalamPeluruPrefab


(70)

D. Menghubungkan PeluruPrefab dengan Player

Setelah proses pembuatan prefab peluru selesai, permasalahan kita selanjutnya adalah, bagaimana caranya supaya peluru dapat ditembakkan ketika ditekan salahsatu tombol di keyboard, misalnya tombolspacebar? Solusinya adalah pada ScriptPlayer harus dideklarasikan variable peluru tersebut, lalu dipanggil dan ditembakkan dengan script ketika spacebar

ditekan ! Proses ini disebutINSTANTIATE.

Langkahnya adalah sbb : - BukaScriptPlayer.Js

- Tambahkanscriptsebagai berikut : - KlikCubedi JendelaHierarchy

- DragPeluruPrefabkePelurudi JendelaInspector

Gambar 2.62 MenghubungkanPrefabPeluruke jendelaInspectorpadaGame Object Cube


(71)

Langkah berikutnya adalah menambahkan script agar PrefabPeluru tersebut dapat ditembakkan, langkahnya adalah sbb :

- Tambahkanscript untuk memanggilinput spacebarlalu menembakkannya.

- Coba Play ! kalau langkah anda benar, peluru akan dapat ditembakkan saat

spacebarditekan.


(72)

E. Menambahkan Audio Pada Peluru

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

- Cari suara format*.wavyang cocok untuk suara tembakan.

- Simpan di folderAssetdan sebaiknya buat folder baru dengan namasound

- KlikPeluruPrefab

- KlikComponent > Audio > Audio Source

- Drag sound ke dalam Audio Clip pada jendela Inspector (pada tutorial ini menggunakansounddengan namafilelaser14.wav

Gambar 2.64 memasukkan audio kedalamPeluruPrefab

- Tekan Play! Sekarang ketika ditekan spacebar untuk menembakkan peluru maka akan keluar suara. Menarik bukan ?


(73)

F. Membuat Serangan Musuh (Batu Luar Angkasa)

Sebuah game akan seru kalau ada misi. Misi padagame ini adalah menembak batu-batu luar angkasa sebanyak mungkin. Setiap batu-batu yang kena akan mendapat skor +10. Pemain dianggap berhasil menyelesaikanLevel 1kalau mencapai skor 1000. Mari kita mulai membuatnya. Pada game ini kita menggunakan game object sphere

untuk batu luar angkasa. Langkahnya adalah sbb : - KlikGame Object > Create Other > Sphere

- Ubah pada jendelaInspectorsbb :

Transform

Position: x = 0, y = 0 dan z= 0

Rotation: x = 0, y = 0 dan z = 0

Scale: x = 1 Y = 1 dan z = 1 - KlikAssets > Create > Material

- Beri namaMaterialBatu

- Pilih warna merah, lalu dragMaterialBatuke dalamSphere


(74)

- KlikAssets > Create > Javascript

- Beri namaScriptBatu

- DragScriptBatu ke dalamSpherepada jendelaHierarchy

- Klik dua kaliScriptBatu,buatlahscriptsebagai berikut :

- Klik sphere, editBatu Speed menjadi5(boleh nilainya diubah 10)pada jendelaInspector

- TekanPlay! batu sekarang sudah bergerak menuju ke pesawat.

- Kalau posisi batu(sphere)masih di tengah, makadragke posisi sumbuy = 5.5

seperti pada gambar 2.66

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

Masalah :

Persis seperti peluru, kita tidak menginginkan batu terus bergerak setelah keluar area permainan, karena program akan terus menerus memprosesnya. Oleh karena itu cek posisi batu ketika keluar dari area layar. Kemudian kita


(75)

berikanscriptuntuk mengembalikan posisi batu(sphere)ke koordinat semula ketika sudah melewati area layar permainan.

Perhatikan gambar 2.67

Gambar 2.67 men-drag spheresampai dapat koordinat seperti gambar 2.68 drag

Y = 5.5

Y = -5.5

Arah gerak batu


(76)

Setelah kita mendapatkan koordinat, maka langkah selanjutnya adalah menambahkanscriptsbb :

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

Langkah selanjutnya adalah bagaimana caranya untuk deteksi tumbukan antara

sphere (batu luar angkasa) dengan cube (pesawat) si player ? atau deteksi tumbukkan antara peluru dengan batu? Sehingga ketika batu mengenai

player(cube), maka nyawa player akan berkurang, begitu juga ketika batu terkena tembakan peluru , maka batu akan hancur!

Inilah yang disebut collision detection. Selain collision detection, Unity

memudahkan kita dengan memberikanfasilitas tag dalam jendelaInspectoruntuk setiapgame object. Sehingga setiap game objectyang diberitag dapat dikenali oleh

game objectlain.

Lihat gambar 2.69 ketikaspherebelum diberitag

Gambar 2.69 Memberi tag pada game object

- Lalu KlikUntagged > Add Tag


(77)

- Beri namabatupadaElement 0

Gambar 2.69 memilih tag

- Klik lagisphere > batu

- Sekaranggame objectspheresudah memilikitagdengan namabatu

- Langkah selanjutnya, buka scriptPeluru.Js di jendela Project. Tambahkan

scriptsebagai berikut :

- Lalu klikSpherepada jendelaHierarchy

- pastikan di jendelaInspector, anda memberikan centang padaIs Trigger


(78)

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

cube(game object batu)

Gambar 2.71 memberi tanda centang pada capsule dan box collider

Coba tekan play ! seharusnya setiap peluru yang ditembakkan mengenai sphere

(batu) maka nilai akan bertambah 10. Permasalahan :

Seharusnya, selain nilaiplayer bertambah, batu yang terkena tembakan pun hancur. Sedangkan sekarang tidak..!

Untuk menyelesaikannya, maka lakukan langkah sebagai berikut : - BukascriptPeluru.Js


(79)

- Tambahkan baris script untuk menghancurkan game object setelah script

menambah nilai :

Sehinggga ketika di-play maka game object batu (sphere) akan hilang/hancur sewaktu terkena peluru. Kemudian peluru lainnya akan muncul kembali secara random/acak.

Memberikan Efek Ledakan

Efek ledakkan akan diberikkan ketika peluru mengenai batu, sehingga gametampak lebih menarik. Langkahnya adalah sebagai berikut :

- KlikGame Object > Create Other > Particel System

- Ubah namanya menjadiLedakandi JendelaInspector

- Ubah pada jendelaInspectorsbb :

Transform

Position: x = 0, y = 0 dan z= 0

Rotation: x = 0, y = 0 dan z = 0

Scale: x = 1 Y = 1 dan z = 1

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


(80)

Gambar 2.72 Mengatur parameter partikel pada jendela Inspector

Langkah selanjutnya adalah membuatprefabuntuk ledakkan. - KlikAssets > Create > Prefab

- Ubah namanya menjadi ledakanPrefab

- Drag ledakandi jendelaHierarchykedalamLedakanPrefabdi jendela

Project


(81)

Gambar 2.73 Men-drag ledakan kedalam ledakanPrefab

- Laludeleteledakandi jendelaHierarchy

- Langkah berikutnya adalahinstantiateledakkan terhadappeluruPrefab. - Klik dua kaliScriptPeluru.js

- Tambahkanscriptsebagai berikut :

drag


(82)

Menambahkan Audio pada ledakkan

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

- Cari suara bom untuk efek ledakkan, simpan di folderassets/sound.

- KlikledakanPrefab

- KlikComponent > Audio > Audio Source

- Dragcarbomb.wavke dalam Audio Clip

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

- CobaPlay!

Mengurangi Nyawa Player dan Membuat Menu Kalah

Pada bagian awal, kita sudah menentukan aturan game yaitu, jika peluru mengenai

player, maka nyawa akan berkurang. - BukascriptPlayer.Js

- Tambahkan baris sebagai berikut :


(83)

OK, coba tekanPlay! lalu coba biarkan batu(sphere)mengenai player(cube)

Masalah :

Nyawa yang diberikan sebanyak 3, sehingga apabila terkena serangan batu sebanyak tiga kali, seharusnya player dianggap kalah. Yang terjadi sekarang adalah, nilai nyawa teus berkurang menjadi dari 3 menjadi 2, 1, 0, -1, -2 dst ..padahal kita menginginkan ketika nyawa =0 maka permainan berakhir (game over)!

Solusi :

- Buatscenebaru, klikFile > New Scene

- Savedengan namasceneKalah

- Buat Script baru, KlikAssets > Create > Javascript

- Ubah dengan namascriptKalah

- Edit denganscriptsebagai berikut :


(84)

- Buatgame objectkosong dengan cara klik Game Object > Create Empty

- Drag scriptKalah di jendela project ke dalam GameObject di jendela

Hierarchy(lihat gambar 2.75)

Gambar 2.75 insert scriptKalah kedalam empty game Object di sceneKalah

Sebelum melanjutkan, pastikanbuild settingsebagai berikut :

Gambar 2.76 Build Setting drag


(85)

Langkahnya adalah :

- KlikFile > Build Setting

- Draglevel1.unitydansceneKalah.unity keScenes In Build

Gambar 2.78 Mengurutkan scene pada build setting.

Langkah selanjutnya adalah menghubungkan level1 dengan sceneKalah, caranya adalah :

- Klik dua kaliscriptPlayer.js

- Tambahkanscriptsbb :

Artinya, jika nyawa player kurang atau sama dengan nol, maka load sceneKalah

drag

Nama scene yang di-load di script


(86)

Membuat Menu Awal

Langkahnya sama ketika membuat menu untukscenekalah, yaitu sbb : - Buatscenebaru, klikFile > New Scene

- Savedengan namasceneAwal

- Buatscriptbaru, KlikAssets > Create > Javascript

- Ubah dengan namascriptAwal

- Editdenganscriptsebagai berikut :

- KlikGame Object > Create Empty

- DragScriptAwalkedalam emptyGame Object

Gambar 2.79 men-drag scriptAwal kedalam empty game object

Langkah selanjutnya adalah :


(87)

- KlikFile > Build Setting

- DragsceneAwal kedalamBuild Setting

Gambar 2.80 men-drag sceneAwal kedalam build setting

- Savepekerjaan Anda !

Membuat Menu Menang

Langkahnya sama ketika membuat menu untukscenekalah, yaitu sbb : - Buatscenebaru, klikFile > New Scene

- Savedengan namasceneMenang

- Buatscriptbaru, KlikAssets > Create > Javascript

- Ubah dengan namascriptMenang

- Editdenganscriptsebagai berikut :


(88)

- KlikGame Object > Create Empty

- DragScriptMenangke dalamempty Game Object

- KlikFile>Build Setting

- DragSceneMenangke dalamScene In Build

Gambar 2.81 men-drag sceneMenang kedalam build setting

Tambahkanscriptsbb padaplayerscript.Js, Anda mengerti maksudnya bukan ? :


(89)

Langkah terakhir sebelum game di-build..ubah urutan sbb, agar pada saatgame

dimainkan,sceneAwalyang di-load terlebih dahulu..!

Gambar 2.82 Mengurutkan scene yang sesuai kedalam build setting

OK .tutorial utama membuatGame Petualangan Angkasadianggap selesai. Tahap berikutnya adalah memoles game ini agar lebih real dan menarik. Ada tiga

komponen yang ditambahkan padagameini yaitu : - Penambahan GUI Texture untuk setiap menu;

- Penambahan benda-benda luar angkasa dengan partikel;

- Penggantian model pesawat daricube menjadi Model Pesawat yang dibuat di software 3D modeling, dalam contoh ini menggunakan3D Max.

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


(90)

Supaya terlihat perbandingannya berikutcapture gamesebelum di tambahkan ketiga komponen diatas :

Gambar 2.83 Game sebelum diganti modeling-nya


(91)

Ikuti langkahnya sebagai berikut :

- Buat modeling pesawat di 3D Max atau blender, atau anda dapat mencari model yang gratis di Internet.

- Export model pesawat menjadi format*.fbx, misalnyaSimpelShip.fbx

- Simpan kedalam folderAssetsbersama material yang dipakainya.

- Klik Cube, lalu pilih Mesh (ingat kuncinya di mesh ini !) kita akan mengganti mesh cube menjadi mesh pesawat.

- GanticubemenjadipolySurface1

Gambar 2.85 penggantian mesh cube menjadi pesawat (polysurface)

- Langkah penting selanjutnya adalahsesuaikan ukuan pesawat.

- Laluhapusbox colliderdi jendelaInspectordenga caraklik kanan>remove

Klik untuk mengganti material Klik untuk mengganti mesh Sesuaikan ukuran pesawat


(92)

- Tambahkanmesh colliderdengan cara klikcomponent > physics > mesh collider.Artinyabox collidersudahtidak dipakai lagi diganti menjadimesh collideruntuk deteksi tumbukkannya, karena obyeknya sudah diganti dari

box (cube)menjadipesawat.

Urusan mengganti model sudah selesai, tahap selanjutnya yaitu menambahkan simulasi benda-benda angkasa lainnya dengan partikel. Caranya :

- Klik dua kali scenelevel1

- KlikGame Object > Create Other > Particel Systems

- Atur parameter pada jendelainspectorsbb :

Gambar 2.86 Menambahkan partikel di level1 (area permainan)


(93)

Polesan terakhir adalah menambahkan GUI Texture di setiap scene. Langkahnya adalah :

- Buat tiga buah gambar di photoshop dengan ukuran 1024 x 768 pixel sebagai berikut, simpan dalam format*.jpeg.

- Gambar ini hanya contoh saja, Anda dapat membuat versi lain yang lebih bagus !


(94)

Selanjutnya adalah simpan ketiga gambar tersebut di folder Assets. Untuk memasukkan tekstur kedalamscene, ikuti langkah sbb :

- Klik dua kalisceneAwal

- KlikGame Object > Create Other > GUI Texture

Gambar 2.88 Menambahkan GUI Texture

- KlikTexturedi Jendelainspector, lalu pilih file awal.jpeg. - Ubahscalemenjadi x = 1 dan y = 1

- Selesai !

Klik disini

Pilih texture awal.jpeg


(1)

Langkah terakhir sebelum game di-build..ubah urutan sbb, agar pada saatgame dimainkan,sceneAwalyang di-load terlebih dahulu..!

Gambar 2.82 Mengurutkan scene yang sesuai kedalam build setting

OK .tutorial utama membuatGame Petualangan Angkasadianggap selesai. Tahap berikutnya adalah memoles game ini agar lebih real dan menarik. Ada tiga

komponen yang ditambahkan padagameini yaitu : - Penambahan GUI Texture untuk setiap menu;

- Penambahan benda-benda luar angkasa dengan partikel;

- Penggantian model pesawat daricube menjadi Model Pesawat yang dibuat di software 3D modeling, dalam contoh ini menggunakan3D Max.

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


(2)

Supaya terlihat perbandingannya berikutcapture gamesebelum di tambahkan ketiga komponen diatas :

Gambar 2.83 Game sebelum diganti modeling-nya


(3)

Ikuti langkahnya sebagai berikut :

- Buat modeling pesawat di 3D Max atau blender, atau anda dapat mencari model yang gratis di Internet.

- Export model pesawat menjadi format*.fbx, misalnyaSimpelShip.fbx

- Simpan kedalam folderAssetsbersama material yang dipakainya.

- Klik Cube, lalu pilih Mesh (ingat kuncinya di mesh ini !) kita akan mengganti mesh cube menjadi mesh pesawat.

- GanticubemenjadipolySurface1

Gambar 2.85 penggantian mesh cube menjadi pesawat (polysurface)

- Langkah penting selanjutnya adalahsesuaikan ukuan pesawat.

- Laluhapusbox colliderdi jendelaInspectordenga caraklik kanan>remove Klik untuk mengganti material Klik untuk mengganti mesh Sesuaikan ukuran pesawat


(4)

- Tambahkanmesh colliderdengan cara klikcomponent > physics > mesh collider.Artinyabox collidersudahtidak dipakai lagi diganti menjadimesh collideruntuk deteksi tumbukkannya, karena obyeknya sudah diganti dari

box (cube)menjadipesawat.

Urusan mengganti model sudah selesai, tahap selanjutnya yaitu menambahkan simulasi benda-benda angkasa lainnya dengan partikel. Caranya :

- Klik dua kali scenelevel1

- KlikGame Object > Create Other > Particel Systems

- Atur parameter pada jendelainspectorsbb :

Gambar 2.86 Menambahkan partikel di level1 (area permainan)


(5)

Polesan terakhir adalah menambahkan GUI Texture di setiap scene. Langkahnya adalah :

- Buat tiga buah gambar di photoshop dengan ukuran 1024 x 768 pixel sebagai berikut, simpan dalam format*.jpeg.

- Gambar ini hanya contoh saja, Anda dapat membuat versi lain yang lebih bagus !


(6)

Selanjutnya adalah simpan ketiga gambar tersebut di folder Assets. Untuk memasukkan tekstur kedalamscene, ikuti langkah sbb :

- Klik dua kalisceneAwal

- KlikGame Object > Create Other > GUI Texture

Gambar 2.88 Menambahkan GUI Texture

- KlikTexturedi Jendelainspector, lalu pilih file awal.jpeg. - Ubahscalemenjadi x = 1 dan y = 1

- Selesai !

Klik disini

Pilih texture awal.jpeg