Obiectiv :
Obiectivul acestei postări este de a înțelege diferența dintre funcția de unitate Update și FixedUpdate, precum și utilizările acestora.
Update :
- Update este apelat o dată pe cadru, astfel încât, dacă jocul rulează la 24 fps, atunci acesta va fi apelat de 24 de ori într-o secundă.
- După cum știm că jocul nu rulează niciodată la o rată constantă a cadrelor din mai multe motive, deci actualizarea nu va fi apelată în mod regulat, ceea ce înseamnă că timpul dintre apelurile de actualizare poate fi diferit.
Utilizări:
- Update este folosit pentru mișcarea obiectelor fără fizică.
- Update este utilizat pentru a primi intrări.
- Update este utilizat pentru un cronometru simplu.
Actualizare fixă:
- Așa cum sugerează și numele, aceasta va fi apelată după o durată de timp fixă, astfel încât durata de timp între două apeluri consecutive este întotdeauna aceeași, spre deosebire de Update, unde aceasta poate varia.
Utilizări :
- Este utilizat în mod obișnuit pentru a efectua sarcini legate de fizică, cum ar fi aplicarea unei forțe asupra unui corp rigid.
Acum să vedem acest lucru în exemplu
Creează un nou script C# și lipește acest cod, atașează-l la camera ta principală și vezi jurnalele în fereastra de consolă
public class Update_FixedUpdate_Log : MonoBehaviour { void Update () { Debug.Log("Update is called after time : "+Time.deltaTime); } void FixedUpdate() { Debug.Log("Fixed Update is called after time : "+Time.deltaTime); }}
va arăta așa
.