El velocímetro de un automóvil normalmente funciona mediante la medición de la velocidad de rotación de las ruedas. El coche puede no estar moviéndose directamente hacia adelante(se puede estar derrapando de lado, por ejemplo) en cuyo caso, parte del movimiento no va a estar en la dirección que puede leer el velocímetro . La magnitud del vector del rigidbody.velocity de un objeto va a dar la velocidad en la dirección del movimiento global pero para aislar la velocidad en la dirección del frente, se debe usar el producto punto:-
var fwdSpeed = Vector3.Dot(rigidbody.velocity, transform.forward);
Naturalmente, la dirección puede ser lo que uno quiera, pero la dirección del vector siempre debe estar normalizada para este cálculo. No sólo el resultado es más correcto que la magnitud de la velocidad, sino que también evita la lenta operación de obtener la raíz cuadrada para encontrar la magnitud.