GUI

Unity memiliki fitur membuat GUI yang bisa digunakan pada game 2D maupun 3D. Di subbab ini akan dibahas gambaran umum GUI dan penggunaannya.

GUI

GUI merupakan singkatan dari Graphical User Interface. Kegunaannya sebagai tampilan masukan dari pemain. Di Unity pembuatan GUI bisa digunakan di sub menu GameObject > UI.

Screen Shot 2015-03-12 at 12.12.11 AM
Beragam UI yang disediakan

 

 

Pengenalan UI

Sebagai perkenalan, mari kita coba dengan membuat komponen UI baru berupa Button.

Screen Shot 2015-03-12 at 12.25.20 AM
Game object yang baru dibuat

GameObject UI yang baru akan muncul di window Hierarchy; antara lain Canvas, Button yang tadi kita pilih, dan EventSystem. EventSystem digunakan oleh UI untuk mendeteksi masukan seperti sentuhan, kontrol, dan sebagainya. Penggunaan UI lebih banyak digunakan di dalam Canvas.

Canvas bertindak sebagai representasi dari tampilan layar. Jika dilihat pada window Game, posisi UI yang berada di dalam kanvas akan sesuai dengan posisi kanvas.Screen Shot 2015-03-12 at 12.27.25 AMSetiap game object UI memiliki komponen bernama Rect Transform. Pada komponen ini UI memiliki pengaturan dimensi. Pada komponen ini juga terdapat fitur Anchor Presets. Fitur ini berguna untuk memposisikan komponen relatif terhadap ukuran kanvas. Hal ini berguna untuk ukuran layar yang berbeda-beda sehingga game yang dibuat memiliki posisi GUI yang konsisten.

Anchor Presets
Anchor Presets

Informasi Detail

Penjelasan lebih detail mengenai penggunaan GUI bisa kamu temui di link berikut:

  1. Unity New GUI Tutorial
  2. Modul UI Unity
  3. UI Reference

 

[[Daftar Isi]]

UserPrefs

Pendahuluan

Salah satu fitur yang sering dijumpai dalam game adalah highscore. Highscore ini harus disimpan dalam database supaya bisa dibandingkan dengan skor pemain sebelumnya. Cara paling sederhana untuk menyimpan database seperti ini adalah menggunakan UserPrefs.

Praktikum

Nah, kali ini kita akan mencoba UserPrefs dengan membuat load highscore sederhana.

Buat project baru

Buat project baru. Beri nama DBProject dan setting menggunakan proyek 2D.

Penggunaan 2D hanya untuk kemudahan tutorial ini saja. Kamu boleh menggunakan 3D juga kok.

Screen Shot 2015-03-09 at 10.21.53 PM

Buat GameObject

Buat GameObject baru, kemudian beri nama DBController.

Screen Shot 2015-03-09 at 10.45.07 PM
Buat empty GameObject

 

Screen Shot 2015-03-09 at 10.45.46 PM
Beri nama menjadi DBController

Beri komponen Script

Pilih GameObject DBController, kemudian beri komponen script dengan nama DBScript menggunakan bahasa C#.

Screen Shot 2015-03-09 at 10.50.00 PM

 

Kemudian masukkan script ini di DBScript

using UnityEngine;
using System.Collections;

public class DBScript : MonoBehaviour {
	
	// Use this for initialization
	void Start () {
		//dapatkan highscore
		int highScore = PlayerPrefs.GetInt("HighScore");

		//tampilkan highscore di log
		Debug.Log(highScore);

		//kita tambahkan score sebelumnya
		highScore = highScore + 1;

		PlayerPrefs.SetInt("HighScore", highScore);
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}

Mari kita perhatikan satu persatu.

  1. PlayerPrefs.GetInt digunakan untuk mendapatkan data bertipe integer dengan key data “HighScore.” Ada banyak jenis get seperti string, float, dan sebagainya. Detailnya bisa kamu lihat di dokumentasi dari Unity tentang PlayerPrefs.
  2. PlayerPrefs.SetInt mengganti data dengan key data “HighScore” menjadi data baru yang telah kita tambahkan.

Key yang digunakan dalam script ini adalah “HighScore.” Kamu bisa menggantinya dengan nama lain. Misalnya “HighScore-1” atau “HighScoreBudi” dan sebagainya.

Test play

Coba tekan play dan lihat hasilnya di Console. Di saat pertama akan ditampilkan angka 0 seperti ini:

Screen Shot 2015-03-09 at 10.59.02 PMKemudian coba stop game dan tekan lagi tombol play. Console akan menghasilkan keluaran berikut:

Screen Shot 2015-03-09 at 10.59.28 PM

Lihat! Angkanya bertambah!

Kesimpulan

Secara sederhana itulah cara menggunakan PlayerPrefs. Kamu bisa membuat penggunaan UserPrefs sedikit lebih kompleks hanya dengan menggunakan key yang unik, atau bahkan menyimpan array dalam PlayerPrefs

 


[[Daftar Isi]]

Struktur Proyek Unity

Saat memulai proyek, tab Project akan memiliki folder Assets yang kosong. Agar saat mengerjakan game file-file yang kamu gunakan tersimpan rapi, ada baiknya untuk menyimpannya dalam sub-sub kategori folder tertentu.

Untuk membuat folder baru, cukup klik kanan di area kosong tab project dan pilih new folder. Contoh gambar untuk membuat folder baru seperti gambar di bawah ini.

Screen Shot 2015-03-02 at 10.08.19 PM
Membuat folder baru

Berikut susunan yang saya sarankan:

  • Scenes, tempat menaruh scene.
  • Scripts, tempat menaruh script. Di dalamnya bisa ada sub folder lagi untuk script dengan kerja tertentu.
  • Images, tempat menaruh gambar-gambar.
  • Sounds, tempat menaruh suara-suara yang dibutuhkan.
  • Animations, tempat menaruh animasi.
  • Prefabs, tempat menaruh game object yang sudah di prefabricate.

Susunan folder di sini tidak saklek dan harus diikuti setiap saat. Kamu bisa membuat susunan folder sesuai keinginanmu sendiri.

[[Daftar Isi]]

Mengenal Tampilan Unity

Daftar isi

Saat membuka Unity, kamu akan disuguhi tampilan Unity dengan banyak sekali pilihan tombol. Sebelum mulai kebingungan, mari kita lihat menu-menu umum yang sering dipakai.

Project Wizard

Screen Shot 2015-03-09 at 10.21.53 PM

Project wizard digunakan untuk memulai project pertama kali. Kamu bisa memasukkan nama proyek yang kamu buat serta package bawaan Unity untuk mempermudah pembuatan game. Untuk permulaan, kamu bisa tidak memilih package apapun.

Tampilan Unity

Saat memulai project kamu akan ditampilkan tampilan sebagai berikut.

Screen Shot 2015-03-02 at 9.19.52 PMTampaknya aneh ya? Mari kita lihat satu per satu.

Oh, karena gambar di sini terlalu kecil, perhatikan juga posisinya di program Unity pada komputer kamu :p

  1. Tab Scene, di sini kamu menaruh gambar-gambar dan objek yang ingin dijadikan tampilan utama dalam permainan
  2. Tab Game, jika tombol “play” di tekan, disini game yang kamu buat bisa dicoba.
  3. Tab Project, tempat asset-asset mulai dari script sampai gambar kamu berada
  4. Tab Console, tempat kamu bisa logging hasil kodingan yang kamu buat
  5. Tab Hierarchy, tempat objek-objek yang kamu taruh di scene
  6. Tab Inspector, tempat kamu melakukan setting pada game.
  7. Tombol play, untuk memulai game yang kamu buat dan dimainkan di tab game.
  8. Tombol pause, menghentikan game sementara. Tombol ini sangat berguna untuk debugging
  9. Tombol step. Dengan tombol ini kamu memajukan “satu waktu” dalam game. Tombol ini juga sangat bagus untuk digunakan dalam debugging

Tampilan MonoDevelop

Untuk kode editor Unity menyediakan MonoDevelop. Tampilan MonoDevelop adalah sebagai berikut:

Screen Shot 2015-03-09 at 11.21.55 PM

Kamu juga bisa menggunakan Visual Studio untuk mengedit kode untuk script Unity

[[Daftar Isi]]

Memulai Proyek

Yes! Let’s get started! Di bab ini kita akan membahas tentang menu dan fitur-fitur yang ada di Unity. Kemudian setelah itu kamu akan disuguhi struktur folder-folder yang disiapkan dalam membuat game supaya rapi. Di bagian akhir saya akan menunjukkan konsep memprogram component based yang ada di Unity.

Di buku ini saya menggunakan C# sebagai bahasa pemrogramannya karena saya sudah terbiasa menggunakan bahasa ini.

[[Daftar Isi]]

Pendahuluan

Unity adalah game engine yang lengkap untuk membuat game. Dengan engine ini kamu bisa mempublish game di banyak platform mulai dari desktop, mobile, web, bahkan ke console-console favorit. Unity memiliki kemudahan untuk digunakan dengan menghadirkan editor yang diintegrasikan dengan enginenya itu sendiri, bagi yang pernah membuat game “full coding” pasti akan merasa takjub dan dimanjakan. Jadi jangan takut, membuat game dengan Unity sangat mudah!

Di buku ini saya akan menjabarkan cara membuat game secara umum menggunakan Unity. Tapi patut diingat, Unity hanya satu dari banyak game engine. Dengan berbantukan Unity, buku ini menjelaskan kebutuhan-kebutuhan umum yang digunakan untuk membuat game. Dengan mengetahui konsep-konsep ini diharapkan kamu tahu bagaimana cara membuat game, bahkan dengan engine lain.

Di setiap akhir bab dan subbab kamu akan menemui link daftar isi untuk kembali ke halaman daftar isi seperti ini:

[[Daftar Isi]]

 

Buku ini pasti tidak lepas dengan kesalahan dan kekurangan. Bagi kamu yang ingin memberikan pertanyaan dan saran silahkan langsung layangkan di bagian komentar.

Terima kasih atas partisipasinya dalam mengembangkan buku ini!

 


[[Daftar Isi]]