La propiedad normalized
de un vector en Unity devuelve una copia del vector con la misma dirección pero con una magnitud (longitud) de 1, es decir, lo convierte en un vector unitario.
normalized
en Unity?
En Unity, los vectores se utilizan constantemente para representar direcciones y posiciones. Cuando se necesita la dirección de un vector sin importar su magnitud, se usa la propiedad .normalized
. Esta propiedad no modifica el vector original, sino que devuelve una versión normalizada del mismo.
Por ejemplo, si tienes un vector de movimiento o dirección, normalizarlo es útil para aplicar fuerzas, direcciones de movimiento o calcular distancias proporcionales sin que la magnitud original influya en el resultado.
Vector3 direccion = new Vector3(3, 0, 4);
Vector3 direccionNormalizada = direccion.normalized;
// direccionNormalizada ahora es (0.6, 0.0, 0.8)
Internamente, normalized
divide cada componente del vector por su magnitud. Si el vector es (0, 0, 0), el resultado será también (0, 0, 0), ya que no puede normalizarse un vector nulo.
transform.position += direccion.normalized * velocidad * Time.deltaTime;
if (Vector3.Dot(dir1.normalized, dir2.normalized) > 0.95f) {
Debug.Log("Ambas direcciones son casi iguales");
}
rigidbody.AddForce(direccion.normalized * fuerza);
Puedes consultar más sobre Vector3.normalized
en la documentación oficial de Unity:
Jorge García
Fullstack developer