Cel :
Celem tego postu jest zrozumienie różnicy między Update i FixedUpdate funkcja jedności, i ich zastosowania.
Update :
- Update jest wywoływany raz na klatkę, więc jeśli gra działa z prędkością 24 fps, to będzie wywoływany 24 razy w ciągu sekundy.
- Jak wiemy gra nigdy nie działa przy stałej ilości klatek z kilku powodów, więc update nie będzie wywoływany na regularnej osi czasu, co oznacza, że czas pomiędzy wywołaniami update może być różny.
Użycia:
- Update jest używany do poruszania obiektów nie będących fizyką.
- Update jest używany do odbierania danych wejściowych.
- Update jest używany do prostego timera.
Fixed Update:
- Jak sama nazwa wskazuje, będzie on wywoływany po ustalonym czasie, więc czas trwania pomiędzy dwoma kolejnymi wywołaniami jest zawsze taki sam w przeciwieństwie do Update, gdzie może się on różnić.
Zastosowania :
- To jest powszechnie używane do wykonywania zadań związanych z fizyką, takich jak nakładanie siły na ciało sztywne.
Teraz zobaczmy to na przykładzie
Utwórz nowy skrypt C# i wklej ten kod, dołącz go do swojej głównej kamery i zobacz logi w oknie konsoli
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); }}
będzie to wyglądało tak
.