Daftar Isi Daftar Isi ............................................................................................................................... 2 Pengantar .............................................................................................................................. 3 1. Pengantar Permainan Roll-a-Ball ................................................................................ 3 Environment dan Player ........................................................................................................ 4 2. Setting up the Game ................................................................................................... 4 3. Moving the Player .................................................................................................... 13 Camera dan Play Area ......................................................................................................... 17 4. Moving the Camera .................................................................................................. 17 5. Setting Up the Play Area .......................................................................................... 19 Collecting, Scoring and Building the game .......................................................................... 21 6. Creating Collectable Objects .................................................................................... 21 7. Collecting the Pick Up Objects ................................................................................. 26 8. Displaying the Score and Text .................................................................................. 29 Pengantar 1. Pengantar Permainan Roll-a-Ball Dari workshop ini, kita akan membuat sebuah permainan bola bergulir sederhana yang dapat mengajarkan banyak prinsip dasar dari Unity. Kita akan mempelajari cara membuat objek game baru, menambahkan komponen ke objek game ini, mengatur nilai pada properti game dan memposisikan objek game ini ke dalam scene. Dalam permainan ini, pemain akan mengontrol bola yang bergulir di sekitar papan permainan. Pemain akan memindahkan bola menggunakan fisika dan gaya. Game akan mendapatkan input dari pemain melalui keyboard dan permainan ini akan menggunakan input tersebut untuk menerapkan gaya pada bola. Dari tutorial ini akan terlihat bagaimana cara mendeteksi kontak antara bola (player) dan objek permainan (pick-up). Dan kemudian, kita akan menampilkan score sementara dan mengakhiri game ketika semua objek game telah diambil. Kita hanya akan menggunakan primitive shapes seperti cubes (kubus), spheres (bola) dan plane yang disediakan oleh Unity. Environment dan Player 2. Setting up the Game Buka ikon Unity dengan double click Klik tombol New untuk membuat projek baru di unity, lalu isi Project name yang merupakan nama projek, Location yang merupakan lokasi penyimpanan projek, Template yang merupakan kategori projek dengan 2 pilihan yaitu 3D dan 2D. Karena disini kita akan membuat aplikasi 3D maka template yang dipilih adalah 3D. Klik tombol Create Project untuk membuat projek unity dan menyimpan projek di lokasi penyimpanan yang sudah ditetapkan di Location. Setelah pembuatan projek, tunggu hingga muncul tampilan editor Unity3D Buat plane dari Toolbar GameObject atau klik kanan pada Hierarchy > 3D Object > Plane. Atau buat Plane dengan klik kanan pada Hierarchy > 3D Object > Plane. Klik kanan Plane pada Hierarchy lalu pilih rename untuk mengganti nama Plane tersebut dengan “Ground”. Reset Transform pada toolbar Inspector menggunakan context sensitive gear menu yang berada di atas kanan Transform. Ubah Transform Scale pada menubar di sebelah kanan menjadi X=2, Y=1, Z=2. Buat Sphere dengan cara yang sama seperti membuat Plane (Klik kanan pada Hierarchy > 3D Object – Sphere) Rename Sphere menjadi “Player”. Lakukan kembali reset transform component menggunakan context sensitive gear menu. Ubah Transform Position Player menjadi (0, 0.5, 0). Untuk memberi warna atau texture pada model, kita dapat menggunakan material. Pada Project View, klik kanan pada folder Assets > pilih Create > pilih Folder Isi atau ganti nama Folder tersebut menjadi “Materials”. Buka folder Materials lalu klik kanan didalamnya > pilih Create > pilih Material Isi/ganti nama Material tersebut menjadi “Background”. Klik Background material, lalu pada menubar kanan klik Albedo untuk membuka color picker. Pilih warna yang diinginkan. Untuk memberikan warna atau texture pada Plane, select material tersebut lalu tarik/drag ke Plane pada scene view. Klik Directional Light pada Hierarchy, lalu ubah Transform Rotation axis Y menjadi 60 pada menubar kanan. 3. Moving the Player Selanjutnya kita akan membuat Player game objek bisa bergerak bergulir pada area Ground, menabrak tembok, tetap di atas Ground dan tidak terbang. Pilih Player dan klik Add Component pada toolbar inspector > pilih physics > pilih RigidBody. Buat folder baru lagi pada Assets untuk menyimpan code program dengan nama folder Scripts. Untuk membuat code program/script, di dalam folder Script klik kanan > pilih Create > pilih C# Script > rename script dengan “PlayerController” Double klik pada script PlayerController lalu ganti isi script dengan: using UnityEngine; using System.Collections; public class PlayerController : MonoBehaviour { public float speed; private Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); } void FixedUpdate() { float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = Input.GetAxis("Vertical"); Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical); rb.AddForce(movement * speed); } } Lalu save script tersebut. Kembali ke Unity Editor. Klik Player > Add Component > pada kolom search cari “PlayerController” > pilih PlayerController Pada field Speed ganti value 0 menjadi 10. Untuk mengecek apakah script dapat berjalan, silahkan klik tombol play yang ada di atas scene. Lalu untuk menjalankan Player gunakan tombol kanan, kiri, atas, atau bawah pada keyboard. Camera dan Play Area 4. Moving the Camera Untuk membuat kamera mengikuti bola bergulir, berikut ini caranya: Pilih Main Camera dan ubah nilai Transform Position menjadi (0, 10, -10) dan Rotation menjadi (45, 0, 0) Buat Script baru pada folder Scripts, beri nama script “CameraController”. Lalu ganti isi script menjadi: using UnityEngine; using System.Collections; public class CameraController : MonoBehaviour { public GameObject player; private Vector3 offset; void Start() { offset = transform.position - player.transform.position; } void LateUpdate() { transform.position = player.transform.position + offset; } } Setelah script CameraController tersimpan. Tambah script tersebut ke dalam Main Camera, lalu pada field Player masukkan objek Player. Untuk mengecek apakah script dapat berjalan, silahkan klik tombol play yang ada di atas scene. Lalu untuk menjalankan Player gunakan tombol kanan, kiri, atas, atau bawah pada keyboard. 5. Setting Up the Play Area Buat game objek baru yaitu Create Empty dari toolbar GameObject, lalu rename Create Empty menjadi “Walls” Reset Transform pada toolbar Inspector menggunakan context sensitive gear menu. Didalam Walls, tambahkah Game Object Cube, rename menjadi “West Wall” dan reset Transform. Lalu ubah Transform Scale menjadi (0.5, 2, 20.5) dan Position X menjadi -10 Klik kanan pada West Wall > pilih Duplicate. Lakukan 3 kali West Wall 1 West Wall 2 West Wall 3 Rename East Wall North Wall South Wall Transform Position (10, 0, 0) (0, 0, 10) (0, 0, -10) Transform Scale (0.5, 2, 20.5) (20.5, 2, 0.5) (20.5, 2, 0.5) Untuk mengecek apakah script dapat berjalan, silahkan klik tombol play yang ada di atas scene. Lalu untuk menjalankan Player gunakan tombol kanan, kiri, atas, atau bawah pada keyboard. Collecting, Scoring and Building the game 6. Creating Collectable Objects Selanjutnya kita akan membuat collecteble object. Buat Cube baru dan ganti nama dengan “PickUp”. Reset Transform Cube “PickUp”. Ubah PickUp Transform Position Y=0.5 dan Transform Rotation menjadi (45, 45, 45 ). Buat Script baru dengan nama “Rotator” untuk membuat objek PickUp berputar, lalu masukan kode dibawah ini. using UnityEngine; using System.Collections; public class Rotator : MonoBehaviour { void Update() { transform.Rotate(new Vector3(15, 30, 45) * Time.deltaTime); } } Masukan Script ke dalam Inspector “Pickup”. Selanjutnya kita akan membuat banya PickUp yang disebar. Oleh karena itu, PickUp kita jadikan menjadi prefab. Prefab adalah asset yang berisikan template atau blueprint dari objek game. Berikut cara PickUp dijadikan Prefab: Pada Project View buat folder baru dengan nama “Prefabs” Drag atau tarik objek PickUp dari hierarchy ke dalam folder Prefabs. Lalu rename prefab tersebut dengan nama “Pickups” Pada hierarchy buat empty objek baru dan rename dengan “Pickups”. Lalu reset Transform empty objek tersebut. Drag atau tarik objek PickUp yang ada di hierarchy ke dalam Pickups empty objek. Ubah editor Local mejadi Global yang ada pada toolbar diatas. Selanjutnya duplicate PickUp yang ada di hierarchy, posisikan sesuai keinginan. silahkan klik tombol play yang ada di atas scene melihat hasil PickUp dan gerakan Player gunakan tombol kanan, kiri, atas, atau bawah pada keyboard. 7. Collecting the Pick Up Objects Pilih PickUp, beri tag baru dengan cara klik Untagged > Add Tag... Lalu klik tanda “+” yang ada didalam Tags untuk menambah tag, lalu beri nama “Pick Up”. Setelah itu Save. Selanjutnya untuk semua Pick Up yang ada ganti Untagged menjadi tag “Pick Up” dan checklist Is Trigger yang ada pada Box Collider. lalu buka script PlayerController dan tambahkan code dibawah ini. void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Pick Up")) { other.gameObject.SetActive(false); } } silahkan klik tombol play yang ada di atas scene melihat hasil PickUp dan gerakan Player gunakan tombol kanan, kiri, atas, atau bawah pada keyboard. 8. Displaying the Score and Text Untuk menampilkan text, kita akan menggunakan Unity UI Toolset. Berikut langkah- langkahnya: Buat UI yang ada pada Create Hierarchy > UI > Text. Ganti nama “CountText” Ubah CountText color menjadi warna putih Ubah isi Text menjadi “Count Text” Ubah Transform Pos X dan Pos Y menjadi 10 dan -10 Buat UI text baru lagi lalu ganti nama dengan “Win Text”. Lalu Reset Transform dan ubah Pos Y menjadi 75. Ubah warna Text menjadi putih dan Ukuran Font 24. Ganti isi Text Menjadi “You Win”. Pindahkan ke tengan dengan cara: klik kotak pada Rect Transform lalu pilih yang tengah. Pada Paragraf ubah Aligment menjadi center. Tambahkan sesuaikan kode yang ada dengan kode dibawah ini pada PlayerController using UnityEngine; using UnityEngine.UI; using System.Collections; public class PlayerController : MonoBehaviour { public float speed; public Text countText; public Text winText; private Rigidbody rb; private int count; void Start() { rb = GetComponent<Rigidbody>(); count = 0; SetCountText(); winText.text = ""; } void FixedUpdate() { float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = Input.GetAxis("Vertical"); Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical); rb.AddForce(movement * speed); } void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Pick Up")) { other.gameObject.SetActive(false); count = count + 1; SetCountText(); } } void SetCountText() { countText.text = "Count: " + count.ToString(); if (count >= 12) { winText.text = "You Win!"; } } } Drag CountText dan WinText ke dalam kolom CountText dan WinText pada Player Silahkan klik tombol play yang ada di atas scene melihat hasil PickUp dan gerakan Player gunakan tombol kanan, kiri, atas, atau bawah pada keyboard.
Enter the password to open this PDF file:
-
-
-
-
-
-
-
-
-
-
-
-