Mål :
Målet med dette indlæg er at forstå forskellen mellem Update og FixedUpdate unity-funktionen og deres anvendelse.
Update :
- Update kaldes én gang pr. frame, så hvis spillet kører med 24 fps, vil dette blive kaldt 24 gange på et sekund.
- Som vi ved spil aldrig køre med konstant frame rate på grund af flere grund, så update vil ikke blive kaldt på en regelmæssig tidslinje, betyder at tiden mellem update kald kan være anderledes.
Anvendelser:
- Update bruges til at flytte ikke-fysik objekter.
- Update bruges til at modtage Input.
- Update bruges til simpel timer.
Fixed Update:
- Som navnet antyder, vil dette blive kaldt efter en fast tidsperiode, så tidsvarigheden mellem to på hinanden følgende kald er altid den samme i modsætning til Update, hvor den kan variere.
Anvendelser :
- Dette bruges almindeligvis til at udføre fysikrelaterede opgaver, som f.eks. at anvende kraft på rigidbody.
Nu skal vi se dette i et eksempel
Opret et nyt C#-script og indsæt denne kode, vedhæft det til dit hovedkamera og se logfilerne i konsolvinduet
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); }}
Det vil se sådan ud