Objectivo :
O objectivo deste post é compreender a diferença entre a função de unidade Update e FixedUpdate, e os seus usos.
Update :
- Update é chamado uma vez por frame, por isso se o jogo está a correr a 24 fps, então este será chamado 24 vezes num segundo.
- Como sabemos que o jogo nunca roda a uma taxa de frame constante por várias razões, então update não será chamado em uma linha de tempo regular, significa que o tempo entre as chamadas de update pode ser diferente.
Uses:
- Update é usado para mover objetos não físicos.
- Update é usado para receber Input.
- Update é usado para timer simples.
Fixed Update:
- Como o nome sugere isto será chamado após a duração de tempo fixo, assim a duração de tempo entre duas chamadas consecutivas é sempre a mesma, ao contrário de Update onde isto pode variar.
Usos :
- Comumente usado para executar tarefas relacionadas à física, como aplicar força no corpo rígido.
Agora vamos ver isto no exemplo
Criar um novo script C# e colar este código, anexá-lo à sua câmera principal e ver os logs na janela do console
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); }}
Ficará assim