Pembaruan vs Pembaruan Tetap vs Pembaruan Terlambat
Bagian yang menonjol dari Unity API adalah fungsi pembaruan, yaitu fungsi yang berjalan terus menerus.
Unity memiliki tiga jenis fungsi pembaruan: 'Update', FixedUpdate, dan LateUpdate.
'Update' vs FixedUpdate
Perbedaan antara fungsi 'Update' dan FixedUpdate terletak pada seberapa sering fungsi tersebut dijalankan.
Fungsi 'Update' berjalan satu kali per frame sementara FixedUpdate berjalan dengan kecepatan konstan, dikontrol oleh nilai "Fixed Timestamp" di 'Project Settings' -> 'Time'.
'Update' fungsi cocok untuk pemrograman logika permainan, masukan pemain, dan pada dasarnya semua perhitungan non-fisika.
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
//Space button has been pressed
}
}
Di sisi lain, fungsi FixedUpdate cocok untuk penghitungan berbasis fisika, seperti Raycasting, penerapan gaya pada Benda Kaku, atau penghitungan apa pun yang memerlukan framerate independen.
void FixedUpdate()
{
//Use Physics Raycast to detect if there any object in front
RaycastHit hit;
if(Physics.Raycast(transform.position, transform.forward, out hit, 10))
{
Debug.Log("Object '" + hit.transform.name + "' is currently in front of this object.");
}
}
Pembaruan vs LateUpdate
'Update' dan LateUpdate identik dalam hal frekuensi pengoperasian (keduanya dijalankan satu kali per frame), namun LateUpdate dijalankan setelah semua fungsi 'Update'.
Terakhir, fungsi LateUpdate biasanya digunakan untuk memodifikasi tulang model animasi (misalnya membuat model pemutar terlihat atas dan bawah) atau untuk mengimplementasikan gerakan kamera yang mulus.
void LateUpdate()
{
//Make camera tagged 'MainCamera' look at this object transform
Camera mainCamera = Camera.main;
mainCamera.transform.LookAt(transform);
}
Membawa pergi
Setiap fungsi pembaruan memiliki kasus penggunaannya sendiri.
Gunakan kombinasi keduanya untuk mengimplementasikan berbagai macam skenario.