Mover con Transform cambia directamente la posición del objeto.
[SerializeField]
private float velocidad = 5f;
void Update()
{
transform.position += Vector3.forward * velocidad * Time.deltaTime;
}
transform.Translate(Vector3.forward * velocidad * Time.deltaTime);
Por defecto, Translate usa el espacio local del objeto.
Vector2 input = moveAction.action.ReadValue<Vector2>();
Vector3 direccion = new Vector3(
input.x,
0f,
input.y
);
transform.position += direccion * velocidad * Time.deltaTime;
Si se mueve en diagonal, la magnitud puede superar 1.
if (direccion.sqrMagnitude > 1f)
{
direccion.Normalize();
}
Es útil para: