Cíl :
Cílem tohoto příspěvku je pochopit rozdíl mezi Update a FixedUpdate funkcí unity a jejich použití.
Update :
- Update se volá jednou za snímek, takže pokud hra běží rychlostí 24 fps, pak se zavolá 24krát za sekundu.
- Jak víme, hra nikdy neběží při konstantní snímkové frekvenci z několika důvodů, takže update nebude volán na pravidelné časové ose, což znamená, že doba mezi voláním update může být různá.
Použití:
- Update se používá pro pohyb objektů, které nejsou fyzikální.
- Update se používá pro příjem Inputu.
- Update se používá pro jednoduchý časovač.
Fixed Update:
- Jak název napovídá, bude volán po pevně stanovené době, takže doba mezi dvěma po sobě jdoucími voláními je vždy stejná na rozdíl od Update, kde se může lišit.
Využití :
- Tato funkce se běžně používá k provádění úloh souvisejících s fyzikou, například k aplikaci síly na tuhé těleso.
Nyní si to ukážeme na příkladu
Vytvořte nový skript C# a vložte tento kód, připojte jej k hlavní kameře a podívejte se na záznamy v okně konzoly
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); }}
bude to vypadat takto
.