Saturday, February 17, 2024

Belajar Pemrograman Games dengan Unity

Gunakan Unity Editor untuk membuat game, aplikasi, dan pengalaman 2D dan 3D. Unduh Editor di unity3d.com. Panduan Pengguna Unity membantu Anda mempelajari cara menggunakan Unity Editor dan layanan terkaitnya. Anda dapat membacanya dari awal sampai akhir, atau menggunakannya sebagai referensi. Jika ini pertama kalinya Anda menggunakan Unity, lihat dokumentasi pengantar tentang Bekerja dengan Unity, dan lihat Tutorial Unity.




Ada 3 ciri utama sebuah listing program yang terstruktur (OOP) yaitu "Encapsulation", "Inheritance" dan "Polymorphism".

Di Unity ada beberapa Method utama yang sering digunakan dalam pembuatan game, berikut adalah method-method C# unity.

- Void Awake adalah method yang akan dieksekusi terlebih dahulu sebelum Method Void Start(). contoh:
void Awake(){
    anim = GetComponent<Animator>();
    player = GameObject.Find("Player");
    partikel = enemy.GetComponent<ParticleSystem>();
    darahUtama = GetComponent<DarahUtama>();
}
- Void Start() hanya akan mengeksekusi listing program satu kali dan di awal saat program dijalankan. contoh:
void Start(){
    umur = 20;
    darahPemain = DarahUtama;
    Phi = 3.14159265;
}
- Void Update() akan mengeksekusi program per frame artinya akan terus mengeksekusi listing program selama program berjalan. Void Update() digunakan untuk mengeksekusi perintah yang selalu berubah sesuai kondisi. contoh:
void Update(){
    time += Time.DeltaTime;
    Debug.Log("void update");
    if(darah <= 0) { Die();}
}
- Void FixedUpdate Memiliki fungsi yang sama dengan void Update(), perbedaannya void Update() lebih fokus ke perubahan grafis game dan void FixedUpdate() lebih fokus ke perubahan fisik pada objek. contoh: 
void FixedUpdate(){
    rigidbody.AddForce(Vector3.up);
}
- Void LateUpdate akan terlambat dieksekusi ketika program dijalankan, contoh yang paling sering digunakan adalah ketika camera mengikuti gerakan pemain. contoh: 
void LateUpdate(){
    Vector3 targetCamPos = target.position + offset;
    transform.position = Vector3.Lerp (transform.position, targetCamPos, smoothing * Time.deltaTime);
}
- Void OnGUI biasa digunakan pada Unity versi 4.5 kebawah, method ini digunakan untuk mengeksekusi perintah atau komponen GUI. contoh:
void OnGUI(){
    GUI.Button(new Rect(10,10,100,20), "Tombol");
}

Dengan skrip yang berasal dari kelas MonoBehaviour bawaan Unity, Kita dapat membuat komponen kustom sendiri untuk mengontrol perilaku GameObjects. Sedangkan dengan skrip yang berasal dari ScriptableObject Kita dapat menyimpan data dalam jumlah besar secara efisien di aplikasi.

Tidak seperti kebanyakan aset lainnya, skrip biasanya dibuat langsung di dalam Unity. Untuk membuat skrip baru yaitu:
- buka Assets > Create > Scripting dan pilih jenis skrip yang ingin Anda buat. Selain itu bisa dengan menggunakan klik tanda plus di toolbar jendela Proyek, lalu buka Scripting dan pilih jenis skrip yang ingin Anda buat.
- Selanjutnya Unity akan membuat skrip baru di folder mana pun yang kita pilih di panel Proyek. Itu juga memilih nama file skrip untuk diedit, dan meminta kita untuk mengubah nama.
- Nama file yang dimasukkan saat pembuatan skrip juga akan digunakan untuk nama kelas yang ditentukan di dalamnya. Oleh karena itu, praktik yang baik jika nama file skrip cocok dengan nama kelas yang ditentukan di dalamnya.

Untuk skrip yang berasal dari tipe Unity bawaan MonoBehaviour dan ScriptableObject, Unity masih dapat menyelesaikan tipe kelas yang ditentukan dalam skrip kita meskipun nama file tidak cocok, namun ada beberapa batasan:
- Jika beberapa kelas ditentukan dalam skrip, Unity memilih kelas dengan nama yang sama dengan file.
- Jika kita menggunakan kata kunci parsial C# untuk mendefinisikan satu kelas turunan MonoBehaviour di beberapa file, hanya file dengan nama yang sama dengan kelas parsial yang dapat digunakan sebagai Komponen.

Catatan: Jika nama kelas tidak dapat dicocokkan secara jelas dengan file tertentu, Unity akan menampilkan peringatan.