Langsung ke konten utama
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.

Sebuah GameObject dapat terbentuk dari beberapa komponen yang terdiri dari:
1. Transform
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

Postingan populer dari blog ini

Tip dan trik Torchlight II: Outlander Dual Pistol

Kali ini saya akan membahas tentang game Torchlight 2. Game ini dirilis 21 September 2012. Game ini adalah lanjutan dari Torchlight yang dirilis beberapa tahun lalu. Review tentang Torchlight 2 telah banyak diulas di situs situs game internasional terkemuka maka saya tidak akan mereview game ini, hanya memberikan beberapa tip dan trik untuk memainkan game ini. Jika pembaca suka game jenis hack and slash ala Diablo, maka game ini wajib dimainkan. Mari mulai. Penulis memulai game ini langsung ke level Elite, tingkat kesulitan game ke 4 atau yang paling tinggi dalam game ini setelah 1. Casual, 2. Normal, 3. Veteran, 4. Elite. Penulis merasa kurang puas jika tidak memainkan suatu game dalam tingkat kesulitan yang paling tinggi :D. 

Tip and tricks Torchlight II: Berserker Blood Hunger

Since I am bored with the "gun" class, I decided to playing with another character class, Berserker. This character is interesting because its main melee weapon, claw, has an ability to bypass 50% of armor!! Nonetheless, regular attack can only hit one enemy at a time, unless you using some skills that can hit more than one enemy at a time. After playing some time with this class, I decided to experiment if I can take advantage of one of its passive skill  Blood Hunger, a skill that gives you a certain amount (percentage) your hit point back to you so long you hit the enemy with a critical attack. You can say that as long as you hit with critical, your HP will never drop. Added to that is Berserker's weapon claw who has the lowest delay of animation, the chance to perform a critical hit is high.

Tip dan trik Torchlight II: Berserker Blood Hunger

Karena sedang bosan dengan karakter "gun", penulis coba main dengan karakter Berserker. Karakter ini menarik karena senjata melee nya, yaitu claw, memiliki kemampuan untuk by-pass 50% dari armor!! Walaupun demikian, serangan standar nya hanya bisa memukul satu musuh pada saat yang sama, kecuali menggunakan skill. Setelah iseng iseng coba beberapa kali, penulis memutuskan untuk memanfaatkan secara penuh skill passive Blood Hunger, skill yang akan mengembalikan sekian persen dari max HP kita setiap kali kita melakukan serangan kritikal. Bisa dibilang selama pukulan kita masuk secara critical, HP kita tidak akan pernah turun. Ditambah sifat senjata Berserker yang memiliki animasi delay paling rendah, kesempatan melakukan serangan critical sangat tinggi.