GameObject biasa digunakan untuk mendeklarasikan objek yang ada di dalam game ke dalam script program. Alasan pendeklarasian adalah karena objek akan diedit atau disetting lewat script.
GetComponent digunakan untuk mengambil / mendeklarasikan komponen yang ada di dalam sebuah objek. Alasannya sama seperti GameObject karena komponen yang dideklarasikan akan diedit melalui script.
Kenapa GameObject dan GetComponent dibuat dalam satu tutorial, karena kedua perintah ini selalu berhubungan dalam sebuah script.
MULAI
Pada tutorial kali ini akan dicoba mendeklarasikan dan mengatur komponen Rigidbody yang sudah ditambahkan ke objek cube.
1. Kondisi A
Pada kondisi A, Rigidbody dan script ditambahkan ke Object Cube
Tahap pertama buat sebuah objek Cube dan tambahkan komponen Rigidbody, Component - Physics - Rigidbody.
Setelah itu buat C# Script dengan nama "Latihan" dan berikan ke objek Cube. Buka script dan masukkan listing program berikut :
using UnityEngine;
using System.Collections;
public class Latihan : MonoBehaviour {
Rigidbody
rigidbody;
void
Awake () {
rigidbody
= GetComponent<Rigidbody>();
}
void
Update(){
rigidbody.AddForce(Vector3.forward
* 10);
rigidbody.useGravity
= false;
}
}
Penjelasan :
Rigidbody rigidbody
Ini adalah pendeklarasian untuk komponen, "Rigidbody" adalah nama komponen dan "rigidbody" adalah nama variabel dari komponen, nantinya variabel ini akan mengambil komponen "Rigidbody".
rigidbody = GetComponent<Rigidbody>()
baris program dimana variabel rigidbody mengakses komponen.
rigidbody.AddForce();
Akan dipelajari pada tutorial berikutnya.
rigidbody.useGravity = false;
Digunakan untuk menghilangkan efek gravitasi pada objek.
Jalankan game dan cube akan berjalan lurus kedepan dan ceklis pada Rigidbody - Use Gravity menghilang.
2. Kondisi B
Pada Konsisi B, Rigidbody diberikan ke cube tetapi script diberikan ke object lain (Main Camera), ini artinya bagaimana cara untuk mendeklarasikan komponen yang berada pada objek lain.
1. Hapus terlebih dahulu script "Latihan" yang ada di objek cube.
2. Tambahkan script "Latihan" ke objek Main Camera.
3. Remake script "Latihan" dengan listing berikut :
using UnityEngine;
using System.Collections;
public class Latihan : MonoBehaviour {
GameObject
siKotak;
Rigidbody
rigidbody;
void
Awake () {
siKotak
= GameObject.Find("Cube");
rigidbody
= siKotak.GetComponent<Rigidbody>();
}
void
Update(){
rigidbody.AddForce(Vector3.forward
* 10);
rigidbody.useGravity
= false;
}
}
Penjelasan :
GameObject siKotak
Adalah proses pendeklarasian objek di dalam game, dimana "GameObject" adalah perintah pendeklarasian dan "siKotak" nama variabel dari objek yang akan diakses.
siKotak = GameObject.Find("Cube");
Baris ini adalah proses variabel siKotak mengakses objek Cube di dalam game dengan perintah GameObject.Find("Nama Objek")
rigidbody = siKotak.GetComponent<>();
Baris ini adalah perbedaan utama dari Kondisi A. sebelum GetComponent ditulis sebelumnya ditulis terlebih dahulu variabel objek yang dimana objek ini memiliki komponen Rigidbody.
Jalankan game dan proses pendeklarasian objek + komponennya berhasil.
SELESAI
Tag :
Basic