Syfte :
Syftet med det här inlägget är att förstå skillnaden mellan Update och FixedUpdate unity-funktionen och deras användningsområden.
Update :
- Update anropas en gång per bildruta, så om spelet körs i 24 fps anropas detta 24 gånger på en sekund.
- Som vi vet körs spelet aldrig med konstant bildfrekvens på grund av flera orsaker, så update kommer inte att anropas på en regelbunden tidslinje, vilket innebär att tiden mellan update-anropningarna kan vara olika.
Användningsområden:
- Update används för att flytta icke-fysikaliska objekt.
- Update används för att ta emot Input.
- Update används för en enkel timer.
Fixed Update:
- Som namnet antyder kommer detta att anropas efter en fast tidsperiod, så att tiden mellan två på varandra följande anrop är alltid densamma till skillnad från Update där den kan variera.
Användning :
- Detta används vanligen för att utföra fysikrelaterade uppgifter, som att applicera kraft på rigidbody.
Nu ska vi se detta i ett exempel
Skapa ett nytt C#-skript och klistra in den här koden, koppla den till din huvudkamera och se loggarna i konsolfönstret
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 kommer att se ut så här