Nothing Special   »   [go: up one dir, main page]

Mobile Game

Unduh sebagai pdf atau txt
Unduh sebagai pdf atau txt
Anda di halaman 1dari 272

Perencanaan Pembelajaran

Tujuan

• Mengenal game
• Mengenal Unity 3D
• Membuat game
Kontrak Perkuliahan
• Pertemuan 1 s.d 10 disampaikan dengan Metode
Ceramah, Metode Diskusi dan praktek
• Pertemuan 10 mahasiswa diharapkan mengumpulkan
desain atau aplikasi game sederhana dalam bentuk file
dan makalah (kelompok) kedalam Google Drive. Game
diupload di kanal Youtube. Software bebas
• Pertemuan 11 s.d 15 disampaikan dengan Metode
Presentasi

.
Sumber Referensi
• Winarno, Edy, dkk 2015. Membuat Game Android
dengan Unity 3D. Jakarta: PT Elex Media Komputindo.

Referensi pendukung

• Nugroho, Andi Taru. 2012. Cara Mudah Membuat Game


di Android. 2012. Yogyakarta: Andi.

• Pranata, Baskara Arya dkk. 2015. Mudah Membuat


Game dan Potensi Finansialnya dengan Unity 3D.
Pertemuan 1

Pengenalan Game dan Unity 3D


1. Pengertian Permainan (Game)
Game adalah sesuatu yang dapat dimainkan dengan aturan
tertentu sehingga ada yang menang dan ada yang kalah, biasanya
dalam konteks tidak serius atau dengan tujuan refreshing. Suatu
cara belajar yang digunakan dalam menganalisa interaksi antara
sejumlah pemain maupun perorangan yang menunjukkan strategis
yang rasional.

Permainan terdiri atas sekumpulan peraturan yang membangun


situasi bersaing dari dua sampai beberapa orang atau kelompok
dengan memilih strategi yang dibangun untuk memaksimalkan
kemenangan sendiri atau pun untuk meminimalkan kemenangan
lawan. Peraturan-peraturan menentukan kemungkinan tindakan
untuk setiap pemain, sejumlah keterangan diterima setiap pemain
sebagai kemajuan bermain, dan sejumlah kemenangan atau
kekalahan dalam berbagai situasi.
Beberapa definisi game menurut beberapa para ahli
1. John C Beck & Mitchell Wade
Game merupakan penarik perhatian yang telah terbukti. Game adalaha
lingkungan pelatihan yang baik bagi dunia nyata dalam organisasi yang
menuntut pemecahan masalah secara kolaborasi.

2. Samuel Henry
Game merrupakan suatu bentuk hiburan yang seringkali dijaikan sebagai
penyegar pikiran dari rasa penat yang disebabkan oleh aktivitas dan rutinitas
kita.

3. John Naisbitt
Game merupakan sistem partisipatoris dinamis karena game memiliki
tingkat penceritaan yang tidak dimiliki film.

4. Andik Susilo
Game adalah salah satu candu yang susah dihilangkan, bahkan ada yang
mengatakan bahwa candu game online setara dengan narkoba.
Jenis-jenis Game:
Menurut Sulistyo (2010), ada beberapa jenis platform di dunia game yang
selalu dipilih oleh pengguna games, yaitu:
1. Arcade games, yaitu yang sering disebut ding-dong di Indonesia, biasanya
berada di daerah tempat khusus dan memiliki box atau mesin yang memang
khusus di design untuk jenis video games tertentu dan tidak jarang bahkan
memiliki fitur yang dapat membuat pemain- nya lebih merasa masuk dan
menikmati, seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir
mobil (beserta transmisinya tentunya).
2. PC Games , yaitu video game yang dimainkan menggunakan Personal
Computers.
3. Console games, yaitu video games yang dimainkan menggunakan console
tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii.
4. Handheld games, yaitu yang dimainkan di console khusus video game yang
dapat dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.
5. Mobile games, yaitu yang dapat dimainkan atau khusus untuk mobile phone
atau PDA.
Genre Game
Game dibagi atas beberapa genre, diantaranya yaitu :
1.Action Shooting (tembak–menembak): permainan pada genre ini
menunjukan aksi yang cukup memiliki konten kekerasan tinggi, dimana
terdapat aksi tembak menembak, memukul, bisa juga tusuk-tusukan,
tergantung cerita dan tokoh di dalamnya. Pada permainan jenis ini,
pemain memerlukan kecepatan dalam reflex serta kordinasi yang baik
dalam memainkannya. Contoh : PB (Point Blank), CS (Counter Strike)
dan Crysis.
2. Fighting (pertarungan). Ada yang mengelompokan permainan genre
fighting dibagian Aksi, namun penulis berpendapat berbeda, permainan
ini memang memerlukan kecepatan refleks dan koordinasi mata dan
tangan,tetapi inti dari permainan ini adalah penguasaan pada jurus atau
special action (hafal caranya dan lancar mengeksekusinya), pengenalan
karakter dan timing sangatlah penting, combo-pun menjadi cara untuk
mengalahkan lawan secepat mungkin.
Contoh : Naruto, Dragon Ball, Mortal Kombat dan Tekken.
3. Adventure (Petualangan). Permainan genre ini merupakan permainan yang
melakukan penjelajahan seperti memanjat, menulusuri hutan, meloncati
tebing yang terpisah jurang, berayun dari pohon ke pohon lainya, bergulat
melawan tanaman atau pun hewan liar demi mencari clue atau petunjuk menuju
rintangan berikutnya. Adapun yang bertualang diantara jalan jalan
perkotaan sekedar mencari tongkat kayu ataupun sabuk untuk membuat alat
untuk misi berikutya, itulah beberapa dari banyak hal yang karakter pemain
harus lakukan dan lalui dalam permainan jenis ini.
Contoh : Kings Quest, dan Space Quest.

4. Strategy (strategi). Video game strategi biasanya memberikan pemain atas


kendali tidak hanya satu orang tapi minimal sekelompok orang dengan
berbagai jenis tipe kemampuan, sampai kendaraan, bahkan hingga
pembangunan berbagai bangunan, pabrik dan pusal pelatihan tempur,
tergantung dari tema ceritanya. Kebanyakan game stategi adalah game
perang. Contoh : Warcraft, Red Alert.
5. Simulation (Simulasi). Permainan jenis ini seringkali menggambarkan
kehidupan dunia nyata dan memperhatikan dengan detil berbagai faktor. Dari
mencari makan hingga pekerjaan, membangun tempat tinggal hingga kota,
mengatur pajak penghasilan dan dana kota. Permainan genre ini selayaknya
hidup dari awal lahir yang tidak memiliki apa-apa hingga menjadi konglomerat
penguasa bisnis dan lain sebagainya. Ada juga seperti melakukan eksperimen
percobaan antara gen A terhadap gen lainya hingga mendapatkan hasil kloning
yang unik. Pada permainan jenis ini membuat pemain harus berpikir dalam
mendirikan, membangun dan mengatasi masalah dengan menggunakan dana
yang terbatas.
Contoh: The Sims, Metropolis Mania, Zoo Tycoon.
6. Puzzle (teka-teki). Permainan jenis ini sesuai dengan namanya mengenai
pemecahan teka-teki, baik itu menyusun balok, menyamakan warna,
menyamakan bentuk, memecahkan perhitungan matematika, menggeser,
menarik dan mendorong kotak ke tempat yang seharusnya. Sering pula
permainan jenis ini merupakan unsur dalam permainan genre petualangan
maupun edukasi.
Contoh: Tetris, Bubble Party.
7. Sport game (Olahraga). Game ini merupakan adaptasi dari kehidupan nyata,
pemain game jenis sport membutuhkan kelincahan dan juga strategi dalam
memainkannya. Game ini berupa kompetisi antara dua pemain atau
lebih,dimana pemain dapat melakukan secara individual atau tim. Contoh game
tipe ini antara lain, PES (pro evolution soccer), Mario Kart, tenis.
8. RPG (Role Playing Game). Permainan ini sesuai dengan
terjemahannya,bermain peran, memiliki penekanan pada tokoh/peran
perwakilan pemain di dalam game, yang biasanya adalah tokoh utamanya,
dimana seiring kita memainkannya,karakter tersebut dapat berubah dan
berkembang ke arah yang diinginkan pemain dalam berbagai parameter yang
biasanya ditentukan dengan naiknya level, baik
dari status kepintaran, kecepatan dan kekuatan karakter, senjata yang semakin
sakti, ataupun jumlah teman maupun mahluk peliharaan.
Contoh: Final Fantasy, Dungeon Hunter, Ragnarok
9. Education (edukasi). Game edukasi merupakan paket software yang
menciptakan kemampuan pada lingkungan game yang diberikan sebagai
alat bantu untuk memotivasi atau membantu siswa untuk melalui prosedur
game secara teliti untuk mengembangkan kemampuannya. Developer yang
membuatnya, harus memperhitungkan berbagai hal agar game ini benar-benar
dapat mendidik, menambah pengetahuan dan meningkatkan ketrampilan yang
memainkannya. Target segmentasi pemain harus pula disesuaikan dengan
tingkat kesulitan dan design visual ataupun animasinya.

Unsur-unsur Game
Game terdiri dari berbgai unsur dasar yang dipadukan sehingga
menciptakan suatu pengalaman yang menarik, adapun komponen-komponen game
antara lain:
1. Fitur
Fitur merupakan suatu hal yang menggambarkan game kedalam bentuk
bentuk yang dapat dilihat maupun dirasakan.
2. Gameplay
Gameplay merupakan cara kerja suatu game, dimana fitur-fitur yang ada
akan membentuk suatu gameplay. menggambarkan jalan cerita
pada sebuah game.
3. Interface
Interface merupakan semua bentuk tampilan yang ada pada sebuah game.
Interface yang baik akan membuat pemainya betah dan tidak bosan dalam
memainkan game.
4. Aturan (rules)
Rules merupakan sekumpulan aturan yang ada dalam memainkan sebuah
game.
5. Desain level
Desain level merupakan tingkat kesulitan yang menggambarkan jalan cerita
pada sebuah game.
2. Pengenalan Unity 3D
Unity adalah game engine yang cukup dikenal. Game
engine ini telah banyak digunakan baik dari kalangan
pelajar maupun penggiat game indie. Unity dapat
digunakan untuk membuat game 2D atau 3D.

A. Game Engine

Game engine adalah sebuah software dengan framework


yang digunakan untuk membuat atau mengembangkan game.
Mengenal Unity 3D (lanjutan)

Banyak hal yang dimiliki oleh game engine untuk


membuat game, seperti membuat gambar karakter, efek
tabrakan, koding, musik, animasi dan lain-lain.

Game yang dapat dibuat oleh game engine tidak hanya


game untuk komputer, tetapi dapat digunakan untuk konsol
atau mobile. Beberapa game engine adalah:
1. Unity
2. Cry Engine
3. Construct
4. GameMaker Studio
5. RPG Maker
Mengenal Unity 3D (lanjutan)

6. Unreal
7. Luminous Studio
8. Crystal Tool

B. Unity 3D

Kelebihan utama dari Unity adalah tersedianya versi gratis.


Selain versi gratis, Unity juga menyediakan asset store
yang berisi asset atau perlengkapan untuk membuat game
yang dapat langsung digunakan. Asset yang tersedia di
Unity antara lain bentuk karakter, tampilan peta, skrip dan
lain sebagainya.
Mengenal Unity 3D (lanjutan)

C. Instalasi Unity
Berikut spesifikasi komputer yang digunakan untuk
menginstal Unity:
• Sistem operasi windows XP SP2+, 7 SP2+, 8, 10 dan
Mac OS X, 10.8+. Tidak termasuk windows Vista.
• Kartu grafis yang mendukung Direct X 9 atau kartu
grafis setelah 2004.

Dalam pembahasan di sini menggunakan Unity versy 4.


Unity versi 5 mengalami perubahan dalam hal skrip
pemrograman
Mengenal Unity 3D (lanjutan)

Langkah-langkah menginstall Unity:


1.Buka situs Unity di alamat https://unity.com/
2.Pilih Menu Download Archive
3.Pilih download Unity 5 untuk mendowload Unity 5. pilih
versi dan sistem operasi yang akan di gunakan dan
download (Unity 5.2.0)
4.Tunggu hingga proses download selesai dan klik file
installer
5.Klik Next dan dibawa ke halaman License Agreement
Mengenal Unity 3D (lanjutan)

6. Klik I agree dan diberikan pilihan komponen yang akan


di download. Jika menginginkan contoh project Unity,
beri tanda pada semua pilihan
7. Klik Next dan dapat memilih lokasi instalasi Unity
8. Klik Install dan proses instalasi akan berlangsung
9. Tunggu proses download komponen yang diikuti
proses instalasi komponen Unity
10. Proses instalasi juga akan menginstal komponen
tambahan dalam Unity
11. Klik Finish untuk menyelesaikan proses
instalasi.Pengguna dapat memberi tanda pada Run
Unity jika ingin langsung me4nggunakan Unity
Mengenal Unity 3D (lanjutan)

D. Menggunakan Unity
Berikut langkah-langkah menggunakan Unity:
1. Klik ikon Unity. Terkadang pengguna harus membuka
blok dari firewall supaya Unity dapat digunakan.
2. Sebelum menggunakan Unity, pilih tipe akun Unity.
Untuk menggunakan Unity secara gratis, klik Unity
Personal Edition.
3. Pengguna akan diberikan pilihan tujuan penggunaan
Unity. Klik pilihan paling bawah supaya dapat
menggunakan Unity secara gratis. Klik Next.
Mengenal Unity 3D (lanjutan)

4. Pengguna akan diminta untuk memasukkan akun Unity


5. Jika tidak memiliki akun Unity, klik Create account.
Kemudian akan diantar ke situs pembuatan akun Unity
6. Setelah mengisi data, klik Create Account untuk
menyelesaikan proses pembuatan akun Unity. Akun ini
digunakan untuk aktivasi Unity dan mendownload asset
dari Unity. Asset dapat digunakan untuk melengkapi
bahan-bahan pembuat game yang telah disediakan
Unity.
7. Masukkan username dan password untuk login ke dalam
Unity.
8. Selanjutnya muncul halaman seperti di bawah ini
Mengenal Unity 3D (lanjutan)
9. Klik Next dan akan muncul License Agreement
10. Selanjutnya pengguna dapat memilih membuat project
baru atau menampilkan project lama
11. Klik New Project untuk membuat project baru
12. Selanjutnya memberi nama project, memilih tempat
menyimpan project dan memilih asset yang akan
digunakan. Jika tidak ingin menggunakan asset,
pengguna tidak perlu klik bagian asset. Asset ini dapat
ditambahkan saat sedang membuat project
13. Klik Create Project untuk loading data project dan asset
yang anda pilih
14. Pengguna akan masuk ke dalam lembar kerja Unity
Mengenal Unity 3D (lanjutan)

Secara umum, lembar kerja Unity dibagi atas:


1) Menu
Menu merupakan bagian untuk mengatur pembuatan
game secara menyeluruh, Pada menu terdapat:
a. File, digunakan untuk membuat project baru,
menyimpan, load dan konversi project
b. Edit, digunakan untuk mengedit project yang sedang
dikerjakan.
c. Asset, digunakan untuk import dan export asset
d. Game Object, digunakan untuk membuat object
pada Unity
e. Component, digunakan untuk menambahkan
komponen pada project
Mengenal Unity 3D (lanjutan)

f. Window, digunakan untuk mengatur tampilan jendela


pada lembar kerja
g. Help, digunakan untuk mengetahui manual dari Unity

2) Shortcut
Merupakan bagian dari Unity yang digunakan untuk
memudahkan pengguna dalam membuat project.
Shotcut
merupakan jalan singkat dari beberapa pilihan menu.

Pada shortcut terdiri dari 3 bagian, yaitu kiri, tengah dan


kanan
Mengenal Unity 3D (lanjutan)

Pada bagian kiri, dapat menggunakan shortcut untuk


pengaturan object pada jendela scene. Shortcut
tersebut sebagai berikut
* Gambar tangan, untuk menggeser tampilan layar
project
* Shortcut arah, digunakan untuk menggeser object
berdasarkan sumbu x,y, dan z
* Shortcut rotasi, digunakan untuk memutar object
berdasarkan sumbu x,y dan z
* Shortcut skala, untuk mengubah ukuran skala object
berdasarkan koordinat x,y dan z
* Shortcut skala horizontal, untuk mengubah ukuran
object sisi horizontal
Mengenal Unity 3D (lanjutan)

Pada bagian tengah terdapat tombol untuk menjalankan


dan menghentikan game. Tombol ini digunakan untuk
menguji berjalannya game pada jendela game
Sebelum game dikompilasi menjadi stand alone.

Pada bagian kanan terdapat Layer, Layout dan Account.


Layer digunakan untuk mengatur tampilan layer pada
jendela scene.
Layout digunakan untuk mengatur susunan layout jendela
kerja.
Account digunakan untuk login dan logout pada akun
Unity.
Mengenal Unity 3D (lanjutan)
d. Jendela Inspector, digunakan untuk mengatur asset
yang dimasukkan ke dalam layer scene.

E. Unity dengan Game Android

Dalam proses pembuatan game dengan game


engine,pada tahap akhir pengguna akan meng-compile
game agar dapat dimainkan tanpa harus membuka Unity
terlebih dahulu. Pengguna dapat meng-compile game
menjadi platform PC, mobile, konsol atau web.

Pada pilihan mobile, pengguna dapat meng-compile untuk


Mengenal Unity 3D (lanjutan)

platform Android, Windows Phone, iphone dan Blackberry.

Secara umum, proses compile game menjadi mobile dalam


platform android mirip dengan proses compile untuk
platform lainnya. Pengguna perlu memasukkan perintah
yang menggunakan touchscreen untuk menggerakkan
karakter. Selain itu, pada proses compile pengguna akan
diminta untuk menginstal softare development kit dari
perangkat tersebut. Pada android, diminta menginstal SDK.
Pertemuan 2

Rancangan Awal Game


Survival
Rancangan Awal Game Survival
A. Mengenal Game Survival

Survival secara sederhana diartikan bertahan hidup. Pada


game survival, pengguna mengendalikan karakter untuk
bertahan hidup menghadapi berbagai rintangan hingga
tujuan yang ditetapkan oleh game tercapai. Pengguna akan
menempatkan karakter di dalam sebuah peta. Karakter
diharuskan mengalahkan berbagai macam musuh untuk
mencapai tujuan yang ditetapkan oleh game. Di dalam
game, sudut pandang yang digunakan adalah sudut
pandang pertama. Jadi pengguna tidak melihat karakter,
tetapi hanya tampilan pemandangan game dan senjata yang
digunakan untuk mengalahkan musuh.
Rancangan Awal Game Survival (lanjutan)
B. Membuat Peta dan Menguji Pergerakan
Karakter

Langkah-langkahnya sebagai berikut:


1. Buka program Unity
2. Klik GameObject > 3D Object > Cube
3. Pengguna akan melihat bentuk kubus di Scene
4. Pastikan kubus berada di tengah layar dengan cara ubah
nilai x,y dan z menjadi “0” pada jendela Inspection bagian
Position.
Rancangan Awal Game Survival (lanjutan)
Rancangan Awal Game Survival (lanjutan)

5. Masih pada jendela Inspector. Pada bagian Scale ubah


nilai x menjadi “50”.
6. Pengguna akan melihat bentuk kubus menjadi lebih
panjang.
7. Selanjutnya ubah nilai z menjadi “50”
8. Pengguna akan melihat bentuk object menjadi kotak
persegi empat sama sisi.
9. Jika melihat object terlalu besar, pengguna dapat zoom
jendela Scene dengan scroll mouse. Gunakan tool
tangan untuk menggeser sudut pandang dan klik nana
untuk menggeser pandangan secara vertikal.
Rancangan Awal Game Survival (lanjutan)
10. Pada jendela Hierarchy ubah nama object “Cube”
menjadi “GroundPlane”. Caranya, klik kanan nama
object Cube dan pilih Rename. Pilih nama baru menjadi
“GroundPlane”.
Rancangan Awal Game Survival (lanjutan)

11. Selanjutnya menambahkan asset karakter ke dalam


Unity. Klik kana pada jendela Project, pilih Import
Package, pilih Custom Package Lalu pilih asset karakter
yang sudah di download.
Klik Import.
Rancangan Awal Game Survival (lanjutan)
12.Jika melakukannya dengan benar, akan terlihat asset
baru pada jendela Project.
13. Selanjutnya masukkan karakter ke dalam jendela
Scene. Caranya pada asset buka folder Asset >
Standart Asset > Characters > First Person Controller >
Prehabs. Klik object dan drag ke jendela Scene.
Rancangan Awal Game Survival (lanjutan)

14. Pada jendela Hierarchy klik object First Person


Controller yang merupakan object karakter. Pengguna
akan melihat Main Camera.
15. Pada jendela Inspector dari Object Main Camera, klik
Add Component dan ketikkan Skybox
16. Pengguna akan melihat komponen Skybox, klik
komponen sehingga komponen ditambahkan ke dalam
jendela Inspector.
17. Masukkan asset skybox dengan klik kanan pada
jendela Project, pilih Import Assets > Skybox.
Rancangan Awal Game Survival (lanjutan)
Rancangan Awal Game Survival (lanjutan)

18. Jika tidak punya asset skybox, dapat mendownloadnya


di assetstore unity di https://assetstore.unity.com. Ketik
“Skybox” pada kolom pencarian.
19. Pilih asset yang “free” untuk mendapatkan asset gratis
20. Klik Open in Unity untuk membuka aset di Unity. Anda
akan dipilih untuk membuka asset di Unity Editor.
21. Saat asset ditampilkan di Unity Editor, klik Download.
22. Tunggu proses download, lalu akan terlihat asset siap
untuk dimasukkan ke dalam Unity dengan cara klik
Import.
Rancangan Awal Game Survival (lanjutan)
23. Kembali pada jendela Inspector dari Camera. Pada
bagian skybox klik pada tanda bulat untuk
menampilkan pilihan skybox.
24. Jika melihat pada jendela Game, akan terlihat tampilan
langit berubah.
Rancangan Awal Game Survival (lanjutan)

25. Jika jendela Scene terlihat gelap, tambahkan cahaya


dengan klik GameObject > Light > Directional Light
26. Jalankan game dengan buka jendela game dan klik
tombol Play.
27. Gerakkan karakter dengan tombol arah, loncat dengan
space dan berputar dengan mouse.
28. Jika karakter bergerak melebihi peta, karakter akan
jatuh.
29. Untuk menghentikan game klik kembali tombol Play.
Rancangan Awal Game Survival (lanjutan)

30. Selanjutnya akan membuat tembok. Caranya klik


GameObject > 3d > Cube
31. Terlihat kubus baru di layar Scene.
32. Buat object kubus menjadi pipih dengan mengganti
nilai x dengan “50” , y dengan “5” dan z dengan “1”
pada jendela Inspector bagian Scale.
33. Pastikan objext dinding menyentuh tanah. Jika object
dinding masih terlihat melayang, gunakan tool shortcut
arah atau mengubah nilai y pada jendela inspector
bagian Position
34. Ubah nama object tembok menjadi “HouseWall1”
Rancangan Awal Game Survival (lanjutan)

35. Perbanyak object tembok dua kali dan ubah namanya


menjadi “HouseWall2” dan “HouseWall3”. Caranya klik
kanan object HouseWall1 dan pilih Duplicate.
36. Ketiga object tembok saat ini saling bertumpukan
menjadi satu. Oleh karena itu, geser dua object tembok
menggunakan tool shortcut arah dan rotasi untuk
membentuk posisi seperti pada gambar di bawah ini.
Rancangan Awal Game Survival (lanjutan)
Rancangan Awal Game Survival (lanjutan)
37. Jalankan kembali karakter untuk melihat hasil posisi
tembok dari sudut pandang karakter.
Rancangan Awal Game Survival (lanjutan)
C. Menambahkan Musuh dan Sistem Membunuh Musuh

Ikuti langkah-langkah berikut:


1. Ganti nama object First Person Controller menjadi
“Player”
2. Jika object Player tidak memiliki tampilan, buat tampilan
dengan cara klik kanan pada Object Player di jendela
Hierarchy, pilih 3D Object > Capsule. Ubah nama object
menjadi “Graphic”.
3. Buat object baru dengan klik GameObject > Create
Empty, akan terlihat object baru yang tidak memiliki
bentuk
Rancangan Awal Game Survival (lanjutan)
4. Beri nama object tersebut dengan “Melee”. Object ini
digunakan sebagai pengaturan supaya karakter dapat
menyerang musuh.
5. Pindahkan object sehingga ada di depan object
karakter. Untuk memudahkan, dapat menyalin posisi
objek Player ke posisi objek Melee yang ada di jendela
Inspector bagian Position dan geser posisi ke depan
objek karakter.
Rancangan Awal Game Survival (lanjutan)
6. Pada jendela Hierarchy, drag objek Melee ke dalam
objek Player sehingga objek Melee menjadi Child dari
objek Player. Hal ini akan membuat objek Melee
bergerak mengikuti pergerakan objek Player
7. Pastikan pada jendela Inspector bagian Rotation dari
objek Player sumbu x,y,z adalah 0
8. Geser posisi objek Melee agak ke kanan dari objek
Player dan buat Rotation objek menjadi 0 pada sumbu x,
y dan z
Rancangan Awal Game Survival (lanjutan)
Rancangan Awal Game Survival (lanjutan)
9. Pada jendela Inspector dari objek Melee, klik Add
Component dan ketik “Script” kemudian pilih New Script
10. Isi nama skrip dengan “MeleeSystem” dan pilih bahasa
pemrograman dengan Javascript.
Rancangan Awal Game Survival (lanjutan)
11. Lalu akan terlihat komponen baru dari objek Melee.
12. Pada jendela Project, klik MeleeSystem untuk
menampilkan aplikasi menulis skrip.
Rancangan Awal Game Survival (lanjutan)
13. Hapus baris 3 sampai 9 dan buat variabel baru sebagai
berikut

#pragma strict

var Damage: int = 50;


var Distance : float;

Variabel Damage untuk membuat kerusakan pada musuh dan


akan memberikan kerusakan sebesar 50 untuk setiap
serangan.
Variabel Distance untuk menentukan jarak serangan. Float
digunakan supaya jarak dapat ditentukan dengan desimal.
Rancangan Awal Game Survival (lanjutan)
14. Selanjutnya membuat serangan karakter dapat
mengenai musuh dengan mengetikkan skrip berikut
Rancangan Awal Game Survival (lanjutan)
15. Pada jendela inpector dari Objek Melee, terlihat
komponen baru yang berisi Damage dan Distance.
Komponen Damage bernilai tetap, komponen Distance
akan berubah tergantung jarak karakter dengan
penghalang.
Rancangan Awal Game Survival (lanjutan)
16. Jika pengguna jalankan dan klik kiri, maka nilai
Distance akan berubah sesuai jarak karakter dengan
objek penghalang
17. Jika karakter mendadak tidak dapat digerakkan, buka
bagian jendela Inspector objek Graphic. Kemudian klik
tanda gear pada Capsule Collider dan pilih Remove
Component.
Rancangan Awal Game Survival (lanjutan)
Rancangan Awal Game Survival (lanjutan)
18. Saat ini pengguna telah membuat karakter yang dapat
menyerang, akan tetapi serangan tersebut tidak memiliki
batasan. Oleh karena itu, dibuat batas maksimal jarak
serangan supaya karakter dapat membunuh musuh
dengan jarak tertentu. Caranya, tambahkan variabel
baru pada MeleeSystem,

var Damage : int = 50;


var Distance : float;
var MaxDistance : float = 1.5;
Rancangan Awal Game Survival (lanjutan)
19. Pada bagian fungsi Update buat menjadi seperti berikut
Rancangan Awal Game Survival (lanjutan)
20. Pada jendela Inpector dari Objek Melee, akan terlihat
komponen variabel baru yaitu MaxDistance
21. Selanjutnya membuat objek musuh, klik CreateObject >
3D Object > Capsule.
22. Tempatkan Objek musuh di tempat yang diinginkan
dan beri nama “Enemy”.
Rancangan Awal Game Survival (lanjutan)
23. Pada jendela Inspector objek Enemy tambahkan
komponen skrip dengan nama “EnemyLogic”
24. Selanjutnya hapus skrip default dan tambahkan
variabel baru seperti berikut:

var Health = 100;

25. Selanjutnya buat fungsi untuk menentukan persyaratan


musuh mati.
Rancangan Awal Game Survival (lanjutan)
Rancangan Awal Game Survival (lanjutan)
26. Kembali ke Unity. Jika melihat jendela Inspector dari
objek Enemy, akan terlihat object memiliki nyawa.
Komponen nyawa akan berkurang saat terkenan
serangan dari karakter.

27. Klik tombol Play untuk menguji game. Jika menembak


musuh dari jarak jauh, tidak ada pengaruh pada musuh. Jika
menembak musuh dari jarak kurang dari variabel
MaxDistance, nyawa musuh akan berkurang. Jika nyawa
musuh sampai 0, maka objek musuh akan menghilang.
Rancangan Awal Game Survival (lanjutan)
D. Membuat Animasi Senjata

Ikuti langkah-langkah berikut:


1. Untuk memudahkan membuat senjata pisahkan jendela
Game dan Scene dengan cara drag pada nama “Game”
sehingga dapat diletakkan di sebelah jendela Scene.
Rancangan Awal Game Survival (lanjutan)
2. Buat objek baru dengan klik GameObject > 3D Objects >
Sphere. Kemudian pindahkan objek mendekati objek
Player.
Rancangan Awal Game Survival (lanjutan)
3. Buat lagi objek baru dengan pilih GameObject > 3D
Object > Cylinder. Letakkan objek di bawah objek bola.
Rancangan Awal Game Survival (lanjutan)
4. Atur skala dan posisi dari objek bola dan silinder
sehingga proposional dengan objek Player
Rancangan Awal Game Survival (lanjutan)
5. Pada jendela Hierarchy, drag objek silinder sehingga menjadi
child dari objek bola.
6. Ubah nama objek bola menjadi “Mace” dan objek silinder
menjadi “Grip”
7. Letakkan objek Mace di depan karakter agak ke kanan
sehingga memiliki tampilan di jendela Game.
Rancangan Awal Game Survival (lanjutan)
Rancangan Awal Game Survival (lanjutan)
8. Supaya objek Mace mengikuti karakter, jadikan objek Mace
child dari objek MainCamera yang ada di dalam objek Player
9. Hilangkan Sphere Collider dari jendela Inpector objek
Mace dan Cylinder Collider dari jendela Inspector objek Grip.
Rancangan Awal Game Survival (lanjutan)
10. Klik objek Mace. Klik Window > Animation. Drag
jendela
tersebut sehingga ada di sebelah jendela Project dan
Console.

11. Klik Create pada jendela Animation sehingga muncul


kotak dialog untuk menyimpan animasi. Beri nama
animasi dengan “Attack” dan klik “Save” untuk menutup
kotak dialog.
Rancangan Awal Game Survival (lanjutan)
12. Klik Add Property > Transform dan pilih semua
komponen Transform yaitu Position, Rotation dan Scale.
13. Posisi awal objek Mace pada titik 0. kemudian ubah
Mace menjadi pada titik 0:30, atur Position dan rotation.
Rancangan Awal Game Survival (lanjutan)
14. Klik tombol Play untuk menjalankan animasi dan klik
tombol merah bulat atau Ctrl+S untuk menyimpan
animasi.
15. Buka kembali jendela Project dan klik Attack.
16. Pada jendela Inspector klik tombol kanan atas dan pilih
Debug
17. Pada Unity 5, pada bagian Legacy beri tanda Ceklis
untuk membuat animasi pada mode Legacy.
Rancangan Awal Game Survival (lanjutan)
18. Kemudian Pada jendela Inspector klik tombol kanan
atas dan pilih Normal kembali.
19. Drag objek Mace pada jendela Hierarchy ke objek
Melee sehingga sekarang objek Mace menjadi child
dari objek Melee
20. Buka kembali skrip MeleeSystem. Tambahkan variabel
“Mace”

var Mace : Transform;

21. Selanjutnya tambahkan animasi Attack ke dalam skrip


seperti berikut
Rancangan Awal Game Survival (lanjutan)
Rancangan Awal Game Survival (lanjutan)
Bagian yang diberikan kotak adalah perintah untuk
menjalankan animasi Attack dan berlaku untuk Unity versi
5, dapat mengetikkan:
GetComponent<Animation>().Play(“Attack”);.

23. Klik objek Mace dan tambahkan komponen Animation.


Pada bagian Animation tambahkan animasi Attack
24. Klik objek Melee dan akan terlihat komponen Melee.
Pilih Mace ke dalam komponen.
25. Klik tombol Play untuk menguji game. Ketika menekan
tombol mouse, senjata akan bergerak. Jika menyerang
musuh dengan jarak kuranng dari variabel
MaxDistance, nyawa musuh akan berkurang dan akan
menghilang saat nyawa musuh menjadi 0
Pertemuan 3

Memperbaiki Tampilan Peta


Memperbaiki Tampilan Peta (lanjutan)
A. Membuat Efek Kabut

1. Klik Edit > RenderSetting. Pada Unity versi 5 menu ini


ada di Windows > Lightning
2. Pada bagian Fog, akan terlihat pengaturan tampilan
efek kabut
3. Beri tanda pada Fog untuk menampilkan efek kabut
4. Pada bagian Fog Color biarkan berwarna abu-abu
untuk menyesuaikan dengan kondisi kabut yang
sebenarnya
5. Density merupakan tingkat ketebalan kabut. Isi dengan
“0.1” supaya kabut tidak terlalu tebal
Memperbaiki Tampilan Peta (lanjutan)
6. Klik tombol Play, akan terlihat efek kabut dalam game

B. Mengganti Bentuk Peta

1. Hapus objek GroundPlane yang sebelumnya digunakan


sebagai peta
2. Klik objek GameObjek > 3D Object > Terrain
3. Terlihat objek Terrain di jendela Hierarchy
4. Pada jendela Scene, akan terlihat peta yang lebih besar dari
sebelumnya
5. Klik objek Terrain untuk memunculkan pengaturan pada
jendela Inspector. Jika kondisi jendela Inspector masih
dalam keadaan debug, pilih pada ikon gear dan pilih Normal
Memperbaiki Tampilan Peta (lanjutan)
6. Pada bagian Terrain klik ikon paling kanan untuk
menampilkan pengaturan terrain

7. Pada bagian Resolution, atur panjang, lebar dan tinggi


terrain. Tinggi terrain digunakan untuk membatasi
ketinggian objek yang dibuat pada terrain.
Memperbaiki Tampilan Peta (lanjutan)

8. Pada jendela Scene, terlihat objek Player berada terlalu


kiri ke bawah. Oleh karena itu, geser terrain sehingga
objek Player ada di tengah. Gunakan tool Position atau
mengubah Position pada jendela Inspector.
9. Untuk membuat pola pada peta, tambahkan gambar
pola bentuk tanah. Ambil gambar ini dari internet atau
mendownload di asset store dengan kata kunci “texture”.
Memperbaiki Tampilan Peta (lanjutan)
Memperbaiki Tampilan Peta (lanjutan)
10. Masukkan gambar ke dalam Unity dengan klik import
dari file yang telah di download di asset store.
11. Jika berhasil maka akan terdapat folder baru di dalam
folder asset dengan nama asset store yang telah kita
import.
12. Pada jendela Inspector dari Terrain, klik Paint Texture
13. Klik Edit Texture sehingga muncul kotak dialog Add
Terrain Texture
Memperbaiki Tampilan Peta (lanjutan)
14. Klik Select pada kotak kiri dan cari texture yang di
inginkan.
15. Pilih tekstur rumput sehingga muncul di kotak dialog
Add Terrain Texture
16. Pada bagian Size buat x dan y menjadi “15”.
Pengaturan ini merupakan ukuran texture setiap
kotaknya. Klik Add
Memperbaiki Tampilan Peta (lanjutan)
17. Jika merasa efek kabut terlalu tebal, kurangi angka dari
Density. Selain itu dapat membuat objek Light menjadi
lebih dekat ke objek Player supaya peta menjadi lebih
terang.

C. Menambahkan Gunung

1. Klik objek Terrain sehingga menampilkan jendela


Inspector dari Terrain.
2. Pada bagian Terrain akan terlihat beberapa tool untuk
membuat perubahan pada terrain. Gunakan tool
Raise/Lower Terrain atau Paint Height Terrain untuk
membuat gunung.
Gunung Dalam peta
Tampilan gunung dengan efek kabut dalam game
Memperbaiki Tampilan Peta (lanjutan)
3. Tambahkan gambar gunung di tengah peta

4. Pilih tool Paint Texture


5. Klik Edit Texture > Add Texture untuk mengganti gambar
texture dan pilih gambar batu
Memperbaiki Tampilan Peta (lanjutan)

6. Texture batu yang baru ditambahkan dan pilih tool


dengan lingkaran paling kecil. Kemudian terapkan pada
peta untuk membuat pola pada bagian gunung
7. Klik tombol Play dan akan terlihat perbedaan warna
texture antara tanah dan gunung

D. Menambahkan Material

1. Bagian pertama yang dibuat adalah membuat jalan


setapak. Jalan ini akan memiliki pola tanah berwarna
coklat. Klik objek Terrain untuk menampilkan jendela
Inspector
2. Tambahkan tekstur tanah dengan ukuran 10x10
3. Gunakan tool lingkaran untuk membuat tanah melingkat
di sekitar tempat berdirinya objek Player.
4. Buat jalan setapak dengan menggunakan tool yang
sama.
5. Jika klik tombol Play akan terlihat tanah berwarna
coklat dengan pola seperti yang digambar
6. Buat pola pada tembok. Caranya, Download Asset
Walls dan import selanjutnya pada jendela inspector
dalam Mesh Renderer pilih materials, pilih element dan
select material.
7. Lakukan langkah yang sama sehingga semua tampilan
tembok berubah memiliki pola.
8. Jika melihat pada jendela Inspector, akan terlihat
material tembok juga telah berubah.
9. Tambahkan lampu yang ditempel pada tembok. Buat
objek bola dengan klik GameObject > 3D Object >
Sphere
10. Tambahkan objek silinder sebagai tangkal lampu
dengan klik GameObject > 3D Object > Cylinder
11. Atur ukur silinder supaya proposional dengan lampu.
Gunakan tool Scale
12. Tempelkan silinder pada object bola
13. Tambahkan objek kotak dengan klik GameObject > 3D
Object > Cube
14. Sesuaikan ukuran objek kotak dengan dua objek
sebelumnya dan gabungkan semua objek
15. Gabungkan objek silinder dan kotak ke dalam objek bola
16. Ubah nama objek menjadi “Lamp”
17. Tempelkan objek ke tembok
18. Beri pola pada objek Cube menggunakan pola yang
sama dengan tembok
19. Buat material dengan klik kanan pada jendela Project.
Pilih Create Material.
20. Beri nama material dengan “Pegangan Lampu”
21. Beri warna hitam pada material dengan klik bagian
warna pada Jendela Inspector
22. Drag material ke object Cylinder
23. Buat kembali material warna putih untuk bagian bola
lampu
24. Berikan warna putih pada material
25. Pada jendela Inspector akan terlihat bagian Material
dapat diedit. Klik bagian Shader dan pilih Sprite >
Diffuse
26. Klik bagian Tint sehingga ditampilkan kotak dialog untuk
memilih warna
27. Pilih warna untuk bola lampu dengan warna yang
diinginkan
28. Warna lampu telah berubah

29. Buat efek cahaya di dalam lampu dengan klik


GameObject > Light > Point Light
30. Letakkan cahaya di dalam object bola lampu
31. Pada jendela Inspector lakukan pengaturan seperti
menambahkan bayangan dan ukuran cahaya seperti
pada gambar di bawah ini
E. Membuat Objek Pohon

1. Objek pohon sebenarnya sudah ada pada saat


menambahkan asset Terrain. Untuk mencari object
pohon, pada jendela Project pilih kategori All Models
2. Berdasarkan pilihan beberapa objek pohon, drag objek
jendela Scene untuk menampilkan pohon
3. Cara lain menambahkan pohon dengan klik GameObject
> 3D Objecjt > Tree
4. Akan terlihat sebatang pohon
5. Pada jendela Inspector dari objek Tree akan terlihat
pengaturan batang dan pohon
6. Klik gambar batang untuk mengatur tampilan batang
7. Pada bagian distribution, isi bagian Frequency dengan
“5”
supaya batang pohon menjadi bercabang 5. Pada
distribution pilih Opposite sebagai bentuk percabangan
yang tersebar
8. Terlihat batang lima pohon tersebar dalam area
melingkar
9. Pada bagian Geomatry, pilih pola untuk Branch Material
dan Break Material dengan pola yang sesuai sehingga
batang pohon menjadi memiliki pola
10. Klik pada gambar pohon untuk mengatur tampilan
pohon
11. Pada bagian Distribution buat Area Spread menjadi “0”
supaya cabang pohon menyatu menjadi satu pohon
yang bercabang
bercabang
12. Tambahkan gambar daun pada batang pohon. Klik
gambar batang pohon di bawah kotak dialog
13. Terlihat tambahan gambar daun
14. Klik gambar daun di jendela Scene untuk mengatur
posisi daun di pohon
15. Pada bagian Distribution buat Frequency dengan “10”
untuk menentukan banyaknya daun. Pilih distribution
dengan Alternate untuk menentukan penyebaran daun
16. Pilih bagian Geomatri pilih pola gambar daun yang
sesuai
17. Terlihat tampilan pohon yang dilengkapi daun
18. Pengguna dapat menggeser posisi daun dengan drag
lingkaran
Pertemuan 4

Membuat Sistem Game


Membuat Sistem Game (lanjutan)
A. Menambahkan Pilihan Senjata

1. Perbaiki bentuk tampilan objek Mace dengan


memperbesar bentuk bola dan memperpendek bagian
pegangan/Grip
2. Tambahkan tekstur pada objek Mace dan Grip supaya
senjata memiliki warna dan dapat menggunakan tekstur
batu sebagai pewarna
Membuat Sistem Game (lanjutan)
3. Tambahkan senjata baru dengan menambahkan asset
Sword dari file yang telah di download dari asset store.
Membuat Sistem Game (lanjutan)
Membuat Sistem Game (lanjutan)
4. Tambahkan tekstur pedang dari file yang telah di
download
5. Buat skrip baru pada Melee dengan nama
“WeaponSwitch” dengan menggunakan Javascript
6. Buat variabel seperti berikut

var Weapon1 : GameObject;


var Weapon2 : GameObject;

7. Selanjutnya tulis skrip sebagai berikut


Membuat Sistem Game (lanjutan)
Membuat Sistem Game (lanjutan)
8. Pada jendela Inspector dari objek Melee akan terlihat
komponen baru yang mendaftarkan dua senjata untuk
karakter
9. Masukkan senjata mace dan word pada kotak yang
berbeda
10. Klik tombol Play dan akan terlihat senjata berhasil
ditampilkan. Untuk mengganti senjata klik Q
11. Saat memulai game, kedua senjata akan ditampilkan
secara bersamaan. Untuk menanganinya, cukup
hilangkan tanda pada kotak Inspector dari salah satu
senjata yang tidak ingin ditampilkan pada saat awal
permainan
12. Terlihat hanya ada satu senjata pada jendela Scene
Membuat Sistem Game (lanjutan)
13. Jika jalankan game kembali, hanya terlihat satu senjata
saja yang ditampilkan. Untuk mengganti senjata lain klik
tombol Q
14. Senjata Mace dapat digerakkan saat klik kiri mouse, akan
tetapi senjata pedang tidak. Hal ini karena senjata pedang
belum ditambahkan animasi gerakan
15. Untuk membuat animasi, klik object Sword dan klik
jendela Animation
16. Buat animasi dengan nama Sword
17. Tambahkan komponen Position dan Rotation dari
Transform
18. Atur pergerakan object Sword sebagai animasi
pergerakan objek
19. Klik Ctrl+S untuk menyimpan animasi jika telah selesai
membuat animasi
Membuat Sistem Game (lanjutan)

20. Klik jendela Inspector dari objek Sword. Tambahkan


komponen Animation
21. Masukkan animasi Sword yang telah dibuat
Membuat Sistem Game (lanjutan)

22. Klik objek Melee dan tambahkan Javascript dengan


nama “MeleeSystemSword”
23. Buat variabel sebagai berikut

var Damage : int = 50


var Distance : float;
var MaxDistance : float = 1.5;
var Weapon : Transform;

24. Selanjutnya tulis skrip berikut


Membuat Sistem Game (lanjutan)
Membuat Sistem Game (lanjutan)
25. Pada jendela Inspector dari objek Melee daftarkan
objek Sword pada Melee System Sword
Membuat Sistem Game (lanjutan)

26. Jalankan game dan dapat menggerakkan pedang saat


menekan klik kiri

B. Membuat Sistem Kendali Musuh

1. Klik objek Enemy dan tambahkan Javascript dengan


nama “EnemyAI”
2. Buka skrip dan hapus semua skrip default
3. Buat variabel seperti berikut
Membuat Sistem Game (lanjutan)
var distance : float;
var Target : Transform;
var LookAtDistance = 25.0;
var AttackRange = 15.0;
var MoveSpeed = 5.0;
var Damping = 6.0;

Variabel Damping adalah variabel tambahan untuk


menghaluskan gerakan karakter. Tulisan #pragma strict
juga dihapus.

4. Selanjutnya tuliskan skrip berikut


Membuat Sistem Game (lanjutan)
Membuat Sistem Game (lanjutan)

5. Untuk menguji skrip di atas, letakkan objek Enemy agak


jauh dari objek Player
6. Daftarkan objek Player ke komponen skip objek Enemy
Membuat Sistem Game (lanjutan)
7. Klik tombol Play untuk menguji reaksi objek Enemy.
Musuh berwarna hijau saat karakter di luar jangkauan
musuh. Musuh menjadi kuning saat karakter masuk
dalam wilayah musuh. Musuh berwarna merah saat
mengejar karakter
8. Jika saat objek Enemy berwarna kuning dan objek
Player menjauhi musuh,

C. Menambahkan Suara

1. Buat Javascript baru tanpa membuat objek dengan


nama “AudioZone”
2. Hapus skrip dan tuliskan skrip berikut
Membuat Sistem Game (lanjutan)
Membuat Sistem Game (lanjutan)
Variabel the Collider digunakan sebagai pendeteksi jika
karakter memasuki wilayah yang akan dimainkan musik.

Fungsi OnTriggerEnter mengatur untuk memainkan musik


saat karakter memasuki wilayah.

Fungsi OnTriggerExit mengatur untuk mematikan musik


saat karakter keluar dari wilayah.

3. Buat objek dengan klik GameObject > Create Empty.


4. Ganti nama object dengan “Audio Zone”
5. Tambahkan komponen collider pada objek Audio Zone
dengan cara klik Add Component dan ketikkan “collider”
Membuat Sistem Game (lanjutan)
6. Pilih Sphere Colider dan beri tanda pada Is Trigger
Membuat Sistem Game (lanjutan)
7. Letakkan objek di daerah lingkaran. Gunakan tool Scale
untuk memperbesar ukuran objek dan Position untuk geser
objek.
Membuat Sistem Game (lanjutan)

8. Masukkan asset musik yang diinginkan. Dapat juga


menggunakan asset musik yang telah didownload.
9. Drag musik yang diinginkan pada jendela Inspector dari
objek Audio Zone
10. Beri tanda pada Play On Awake
11. Buka jendela Inspector dari objek Player
12. Pada bagian Untagged menjadi Player
13. Klik tombol Play untuk menguji game
Membuat Sistem Game (lanjutan)
Membuat Sistem Game (lanjutan)
Membuat Sistem Game (lanjutan)

14. Jika mengatur dengan benar, saat karakter memasuki


wilayah Audio Zone akan terdengar musik/BGM. Musik
ini akan berhenti jika karakter meninggalkan wilayah
Audio Zone. Jika karakter seperti menabrak tembok
saat akan masuk ke wilayah Audio Zone, artinya belum
memberi tanda pada bagian Is Trigger dari komponen
Sphere Collider
15. Salin objek Audio Zone dan beri nama “Audio Zone2”
16. Letakkan objek Audio Zone 2 di daerah Enemy
17. Ganti musik dengan asset EnemyTerritory atau musik
yang diinginkan
Membuat Sistem Game (lanjutan)
18. Saat ini pengguna akan memiliki 2 musik yang berbeda,
yaitu pada daerah lingkaran dan pada wilayah musuh
19. Jika ingin musik pada wilayah musuh bergerak mengikuti
pergerakan musuh, buat objek Audio Zone 2 menjadi child
dari objek Enemy.
20. Jika ingin jalankan game, musik akan mengikuti
pergerakan musuh
D. Meningkatkan Sistem Kendali Musuh
1. Hapus komponen Capsule Collider dari jendela Inspector
objek Enemy
2. Tambahkan komponen Character Controller dengan klik
Add Component dan ketikkan “character controller”
3. Non aktifkan skrip EnemyAI dengan menghilangkan tanda
centang pada bagian kiri atas
4. Buat skrip dengan JavaScript dan beri nama “AdvancedAI”
5. Salin semua skrip dari EnemyAI dan hapus bagian
#pragma strict
6. Selanjutnya buat variabel menjadi seperti berikut
7. Ketik scrip berikut
8. Kembali ke Unity dan daftarkan CharacterController
yang sebelumnya ditambahkan ke dalam Advanced AI
9. Daftarkan objek Player ke dalam Advanced AI
10. Jalankan tombol Play untuk menguji pergerakan musuh
11. Jika coba menaruh objek Enemy di belakang tembok,
objek akan mengikuti pergerakan karakter tetapi tidak
dapat menembus tembok
12. Tambahkan serangan pada musuh dengan tambahan
variabel

var attackRepeatTime = 1;
private var attackTime : float;

13. Buat fungsi start sebagai berikut


function Start ()
{
attackTime = Time.time;
}

14. Buat fungsi if di dalam fungsi update

if (Distance < AttackRange)


{
attack ();
else
Letakkan fungsi ini di
atas if (Distance <
ChaseRange). Fungsi
ini akan membuat objek
Enemy berhenti
mengejar objek Player
jika objek akan
menyerang objek
Player. Jika objek
Enemy akan mengejar
kembali objek Player
dan akan berhenti saat
objek Enemy akan
menyerang objek
Player.
7. Scrip Lengkap AdvancedAI seperti berikut:
15. Klik tombol Play untuk menguji game
16. Saat musuh mengejar karakter, musuh akan berhenti
mengejar (berwarna kuning) untuk menyerang karakter
17. Pada jendela Controller, akan menemukan pesan
“melakukan serangan”. Pesan ini sebagai tanda musuh
sedang menyerang karakter. Tanda ini dilakukan
sementara karena karakter belum memiliki nyawa.
Pesan ini menggunakan jeda waktu
18. Pengguna juga akan kesulitan menghadapi musuh
karena perubahan pada fungsi ApplyDamage
E. Membuat Nyawa Pada Karakter

1. Klik object Enemy dan hapus skrip EnemyAI ubah


dengan AdvanceAI
2. Buka kembali scrip AdvancedAI dari objek Enemy
3. Tambahkan variabel baru seperti berikut

var Damage = 30;

4. Fungsi attack ubah menjadi

function attack ()
{
if (Time.time > attackTime)
{
Target.SendMessage (“ApplyDamage”, Damage);
Debug.Log (“Melakukan serangan”);
attackTime = Time.time + attackRepeatTime;
}
}
5. Selanjutnya buka skrip EnemyLogic dari object Enemy
6. Ubah bagian ApplyDamage menjadi seperti berikut

function ApplyDammage(Dammage:int)
{
Health-=Dammage;
}
8. Salin skrip lengkap dari Enemylogic
9. Tambahkan komponen Javascript pada objek Player
dengan nama “Playerlogic”
10. Buka skrip PlayerLogic dan ganti semua skripn default
dengan skrip yang telah disalin
11. Klik tombol Play untuk menguji game
12. Jika karakter mendekati musuh, musuh akan
menyerang dan mengeluarkan pesan serangan
13. Setelah serangan ketiga, objek player akan hilang dari
jendela Game, dikarenakan musuh telah melakukan
serangan sebanyak 105 poin yang berarti melebihi
nyawa objek Player yang hanya 100
14. Pengguna akan mendapatkan pesan lain karena
menghilangnya objek player
15. Buka kembali sktip PlayerLogic
16. Ubah fungsi Dead menjadi seperti
function Dead()
{
Debug.Log (“Karakter Terbunuh”);
}
17. Skrip lengkap dari Playerlogic

#pragma strict

var Health = 100;

function ApplyDamage (Damage : int)


{
Health -= Damage;
if (Health < 0)
{
Dead ();
}
}
function Dead()
{
Debug.Log (“Karakter Terbunuh”);
}
18. Klik Play untuk menguji game
19. Saat nyawa karakter menjadi kurang dari sama dengan
0, muncul pesan :”Karakter Terbunuh”
20. Meskipun pesan muncul, objek karakter masih terlihat
di jendela Game karena kondisi mati karakter telah
diubah

F. Membuat Pintu

1. Masukkan asset pembuat pintu dari file yang anda


download.
2. Letakkan asset ke dalam jendela Scene.
3. Tambahkan collider pada objek pintu dan tembok.
4.
Pada Objek pCube2 tambahkan
komponen Mesh Collider.

Pada objek polySurface1 tambahkan


komponen Box Collider.
4. Buat objek baru dengan klik GameObjek > CreateEmpty
5. Tambahkan Box Collider dan buat supaya objek menjadi
seukuran pintu dan berada di tengan pintu
6. Buat objek memiliki lebar melebihi pintu
7. Beri tanda pada Is Trigger
8. Buat objek menjadi child dari polySurface1
9. Beri nama objek dengan nama “Trigger”
10. Buat Javascript pada jendela Inspector dari objek Trigger
dengan nama DoorLogic
11. Ketikkan skrip berikut

#pragma strict

function update ()
{
}

function OnTriggerEnter (theCollider : Collider)


{
if (theCollider.tag == “Player”)
{
Debug.Log(“pintu terbuka”);
}
}

12. Klik tobom Play untuk menguji game


13. Kembali ke skrip DoorLogic

#pragma strict

private var drawGUI = false;


function update ()
{
}
Pertemuan 5

Membuat Sistem Game (2)


function OnTriggerEnter (theCollider : Collider)
{
if (theCollider.tag == “Player”)
{
drawGUI = true;
}
}
function OnTriggerExit (theCollider : Collider)
{
if (theCollider.tag == “Player”)
{
drawGUI = false;
}
}
function OnGUI ()
{
if (drawGUI == true)
{
GUI.Box (Rect (Screen .width*0.5 – 51,15,250,25),
“Klik E untuki membuka pintu”);
}
}
14. Klik tombol Play untuk menguji game
15. Lalu mendapatkan pesan untuk membuka pintu, tetapi
pintu belum dapat terbuka karena anda belum
membuat skrip membuka pintu
16. Jika menjauhi pintu, pesan akan hilang kembali
17. Tambahkan variabel baru seperti berikut

var theDoor = Transform;


var anim : Animation;
private var drawGUI = false;
private var doorisClosed = true;

18. Isi pada fungsi Update


function Update ()
{
if (drawGUI == true && Input.GetKeyDown (KeyCode.E))
{
Debug.Log("E");
changeDoorState();
}
}
19. Buat fungsi change DoorState

function changeDoorState()
{
if (doorIsClosed == true)
{
theDoor.GetComponent.<Animation>().CrossFade("Open");
theDoor.GetComponent.<AudioSource>().Play();
Debug.Log("Pintu Terbuka");
doorIsClosed = false;
yield WaitForSeconds (3);
theDoor.GetComponent.<Animation>().CrossFade("Close");
theDoor.GetComponent.<AudioSource>().Stop();
doorIsClosed = true;
Debug.Log("Pintu Tertutup");
}
}
20. Tampilan lengkap skrip membuka pintu
21. Selanjutnya membuat animasi membuka pintu. Klik objek
polySurface1 dan buka jendela Animation. Buat animasi
dengan nama “Open”
23. Tambahkan komponen Rotation pada jendela Animation
24. Ubah center menjadi pivot pada pilihan di sebelah tool
shortcut

25. Buat pintu terbuka di titik 20 detik dan hapus key di titik 1
menit
26. Klik Ctrl+S untuk menyimpan animasi
27. Buat lagi animasi dengan nama “Close”
28. Buat posisi terakhir dari animasi Open sebagai titik 0
29. Kemudian buat posisi pintu menutup di titik 20
30. Jadikan animasi Open dan Close sebagai Legacy jika
keluar peringatan untuk membuat animasi menjadi
Legacy
31. Tambahkan komponen Animation di objek Door
32. Daftarkan animasi seperti gambar
33. Pada objek Trigger daftarkan objek Door dalam
komponen DoorLogic
34. Klik tombol Play untuk menjalankan game
35. Jika melakukannyan dengan benar, pintu akan terbuka
saat mengklik tombol E dan dalam beberapa detik akan
tertutup kembali
Membuat Sistem Game (lanjutan)
G. Membuat Menu Respawn

Pada saat karakter mati, seharusnya permainan berhenti


dan
dapat memilih respawn atau memulai lagi dari awal.
1. Klik objek Player dan buat objek Javascript dengan
nama “Respawn”
2. Buat variabel berikut

var lookAround01 : MouseLook;


var lookAround02 : MouseLook;
var charController : CharacterController;
static var playerIsDead = false;
3. Buat fungsi Start seperti berikut

function Start ()
{
lookAround01 =
gameObject.GetComponent(MouseLook);
lookAround02 =
Gameobject.Find(“MainCamera”).GetComponent(MouseLook);
charController =
gameObject.GetComponent(CharacterController);
}

4. Kembali ke Unity. Pada jendela Hierarchy ubah nama


objek Main Camera yang menjadi child dari objek Player.
Ganti nama objek menjadi “MainCamera”
5. Kembali ke skrip Respawn
6. Tambahkan fungsi onGUI seperti berikut
function OnGUI ()
{
if (playerIsDead == true)
{
if (GUI.Button(Rect(Screen.width*0.5-50, 200-20, 100, 40), "Respawn"))
{
RespawnPlayer();
}

if (GUI.Button(Rect(Screen.width*0.5-50, 240, 100, 40), "Menu"))


{
Debug.Log("Return to Menu");
}
}
}
7. Buat fungsi Update di atas fungsi Start

function Update ()
{
if (playerIsDead == true)
{
lookAround01.enabled = false;
lookAround02.enabled = false;
charController.enabled = false;
}
}

8.Tambahkan variabel baru

var respawnTransform : Transform;

9. Buat fungsi characterisDead pada bagian paling bawah


function RespawnPlayer ()
{
transform.position = respawnTransform.position;
transform.rotation = respawnTransform.rotation;
gameObject.SendMessage("RespawnStats");
lookAround01.enabled = true;
lookAround02.enabled = true;
charController.enabled = true;
playerIsDead = false;
Debug.Log("Player telah muncul kembali");
}

10. Skrip lengkap dari Respawn


Membuat Sistem Game (lanjutan)
Membuat Sistem Game (lanjutan)
11. Buka skrip PlayerLogic di objek Player. Ubah skrip
seperti berikut
12. Buat objek baru dengan klik GameObject > EmptyObject
13. Letakkan di dekat posisi karakter saat ini dan ganti nama
menjadi “Respawn Position”
14. Buat tag khusus untuk objek ini dengan cara klik menu
tag pada jendela Inspector dan pilih tag yang sesuai.
Jika tidak ada tag yang sesuai, klik Add Tag dan tulis
nama tag.
Membuat Sistem Game (lanjutan)
15. Klik objek dan pilih tag
16. Daftarkan objek Respawn Location ke skrip Respawn
bagian Respawn Transform
17. Klik Play untuk menguji game. Jika klik tombol
Respawn saat karakter mati, maka akan kembali
muncul di posisi Respawn Location dengan nyawa
penuh kembali

H. Membuat Karakter Terluka Saat Jatuh

1. Klik objek Player dan buat Javascript dengan nama


“CrouchHeight”
2. Tulis skrip berikut
3. Jika dijalankan dan saat menekan tombol C maka akan
terlihat pandangan karakter menjadi lebih rendah
4. Karakter dapat jatuh dari permukaan tanah jika posisi
karakter terlalu rendah. Dapat dibuktikan dengan
membuat objek seperti tembok dan membuat karakter
berdiri di objek tersebut. Jika karakter menunduk terlalu
lama, karakter akan jatuh dari objek
5. Buat Javascript di Objek Player dan beri nama
“WalkerEnchanted”
6. Masukkan variabel berikut untuk mengatur pergerakan
karakter saat terjatuh dari permukaan landai
Buat fungsi Start seperti berikut:
Buat fungsi FixedUpdate seperti berikut:
7. Jika melihat komponen Walker Enchanted, akan terlihat
banyak variabel yang mempengaruhi keadaan saat
karakter terjatuh.
8. Jika meletakkan karakter pada daerah yang tinggi
sehingga karakter terjatuh, maka karakter akan
mendapat luka sesuai dengan ketentuan pada fungsi
ApplyFallingDamage.
9. Jika meletakkan karakter terlalu tinggi, nyawa karakter
akan habis
10. Saat meluncur dari lantai yang landai, karakter akan
bergerak lebih cepat
11. Jika lantai terlalu landai, karakter akan tergelincir
12. Karakter juga dapat meloncat saat meluncur
Pertemuan 6

Membuat Sistem Game (3)


I. Membuat Perubahan Siang Malam

1. Tambahkan paket Unity yang berisi folder siang dan


malam dari file yang telah di download
2. Jika berhasil menambahkan paket, akan mendapatkan
folder baru yang berisi bahan untuk membuat kondisi
siang dan malam
3. Pada folder tersebut akan terlihat gambar dan material
untuk membuat bulan dan matahari
4. Klik objek Directional Light dan buat Intensity
menjadi 0.05

Gambar mengurangi intesitas cahaya


5. Saat ini kondisi peta menjadi lebih gelap
6. Tambahkan prefab TOD ke dalam jendela Hierarchy
7. Akan terlihat objek berada di peta
8. Jika klik tombol Play maka akan terlihat pergantian
waktu dari siang dan malam
9. Kondisi langit masih terlihat terang meskipun di bawah
terlihat gelap
10. Untuk mengatasi permasalahan pada awan, hapus
komponen Skybox yang ada di MainCamera dari objek
Player
11. Klik Play dan akan terlihat langit menjadi gelap saat
malam
12. Ubah warna Background dari komponen MainCamera
objek Player untuk mengubah warna langit. Gunakan
warna biru langit
14. Berdasarkan gambar di bawah ini, dapat mengatur
kecepatan siang dan malam dengan mengubah nilai
Speed. Serta juga dapat melihat jam dalam game dengan
melihat nilai pada Hour. Sun merupakan bagian yang
mendaftarkan objek matahari. Slider untuk melihat
pergerakan objek
15. Dapat mengatur warna pada bagian bawah dari
pengaturan TOD
16. Pada bagian paling bawah ada Skybox yang digunakan
untuk menampilkan waktu siang dan malam
17. Pada bagian variabel dari script TOD, akan terlihat
variabel-variabel berikut.
18. Pada bagian fungsi GUI akan terlihat skrip berikut
19. Selanjutnya akan terlihat skrip berikut
J. Memperbaiki Desain Tampilan Peta

1. Untuk menghias peta, tambahkan asset dari file yang


telah di download
2. Akan terlihat folder aset untuk menghias peta
3. Klik folder Campfire

2. Letakkan Campfire ke dalam peta


3. Beri tekstur pada prehabs sehingga objek api unggun
menjadi berwarna
4. Klik GameObject > Particle System
5. Akan terlihat partikel kecil yang melayang. Tempatkan
posisi partikel ke posisi api unggun
8. Ubah warna partikel menjadi jingga atau merah supaya
warnanya terlihat seperti api
9. Ubah Start Speed menjadi 2
10. Ubah Start Size menjadi 3
11. Klik pada bagian Shape dan pilih bentuk Cone supaya
api unggun menyala ke atas. Ubah ketinggian cone
sesuai dengan yang diinginkan
12. Beri tanda pada Random Direction pada pengaturan
Shape.
Gambar membuat api
Pengaturan particle system
Menambahkan pagar kedalam scene.
13. Klik folder Fence
14. Masukkan prefab Fance ke dalam jendela Scene. Jika
terlalu kecil, gunakan Scale Tool untuk memperbesar
objek
15. Jika ingin memperbanyak pagar, klik kanan pada objek
Fance dan pilih Duplicate
16. Beri tekstur pada setiap pagar
17. Tambahkan Mesh Collider pada setiap Fance
18. Klik folder Stone dan tambahkan batu pada peta
19. Masukkan prefab Stone pada jendela Scene
20. Tambahkan tekstur pada objek batu
21. Klik folder StreetLamp dan tambahkan lampu pada
peta
22. Masukkan prefab StreetLamp pada jendela Scene
23. Tambahkan tekstur pada lampu

Gambar menempatkan pagar pada peta


Gambar menambahkan objek batu pada peta
Gambar menambahkan objek lampu
24. Duplikasikan objek jika ingin memberikan lebih dari
satu lampu
25. Klik bagian lampu. Nama default objk lampu adalah
Cube_003
26. Klik kanan dan pilih Light > Spotlight
27. Pada bagian Range isi dengan 10
28. Pada bagian Intensity isi dengan 4
29. Selanjutnya menambahkan air pada peta. Klik kanan
pada jendela Project dan klik Import Asset > Water
(Basic)
30. Klik Import pada kotak dialog yang muncul
31. Akan terlihat folder untuk membuat air
32. Drag prefab Daylight Simple Water ke jendela Scene
33. Buat supaya objek air berada di atas tanah sehingga
air terlihat di peta
35. Tinggalkan daerah sekitar air dengan klik Terrain dan
gunakan tool Paint Height
36.Haluskan permukaan tanah dengan Smooth Height
37.Buka kembali skrip TOD yang ada di objek TOD
38.Tambahkan variabel

var Water : GameObject;


var IncludeWater = false;
var WaterNight : Color;
var WaterDay : Color;

39. Tambahkan skrip berikut


if (IncludeWater == true)
{
Water.GetComponent(Renderer).material.SetColor("_horizonCo
lor", Color.Lerp (WaterNight, WaterDay, slider2*2-0.2));
}
40. Klik tombol Play untuk menguji game
41. Dapat pula menambahkan perahu di objek air.
Gunakan objek dari folder start area > Chinese Boat
42. Drag prefab Chinese Boat ke jendela Scene dan
perbesar menggunakan Scale Tool
43. Berikan tekstur pada objek
44. Tambahkan objek dok dari folder Dock
45. Drag prefab Dock ke jendela Scene dan perbesar
menggunakan Scale Tool
46. Berikan tekstur pada objek

K. Perbaikan Objek Pada Peta

1. Pada api unggun, tambahkan Mesh Collider pada bagian


tempat kayu dan kayunya
2. Pada objek batu, tambahkan Mesh Collider pada objek
batu
3. Pada lampu jalan, tambahkan Mesh Collider pada bagian
tiang lampu
4. Pada dermaga, tambahkan Mesh Collider pada setiap
child dari objek Dock
5. Pada perahu, tambahkan Mesh Collider pada setiap child
dari objek Chinese Boat
Membuat Sistem Game (lanjutan)

Jika lakukan hal-hal di atas, objek-objek tersebut tidak


dapat ditembus oleh karakter. Untuk beberapa objek
seperti dermaga dan batu justru malah dapat dijadikan
pijakan karena objek dapat dilompati oleh karakter
Pertemuan 9

Finishing
Finishing (lanjutan)
A. Menambahkan Tangan Untuk Karakter

1. Tambahkan folder Arms dari file yang telah di download


2. Tambahkan file Arm05.fbx ke dalam jendela Science
3. Perbesar ukuran objek tangan dengan Scale Tool
4. Klik gambar Arm05.fbx di jendela Project

5. Pada jendela Inspector akan terlihat gambar


Finishing (lanjutan)
Finishing (lanjutan)
6. Pada tab Generic pilih Animation Type menjadi Generic
7. Pada Root nod pilih Arm_Armature > Master
8. Klik Apply
9. Klik tab Animation dan akan terlihat semua animasi
gerakan tangan
10. Hapus animasi Default Take dengan cara klik nama
animasi dan klik tanda –
Finishing (lanjutan)
11. Klik animasi Idle dan scroll untuk menunjukkan
pengaturan animasi
12. Beri tanda pada Loop Time dan klik Clamp Range

13. Pilihan pada langkah 12 akan membuat animasi berjalan


terus setelah waktu animasi selesai. Hal ini dapat dilihat
dengan klik tombol Play pada gambar animasi bagian
bawah jendela Inspector
Finishing (lanjutan)
14. Klik animasi IdleWithWeapon
15. Klik Clamp Range
16. Klik animasi PunchLeft
17. Klik Clamp Range
18. Klik animasi PunchRight
19. Klik Clamp Range
20. Klik animasi Run
21. Klik Loop Pause dan Clamp Range
22. Klik animasi Swing01
23. Klik Clamp Range
24. Klik animasi Swing01
25. Klik Clamp Range
26. Klik Apply pada bagian jendela Inspector
27. Jadikan objek Arms05 sebagai child dari MainCamera
yang ada di objek Player
Finishing (lanjutan)
28. Jadikan Arms05 menjadi child dari MainCamera

29. Buat posisi tangan supaya terlihat tepat di jendela Game


30. Pada jendela Project Arms klik kanan dan pilih Create
Object > Animator Controller
Finishing (lanjutan)
31. Beri nama Controller dengan nama “Arms”
32. Drag Controller Arms ke jendela Inspector Arms05
bagian Animator
33. Masukkan pada bagian Controller
Finishing (lanjutan)
34. Klik ganda pada file controller Arms untuk menampilkan
jendela Animator
35. Klik kanan pada jendela dan pilih Create State > Empty
36. Pada jendela Inspector ganti nama “Empty” dengan “Idle”
37. Tambahkan animasi Idle dari Arms05.fbx
38. Drag animasi ke bagian motion
Finishing (lanjutan)
Finishing (lanjutan)
39. Jika melakukannya dengan benar, saat game
dijalankan, tangan akan bergerak sesuai dengan
animasi Idle.
40. Jika poosisi tangan kurang pas di layar game, geser
posisi tangan sehingga terlihat jelas pada layar game
41.Tambahkan tekstur pada tangan. Berikan warna tekstur
pada Arm_Mesh
42. Ubah Base Shader menjadi Mobile >diffuse

43. Selanjutnya Tarik tekstur ArmsDiffuse kedalam base shader.


Finishing (lanjutan)

1) Membuat Tangan Tidak Dapat Menembus Objek

* Buat kamera baru dengan klik GameObject > Camera


* Beri nama kamera dengan nama ArmCamera
* Jadikan kamera kedua menjadi child dari MainCamera
Finishing (lanjutan)
• Isi bagian Rotation dan Position dengan “0”, sedangkan
• Scale isi dengan “1”
* Pada bagian Camera, buat Clear Flag menjadi Depth
Only
* Klik objek Arms05 dan klik Add Layer pada Layer
* Ketikkan nama Layer baru dengan nama “ArmCamera”
• Klik kembali objek Arms05 dan ganti Layer menjadi
ArmCamera
* Klik ArmCamera dan klik Culling Mask pada bagian
Camera menjadi Nothing
* Klik kembali Culling Mask dan klik ArmCamera
* Pada bagian Depth isi dengan “1”
* Hapus komponen Flare Layer, GUILayer dan Audio
Listener dan ArmCamera
Finishing (lanjutan)
* Jika menjalankan game, akan terlihat tangan tidak lagi
mennembus objek
* Ubah layer dari senjata dengan ArmCamera sehingga
senjata juga tidak dapat menembus objek lain
* Jika diperhatikan, pada bagian kiri layar terdapat garis
yang menandakan waktu yang sedang berjalan.
Pengguna dapat menghilangkannya dengan membuka
skrip TOD
* Beri tanda // pada bagian slider=
GUI.HorizontalSlider(Rect(20,20,200,30), slider, 0,1.0);
Finishing (lanjutan)
* Jika menjalankan game, akan terlihat garis telah hilang

2) Menambahkan Animasi Gerakan Tangan


* Buka jendela Animator dan buat state baru dengan klik
kanan pilih Create > Empty
* Beri nama state dengan nama “IdleWithWeapon”
* Pilih animasi IdleWithWeapon.fbx
* Klik kanan pada state Idle dan pilih Make Transition
* Arahkan panah pada state IdleWithWeapon
Finishing (lanjutan)
• Klik garis transisi untuk menampilkan pengaturan transisi

* Hilangkan tanda pada Has Exit Time


* Klik Parameters pada jendela Animator dan pilih Bool
Finishing (lanjutan)
• Beri nama parameter dengan nama WeaponIsOn

* Kembali pada pengaturan transisi. Pada bagian Condition


pilih WeaponIsOn dan beri nilai True
Finishing (lanjutan)
* Geser garis dibawah Has Exit Time dengan cara scroll
mouse ke depan. Anda akan melihat jarak antar titik
menjadi lebih panjang
* Pada garis yang memblok biru, perlebar ke kiri supaya
transisi pergerakan menjadi lebih halus
* Buat garis transisi kebalikan dengan cara klik kanan state
IdleWithWeapon > Make Transition
• Arahkan garis ke state Idle
Finishing (lanjutan)
* Klik garis transisi. Pada bagian Condition pilih
WeaponIsOn dengan nilai False
* Perbaiki garis di bawah Has Exit Time untuk memperhalus
gerakan transisi.
• Klik Parameters pada jendela Animators
* Tambahkan parameter baru dengan klik Bool dan beri
nama “IsRunning”
* Klik kanan pada jendela Animator dan pilih Create State
> Empty
• Beri nama state dengan nama “Run”
Finishing (lanjutan)
• Tambahkan animasi Run.fbx
Finishing (lanjutan)
• Buat garis transisi dari Idle ke Run
• Klik garis tersebut untuk menampilkan pengaturan
transisi
* Pada bagian Condition pilih IsRunning dengan nilai True
• Buat garis transisi dari Run ke Idle
• Pada bagian Condition pilih IsRuning dengan nilai False
• Buat garis transisi dari Run ke IdleWithWeapon
• Pada bagian condition tambahkan IsRunning dan beri
nilai False.
• Buat garis transisi dari IdleWeapon ke Run
• Pada bagian Condition tambahkan IsRunning dan beri
nilai True
• Klik garis transisi dari Run Ke Idle
Finishing (lanjutan)
• Pada Condition tambahkan WeaponIsOn dan beri nilai
False
• Klik garis transisi Run ke IdleWithWeapon
• Pada Condition tambahkan WeaponIsOn dengan nilai
True
• Hasil hubungan ketiga animasi akan seperti gambar
Finishing (lanjutan)
• Klik objek Arms05 dan beri tanda Apply Root
• Klik tombol Play untuk menguji game
• Pada jendela animator beri tanda pada IsRunning dan
WeaponIsOn untuk melihat perubahan pergerakan
tangan
• Buat state baru dan beri nama “Hit01”
• Tambahkan animasi motion PunchRight.fbx
• Buat Transisi dari Idle ke hit01
• Buat Parameter baru dengan klik Bool dan beri nama
“Hit01”
• Klik garis transisi Idle ke Hit01
• Pada bagian Condition tambahkan Hit01 dengan nilai
True
• Buat state baru dengan nama “Hit02”
Finishing (lanjutan)
• Tambahkan animasi motion PunchLeft.fbx
• Buat transisi dari Idle ke Hit02
• Buat Parameter baru dengan klik Bool dan beri nama Hit02
• Klik garis transisi Idle ke Hit02
• Pada bagian Condition tambahkan Hit02 dengan nilai True
• Buat transisi dari Hit01 ke Idle dan Hit02 ke Idle. Gunakan
Condition Default
• Klik tombol Play untuk menguji game. Jika melakukan
dengan benar, saat menekan Hit01 atau Hit02, setelah
animasi dilakukan maka tangan akan kembali ke posisi Idle
• Buat state baru dengan nama Swing01
• Tambahkan animasi Swing01.fbx
• Buat transisi dari Idle ke Swing01
• Pada bagian Condition tambahkan Hit01 dengan nilai True
Finishing (lanjutan)
• Buat state baru dengan nama Swing02
• Tambahkan animasi Swing02.fbx
• Buat transisi dari Idle ke Swing02
• Pada bagian Condition tambahkan Hit02 dengan nilai True
• Buat transisi dari Swing01 ke Idle dan Swing02 ke Idle.
Gunakan Condition Default
• Klik tombol Play untuk menguji game. Jika melakukan
dengan benar, saat menekan Swing01 atau Swing02,
setelah animasi dilakukan maka tangan akan kembali ke
posisi IdleWithWeapon
3) Menambahkan Senjata pada Tangan

• Tambahkan senjata ke dalam Unity. Di materi ini


ditambahkan IronMace.fbx
• Hapus komponen Animator dari objek IronMace
• Klik IronMace.fbx di jendela Project. Pada tab Animation
hilangkan tanda pada Import Animation dan tab Rig buat
Animation Type menjadi None
• Beri tekstur pada Objek IronMace
• Buat objek IronMace menjadi child dari tangan kanan
• Semua nantinya akan diletakkan pada Hold_R
• Buat posisi IronMace tepat di tangan kanan
• Pengguna dapat memindahkan Melee menjadi child dari
Hold_R dan IronMace menjadi child dari Melee. Akan
tetapi aktifkan semua skrip yang ada di Melee dan juga
non aktifkan Sword dan Mace karena pengguna tidak
menggunakan senjata itu lagi
• Buat posisi Melee dan IronMace tepat di tangan kanan
• Lakukan langkah yang sama dari penghilangan komponen
Animator, pemberian tekstur dan peletakkan tangan kanan
untuk senjata lain seperti pisau dan pedang yang ada
dalam paket file yang di download
• Proses peletakkan tangan akan seperti di gambar

Gambar meletakkan pisau pada tangan kanan


Gambar tampilan dalam game
• Jika coba menjalankan animasi seperti pada pembahasan
menambahkan animasi gerakan tangan, maka
pergerakan senjata akan sesuai dengan pergerakan
tangan
B. Memperbaiki Sistem Senjata

1. Pada objek Melee yang berada di Hold_R buat Javacsript


dengan nama “NewWeaponSwitch”
2. Tuliskan variabel seperti berikut

#pragma strict
var currentWeapon =0;
var maxWeapons = 2;
var theAnimator : Animator;

3. Selanjutnya ketikkan skrip berikut


function Update ()
{
if(Input.GetAxis("Mouse ScrollWheel") > 0)
{
if(currentWeapon + 1 <= maxWeapons)
{
currentWeapon++;
}
else
{
currentWeapon = 0;
}
SelectWeapon(currentWeapon);
}
else if (Input.GetAxis("Mouse ScrollWheel") < 0)
{
if(currentWeapon - 1 >= 0)
{
currentWeapon--;
}
else
{
currentWeapon = maxWeapons;
}
SelectWeapon(currentWeapon);
}
if(currentWeapon == maxWeapons + 1)
{
currentWeapon = 0;
}
if(currentWeapon == -1)
{
currentWeapon = maxWeapons;
}
4. Jika tombol Play diklik, maka akan terlihat variabel baru
pada jendela Inspector dari Melee. Scroll Mouse untuk
mengubah angka. Angka ini mewakili senjata.
5. Tambahkan skrip berikut pada bagian bawah fungsi
Update agar dapat mengganti senjata dengan menekan
tombol 1-2 pada keyboard.
if(Input.GetKeyDown(KeyCode.Alpha1))
{
currentWeapon = 0;
SelectWeapon(currentWeapon);
}
if(Input.GetKeyDown(KeyCode.Alpha2) && maxWeapons >= 1)
{
currentWeapon = 1;
SelectWeapon(currentWeapon);
}
if(Input.GetKeyDown(KeyCode.Alpha3) && maxWeapons >= 2)
{
currentWeapon = 2;
SelectWeapon(currentWeapon);
}
6. Ketikkan skrip berikut pada fungsi Awake

function Awake ()
{
SelectWeapon (0);
}

7. Pada fungsi SelectWeapon ketikkan skrip berikut untuk


membuat animasi dari gerakan tangan
function SelectWeapon (index : int)
{
for (var i = 0; i < transform.childCount; i++)
{
//Activate the selected weapon
if (i == index)
{
if (transform.GetChild(i).name == "First")
{
theAnimator.SetBool("WeaponIsOn", false);
}
else
{
theAnimator.SetBool("WeaponIsOn", true);
}
transform.GetChild(i).gameObject.SetActive(true);
}
else
{
transform.GetChild(i).gameObject.SetActive(false);
}
}
}
8. Klik kanan pada Melee yang ada di Hold_R, pilih Create Empty.
9. Beri nama “First”. Object ini akan mewakili tangan saat tidak
memegang senjata. Buat semua rotasi dan posisi menjadi 0.

10. Klik Melee dan lihat pad jendela Inspector terdapat The Animator
yang masih kosong.
11. Drag object Arms05 ke dalam The Animator
12. Klik tombol Play untuk menguji game
13. Pengguna dapat mengganti senjata dengan scroll
mouse aau menekan tombol 1-3. Pada saat memegang
senjata tangan, tangan akan akan menggenggam
sedangkan tanpa senjata tangan akan terbuka
14. Ketik skrip supaya serangan karakter dapat melukai
musuh. Buat Javascript di Melee dengan nama
“NewMeleeSystem” atau nama yang diinginkan
15. Ketik variabel seperti berikut
var TheDammage : int = 50;
private var Distance : float;
var MaxDistance : float = 1.5;
var TheAnimator : Animator;
var DammageDelay : float = 0.6;
16. Tambahkan variabel lain

private var Hit01Streak = 0;


private var Hit02Streak = 0;

17. Buat fungsi Update seperti berikut

function Update ()
{
if (Input.GetButtonDown("Fire1"))
{
AttackDammage();
}
}
18. Buat fungsi AttackDammage seperti berikut
function AttackDammage ()
{
if (Random.value >= 0.5 && Hit01Streak <= 2)
{
TheAnimator.SetBool("Hit01", true);
Hit01Streak += 1;
Hit02Streak = 0;
}
else
{
if (Hit02Streak <= 2)
{
TheAnimator.SetBool("Hit02", true);
Hit01Streak = 0;
Hit02Streak += 1;
}
else
{
TheAnimator.SetBool("Hit01", true);
Hit01Streak += 1;
Hit02Streak = 0;
}
}
yield WaitForSeconds(DammageDelay);
//Actual attacking
var hit : RaycastHit;
var ray = Camera.main.ScreenPointToRay(Vector3(Screen.width/2,
Screen.height/2, 0));
if (Physics.Raycast (ray, hit))
{
Distance = hit.distance;
if (Distance < MaxDistance)
{
hit.transform.SendMessage("ApplyDammage",
TheDammage, SendMessageOptions.DontRequireReceiver);
}
}

TheAnimator.SetBool("Hit01", false);
TheAnimator.SetBool("Hit02", false);
}
19. Klik objek Melee untuk membuka jendela Inspector
20. Pada bagian The Animator tambahkan Arms05
21. Klik tombol Play untuk menguji game
22. Sekarang karakter dapat menyerang dan melukai
musuh
Pertemuan 10

Finishing (2)
Finishing (lanjutan)

C. Membuat Game Menjadi Stand Alone

1. Klik File > Building Settings


2. Muncul kotak dialog Build Settings
3. Tambahkan scene game dengan klik Add Current
4. Pilih platform yang akan digunakan untuk menjalankan
game. Padan contoh ini tujuan platform adalah Sistem
operasi Windows 64 bit
Finishing (lanjutan)
Finishing (lanjutan)
5. Player Setting jika ingin menambahkan keterangan lain
pada game
Finishing (lanjutan)
6. Klik Build untuk memulai proses pembuatan game
menjadi stand alone
7. Berikan nama game yang dibuat
8. Klik Save untuk melanjutkan proses
9. Setelah proses selesai, akan mendapatkan file exe
10. Klik file exe untuk menjalankan game.
11. Pengguna dapat mengatur tampilan game pada tab
Graphics
12. Pengguna dapat melihat tombol yang digunakan untuk
dalam game dengan klik tab Input
13. Klil Play untuk menjalankan game
14. Klik tanda silang untuk menutup game
Finishing (lanjutan)

D. Kompilasi Game untuk Android

Pada pembahasan ini Pengguna akan mengcompile game


khusus ubtuk platform Android. Untuk menjalankan karakter,
perlu mengubah skrip yang mengatur pergerakan menjadi y
yang mendukung touchscreen. Jika menemui error pada skrip
saat compile, skrip dapat dihapus.
Finishing (lanjutan)
Untuk membuat game yang dibuat dapat dimainkan
menggunakan perangkat android, perlu menginstal beberapa
hal berikut

1) JDK (Java Development Kit)

Merupakan persyaratan utama supaya dapat menginstal


SDK. JDK dapat didownload dari situs

http://www.oracle.com/technetwork/java/javase/downloads/
Jdk8-downloads-2133151.html

Pada halaman tersebut, pilih versi JDK yang sesuai dengan


Sistem Operasi yang digunakan
Finishing (lanjutan)
2. SDK

Untuk mengcompile game game menjadi platform android,


perlu menggunakan root dari SDK sekaligus perangkat
virtual Android.

♦ Download SDK dari https://developer.android.com/sdk/


index.html
♦ Setelah berhasil instal SDK, pengguna akan melihat
Android Studio terpasang di komputer. Jika diperhatikan,
akan ada folder Android di dalam drive tempat anda
menginstal atau di dalam folder
user/nama_user/AppData/Lokal. Pada folder tersebut,
akan menemui SDK Manager.exe dan AVD Manager.exe
Finishing (lanjutan)
♦ Klik SDK Manager dan install paket yang
dibutuhkan,terutama HAXM Installer jika HAXM gagal
diinstall saat menginstall Android Studio.

Gambar aplikasi pendukung


virtual android devive
Finishing (lanjutan)
♦ Jika XAHM tidak dapat diinstall, restart komputer dan
masuk ke menu booting. Kemudian buat pilihan
Virtualization Technology menjadi Enabled
Finishing (lanjutan)
♦ Selanjutnya dapat kembali menginstall HAXM
♦ Buka AVD Manager dan ikuti proses pemasangan hingga
dapat melihat perangkat virtual Android
♦ Klik nama perangkat dan klik Start
♦ Terlihat tampilan smartphone Android di monitor

3) Compile Game Menjadi APK

♦ Buka Unity dengan perangkat Android virtual masih aktif


♦ Klik Edit > Preference
Gambar tampilan Unity Preference
Finishing (lanjutan)
♦ Klik tab External Tools

Gambar tampilan tab External Tools


Finishing (lanjutan)
♦ Pada bagian android SDK Location arahkan ke folder
tempat menyimpan file SDK. File ini berada di dalam
folder Android.
♦ Pada bagian JDK Location arahkan ke folder tempat
menginstall JDK. Biasanya berada di dalam Program
File
♦ Tutup External Tools dan klik File > Build Settings
♦ Klik Player Settings
♦ Pada bagian Company Name dan Product Name isi
dengan nama yang diinginkan. Pastikan tidak
menggunakan spasi
♦ Pada deretan ikon, pilih ikon Android (ke-4 dari kiri)
♦ Pada bagian Bundle Identifier isi dengan format
Company_Name.Product_Name
Finishing (lanjutan)
♦ Dapat juga memilih minimum level API yang dapat
digunakan pada perangkat android
♦ Kembali pada Build Setting. Pastikan pilihan ada pada
Android.
♦ Klik Build
♦ Jika telah menginstall SDK dan JDK dengan benar dan
mengarahkan Unity ke folder yang tepat, proses compile
akan berjalan lancar
♦ Setelah proses selesai, akan ditemukan file APK di
dalam folder yang dipilih untuk menyimpan file saat
proses compile
♦ File ini dapat dipindahkan langsung ke perangkat
android supaya dapat dimainkan atau dapat
Finishing (lanjutan)
mencobanya pada perangkat virtual android
♦ Jika ingin menguji game pada perangkat android,
pindahkan file APK ke dalam folder platform-tools yang ada
di folder sdk

Gambar memindahkan file APK ke dalam platform-tool


Finishing (lanjutan)
♦ Selanjutnya buka command prompt dan arahkan ke
dalam platform-tools. Gunakan perintah “cd” untuk
pindah folder

Gambar pindah ke folder platform-tools


Finishing (lanjutan)
♦ Ketikkan /adb install nama_APK
♦ Jika berhasil, pada perangkat virtual android akan
ditampilkan game yang dibuat
Finishing (lanjutan)

♦ Klik ikon game untuk masuk ke dalam game]


♦ Untuk keluar game, harus menutup aplikasi secara
manual karena tidak menambahkan menu untuk
menutup game

Anda mungkin juga menyukai