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.

Artikel yang Disarankan
Panduan Perilaku Mono dalam Kesatuan
Menggunakan Pengontrol Animator Runtime di Unity
Daftar Persatuan Kata Kunci yang Berguna di C#
Menerapkan Input Keyboard dan Mouse di Unity
Memahami Fungsi dan Panggilan Metode
Pengantar Bahasa Scripting Unity C#
Membuat Pernyataan Bersyarat (if-else) dalam Kode Unity