Otros capítulos sobre: Curso Física Cinemática Para Godot 4

¿Por qué se normalizan los vectores en los videojuegos?

En este video aprenderemos la razón por la que se normalizan los vectores en los videojuegos, además de como normalizar un vector con GDScript y Godot Engine

Por qué se normalizan los vectores en los videojuegos
Por qué se normalizan los vectores en los videojuegos

Para mover a nuestro personaje en alguna dirección, usamos vectores y para mostrar la dirección del movimiento de un personaje, podemos usar un plano cartesiano como el siguiente.

Plano cartesiano y vectores
Plano cartesiano y vectores

Por ejemplo, en la imagen anterior tenemos varios vectores de 2 dimensiones, que indican como que se podría mover nuestro personaje.

Vectores en los motores de videojuegos

Como nota adicional, debes saber que en los motores de videojuegos, el eje Y, está invertido.

Esto significa que en lugar de tener el lado positivo arriba, lo tenemos en el lado de abajo. Y el lado negativo, lo tenemos en la parte de arriba

Plano cartesiano y vectores en Videojuegos
Plano cartesiano y vectores en Videojuegos

Aquí tienes un ejemplo, donde a los vectores de color rojo, solo les cambia el símbolo negativo en el eje Y.

Error de tamaño con Vectores en diagonal

Hasta aquí todo parece muy simple, pero si quisiéramos movernos una unidad en diagonal, veríamos lo siguiente

Vectores en Diagonal
Vectores en Diagonal

Como puedes notar, las direcciones en diagonal que deberían medir una unidad parecen más grandes. Y para demostrarlo, podemos usar un círculo como el siguiente:

Error de Tamaño en Los Vectores en Diagonal
Error de Tamaño en Los Vectores en Diagonal

Y como puedes ver, las líneas en diagonal, si son más grandes que las otras
Esto puede ocasionar que nuestro jugador o nuestro enemigo, se mueva más rápido en diagonal.

Esto puede generar frustración, en casos donde el enemigo persiga al jugador, y lo atrape fácilmente, porque el enemigo es más rápido. Ya que por cada vector con movimiento en horizontal o vertical, el tamaño aproximado del vector en diagonal es de 1.41

Así que se podría decir, que en diagonal un objeto se mueve un 41% más rápido

Para evitar este tipo de problemas, podemos normalizar el vector, para hacerlo podemos usar fórmulas muy complejas, pero Godot incluye una forma para hacerlo de una manera muy fácil, como se muestra en el video.

Comentarios sobre ¿Por qué se normalizan los vectores en los videojuegos?