Analogi GameObject
dalam Unity3D
GameObject
adalah semua objek yang tampak di dalam sebuah game. Bisa dianalogikan jika
sebuah game adalah sebuah meja makan yang di atasnya tersaji hidangan berbagai jenis makanan dan minuman
dalam piring dan gelas yang telah tersusun rapi.
GameObject
bisa terdiri dari: gambar latar belakang (background), animasi karakter,
kamera, efek gambar, cahaya, suara dalam game, dll.
Meja
makan bisa terdiri dari: meja, kursi, piring, sajian makanan minuman, lilin,
lampu dll.
Namun
demikian, setiap GameObject tidak dapat berdiri sendiri. GameObject adalah
suatu kontainer atau wadah yang terdiri dari kumpulan kumpulan komponen yang
memiliki fungsi berbeda beda.
Anggap
saja salah satu GameObject adalah “Ayam Goreng” di atas meja makan, maka “Ayam
Goreng” tersebut sebenarnya terbentuk dari beberapa komponen sebagai berikut:
1.
Ayam mentah
2.
Resep membuat ayam goreng
3.
Minyak goreng
4.
Bumbu bumbu, dll
Semua
komponen di atas dimasukan ke dalam wajan penggorengan dan diolah sebagai Ayam
Goreng.
1. Transform
2. Script
3. Effect
4. Audio, dll
2. Script
3. Effect
4. Audio, dll
Setiap
komponen memiliki fungsi dan nilai serta properti yang berbeda. Suatu
GameObject dapat memiliki kombinasi komponen sesuai dengan yang diinginkan;
misalnya: suatu GameObject karakter dalam game memiliki komponen audio, animasi
dan script tertentu pada saat bergerak, diam atau menghilang.
Properti
dalam suatu komponen memiliki Nilai dan Referensi.
Contoh:
suatu karakter memiliki 2 komponen audio, 1 untuk berteriak dan 1 untuk
bergerak. Maka dalam script, audio untuk berteriak dan bergerak harus
direfensikan kepada file audio yang sesuai
1. Berteriak
> karakter_teriak.mp3
2. Bergerak
> karakter_bergerak.mp3
Jika
tidak ada referensi pada saat karakter menggunakan komponen audio, maka akan
timbul eror. Perhatikan dalam penamaan referensi harus sesuai dengan file asli
dalam komputer atau kita akan mendapatkan hasil yang tidak diinginkan.
Menambahkan
file audio ke dalam properti suatu komponen dalam Unity semudah drag and drop
file dari komputer ke dalam komponen tersebut.
Dalam
mode Play (di mana simulasi game sedang berjalan), kita dapat mengubah nilai
dan properti suatu komponen sehingga kita dapat melihat secara langsung efek perubahan
yang kita buat di dalam game. Tidak perlu khawatir nilai dan properti awal akan
hilang karena jika tombol Play kembali ditekan, maka nilai dan properti awal
yang telah diubah akan kembali ke awal.
Urutan
komponen dalam suatu GameObject tidak terlalu berpengaruh pada suatu Game
kecuali beberapa komponen tertentu seperti Image Effects.
Unity
menggunakan sistem Parenting dalam GameObject; artinya, kita dapat menempatkan
suatu GameObject menjadi ‘anak’ atau ‘orangtua’ dalam GameObject yang lain. Sang
‘anak’ akan mewarisi sistem gerakan dan rotasi dari sang ‘orangtua’. Sistem
Parenting berguna jika kita ingin membuat suatu karakter musuh yang memiliki
fungsi, gerakan dan rotasi yang sama secara umum. Contoh: Bos Orc > anak
buah bos Orc memiliki fungsi yang sama. Perbedaan hanya pada warna karakter,
HP, suara, dll. Fungsi ini berguna jika kita ingin membuat karakter karakter
tertentu dalam jumlah banyak dan memiliki fungsi yang secara umum sama, cukup
menempatkan suatu GameObject di bawah GameObject yang lain.
Teknik
lain dalam pembuatan suatu GameObject yang sama adalah Prefabs. Prefabs adalah
suatu koleksi GameObject dan komponen komponen yang dapat dipakai berulang kali
dalam suatu scene. Beberapa objek yang sama dapat dibuat dari sebuah Prefabs;
teknik ini disebut Instancing.
Contoh
membuat suatu pohon dalam scene. Sebuah Prefabs pohon dapat ditempatkan di
dalam game, kemudian Prefabs pohon tersebut diperbanyak di dalam suatu game. Dan
jika ada perubahan di dalam Prefabs pohon tersebut, maka pohon pohon yang lain
akan ikut berubah secara otomatis.
Properti
dalam suatu komponen dapat berupa Prefabs atau GameObject yang lain selama tipe
nya sesuai.
Kombinasi
Prefabs dan Parenting akan menyingkat banyak waktu pada saat ada perubahan aset
karena kita hanya perlu mengubah aset utama satu kali dan objek yang lain akan
ikut berubah selama di dalam struktur Parenting dan Prefabs yang sama. Kita
bahkan dapat mengubah clone (tiruan dari Prefabs) dan semua clone dan Prefabs
utama akan ikut terupdate secara otomatis!
Mengubah Aset
Mengubah
atau memodifikasi aset dalam Unity sangat mudah; cukup double-click aset yang
ingin diubah di dalam Project Asset Unity, maka program yang terasosiasi dengan
aset tersebut akan terbuka. Contoh: double-click aset jagoanku.png di dalam Unity dan program Photosop akan terbuka
beserta file tersebut, kemudian edit, save dan exit. Maka semua aset jagoanku.png dan Prefabs serta
Parenting yang berkaitan dengan jagoanku.png
akan ter-update secara otomatis.
Catatan:
disarankan untuk tidak mengubah aset
yang ada di dalam Unity, di luar dari Unity. Ini karena semua aset yang sudah
ada di dalam Unity memiliki meta data tertentu yang berkaitan dengan aplikasi
yang sedang dibuat; mengubahnya di luar Unity akan membuat Unity kehilangan
meta data tersebut dan referensi akan aset tersebut akan hilang dan dapat
menyebabkan eror.
Contoh:
membuka file jagoanku.png langsung
di dalam folder komputer atau di dalam Photosop tanpa melalui Unity akan
menghilangkan metadata dan referensi Unity karena Photosop akan membuat file
baru.
Komentar
Posting Komentar