Objetivo :
El objetivo de este post es entender la diferencia entre la función Unity Update y FixedUpdate, y sus usos.
Update :
- Update se llama una vez por fotograma, por lo que si el juego se ejecuta a 24 fps, entonces esto será llamado 24 veces en un segundo.
- Como sabemos el juego nunca se ejecuta a una velocidad de fotogramas constante debido a varias razones, por lo que la actualización no se llamará en una línea de tiempo regular, significa que el tiempo entre las llamadas de actualización puede ser diferente.
Usos:
- La actualización se utiliza para mover objetos no físicos.
- Update se utiliza para recibir Input.
- Update se utiliza para un simple temporizador.
Fixed Update:
- Como su nombre indica se llamará después de la duración de tiempo fijo, por lo que la duración de tiempo entre dos llamadas consecutivas es siempre la misma a diferencia de Update donde esto puede variar.
Usos :
- Esto se utiliza comúnmente para realizar tareas relacionadas con la física, como la aplicación de la fuerza en rigidbody.
Ahora veamos esto en el ejemplo
Crea un nuevo script en C# y pega este código, adjúntalo a tu cámara principal y mira los registros en la ventana de la consola
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); }}
se verá así