Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Introducción a los vectores en diseño de videojuegos - Prof. Martínez, Esquemas y mapas conceptuales de Informática

Una introducción a los vectores en el contexto del diseño de videojuegos. Se explica cómo los vectores son fundamentales para representar movimientos, direcciones y posiciones en los videojuegos 2d y 3d. Se abordan conceptos como la suma de vectores, el opuesto de un vector, la resta de vectores, el producto escalar y los vectores unitarios. Se incluyen ejemplos y ejercicios para ilustrar los conceptos.

Tipo: Esquemas y mapas conceptuales

2011/2012

Subido el 05/04/2024

alejandro-rios-40
alejandro-rios-40 🇦🇷

1 documento

1 / 10

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
TECNICATURA UNIVERSITARIA EN DISEÑO
INTEGRAL DE VIDEOJUEGOS
Planeamiento de Mecánicas y Dinámicas de
juego
Introducción a los vectores
Página 1
Introducción
Los vectores tienen una importancia fundamental para el desarrollo de videojuegos. Es
importante que el lenguaje de programación o el motor de juegos 2D o 3D brinden soporte para
la gestión de vectores para optimizar el tiempo de desarrollo. Sin embargo, existen situaciones
donde puede resultar que deba utilizar lenguajes de programación para representar de manera
manual diferentes fenómenos dentro del juego que requieren la manipulación de vectores. Esto
significa que debe tener los conocimientos básicos de operaciones con vectores que permitan
desarrollar videojuegos sin atarse a las bibliotecas del lenguaje de programación o del motor de
juegos.
A esta altura seguramente ya está
acostumbrado a representar puntos en el
plano o en el espacio, como las ubicaciones
de los objetos en un juego o los vértices de
una malla triangular que conforman un
objeto 3D. Lo anterior es una aplicación de
uno de los componentes de un vector.
Los vectores también se utilizan para
representar direcciones espaciales, como
la orientación de la cámara o las superficies
normales de una malla triangular.
Comprender cómo manipular vectores es una habilidad esencial para un diseñador exitoso de
videojuegos 2D y 3D.
En estos apuntes, se hará referencia a vectores de varios tipos, generalmente representando
cantidades bidimensionales, tridimensionales o tetradimensionales.
El concepto
Suponga que está desarrollando un clon
de un videojuego conocido, por ejemplo,
Super Mario Bros. Un aspecto importante
en este juego de plataformas es lograr
que Mario se mueva. En términos
matemáticos, podemos representar a
Mario en el centro o origen de
coordenadas de un sistema de
coordenadas, tal como se puede observar
en la siguiente figura:
Si quisieramos que el movimiento de Mario cambie su posición desde el origen hacia el punto
(1,3), tal como hemos compartido en apuntes anteriores podemos representar esta dirección
de la forma que se expresa en la Figura 1 (moviendo una unidad sobre el eje x y 3 unidades sobre
el eje y). Pero además, es totalmente válido representar el anterior movimiento con Mario
ubicado en una posición original diferente al origen de coordenadas, tal como lo expresa la
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Introducción a los vectores en diseño de videojuegos - Prof. Martínez y más Esquemas y mapas conceptuales en PDF de Informática solo en Docsity!

INTEGRAL DE VIDEOJUEGOS

Planeamiento de Mecánicas y Dinámicas de juego Introducción a los vectores Introducción Los vectores tienen una importancia fundamental para el desarrollo de videojuegos. Es importante que el lenguaje de programación o el motor de juegos 2D o 3D brinden soporte para la gestión de vectores para optimizar el tiempo de desarrollo. Sin embargo, existen situaciones donde puede resultar que deba utilizar lenguajes de programación para representar de manera manual diferentes fenómenos dentro del juego que requieren la manipulación de vectores. Esto significa que debe tener los conocimientos básicos de operaciones con vectores que permitan desarrollar videojuegos sin atarse a las bibliotecas del lenguaje de programación o del motor de juegos. A esta altura seguramente ya está acostumbrado a representar puntos en el plano o en el espacio, como las ubicaciones de los objetos en un juego o los vértices de una malla triangular que conforman un objeto 3D. Lo anterior es una aplicación de uno de los componentes de un vector. Los vectores también se utilizan para representar direcciones espaciales, como la orientación de la cámara o las superficies normales de una malla triangular. Comprender cómo manipular vectores es una habilidad esencial para un diseñador exitoso de videojuegos 2D y 3D. En estos apuntes, se hará referencia a vectores de varios tipos, generalmente representando cantidades bidimensionales, tridimensionales o tetradimensionales. El concepto Suponga que está desarrollando un clon de un videojuego conocido, por ejemplo, Super Mario Bros. Un aspecto importante en este juego de plataformas es lograr que Mario se mueva. En términos matemáticos, podemos representar a Mario en el centro o origen de coordenadas de un sistema de coordenadas, tal como se puede observar en la siguiente figura: Si quisieramos que el movimiento de Mario cambie su posición desde el origen hacia el punto (1,3), tal como hemos compartido en apuntes anteriores podemos representar esta dirección de la forma que se expresa en la Figura 1 (moviendo una unidad sobre el eje x y 3 unidades sobre el eje y). Pero además, es totalmente válido representar el anterior movimiento con Mario ubicado en una posición original diferente al origen de coordenadas, tal como lo expresa la

INTEGRAL DE VIDEOJUEGOS

Planeamiento de Mecánicas y Dinámicas de juego Introducción a los vectores Figura 2, con lo cual podemos llegar a una primera conclusión es que lo que nos va a importar es la diferencia entre el origen y el final de su trayectoria. Figura 1. Movimiento de Mario a partir del origen de coordenadas y representación de su posición final Figura 2. Movimiento de Mario basado en su posición inicial y su posición final. Entonces, podemos decir que todo movimiento tiene un origen 𝑂 y un final 𝐹. Para describir la trayectoria que nos lleva desde ese punto 𝑂 hasta el punto 𝐹, se debe calcular la variación de movimiento tanto en el 𝑒𝑗𝑒 𝑥como en el 𝑒𝑗𝑒 𝑦, y llamaremos ∆𝑥 y ∆𝑦 respectivamente a cada una de estas variaciones. Esto se puede observar en la figura 3. Figura 3. Representación gráfica del movimiento desde un punto a otro. Y resulta que este movimiento se puede expresar de la siguiente manera 𝑂𝐹⃗⃗⃗⃗⃗ = (∆𝑥, ∆𝑦) Donde 𝑂𝐹⃗⃗⃗⃗⃗ se denomina vector, que representa el movimiento desde 𝑂 hasta 𝐹.

INTEGRAL DE VIDEOJUEGOS

Planeamiento de Mecánicas y Dinámicas de juego Introducción a los vectores El módulo representa la cantidad de la magnitud 𝑂𝐹. Formalmente hablando representa la longitud del vector y se expresa de la siguiente manera ‖𝑂𝐹⃗⃗⃗⃗⃗ ‖. Para su cálculo podemos basarnos en el Teorema de Pitágoras, entonces si consideramos la siguiente representación: Entonces por Pitágoras resulta que ‖𝑂𝐹⃗⃗⃗⃗⃗ ‖ = √(∆𝑥)^2 + (∆𝑦)^2 = √(𝑥 2 − 𝑥 1 )^2 + (𝑦 2 − 𝑦 1 )^2 La dirección hace referencia a la pendiente de la recta en la que está contenido el vector. Gráficamente se puede expresar de la siguiente manera Como puede deducir todos los vectores en una misma dirección se ubicarían sobre la misma recta, pero podrían tener módulos diferentes y sentidos diferentes, que es lo que compartiremos a continuación. El sentido de un vector está representado por una fecha en alguno de los extremos del vector. Así, pueden existir vectores que poseen el mismo módulo y dirección pero que claramente pueden diferenciarse por su sentido, por ejemplo

INTEGRAL DE VIDEOJUEGOS

Planeamiento de Mecánicas y Dinámicas de juego Introducción a los vectores Operaciones entre vectores

  • Suma de vectores Suponga que tenemos la combinación de dos movimientos para Mario (después de todo antes se usaba la cruz direccional de joypad, en la cual el movimiento resultante es la combinación de diferentes posiciones en x e y con diferente tiempo de presión sobre esta cruz direccional). ¿Cómo se calcula este movimiento final? Si 𝑣 y 𝑤⃗⃗ son los vectores que representan los movimientos individuales; la suma de ambos resultará en el hecho de recorrer el primer vector (𝑣 ) y luego desde el final de este vector recorrer el segundo vector (𝑤⃗⃗ ) Esto se puede representar gráficamente de la siguiente manera: En términos algebraicos significa sumar los componentes 𝑥 de cada vector y los componentes 𝑦 de cada vector. Suponga que se les asigna los siguientes valores a los vectores involucrados, entonces el cálculo de la suma de vectores será la siguiente Lo cual gráficamente representa el vector que tiene origen en el centro de coordenadas y final en el extremo de la suma

INTEGRAL DE VIDEOJUEGOS

Planeamiento de Mecánicas y Dinámicas de juego Introducción a los vectores

  • El Producto Escalar El producto escalar de vectores no tiene implicancia directa respecto del movimiento de un personaje (que es el centro de aplicación de vectores en videojuegos que estamos discutiendo), sin embargo, vamos a definirlo de todas formas, de dos maneras diferentes: Este producto devuelve un número y es igual a la suma de los productos de los componentes; o al producto de los módulos de los compontes por el ángulo que conforman ambos vectores. Ejemplo de aplicaciones de vectores : Las velocidades con las que se mueven los game objects Observe la siguiente imagen: En este caso se puede observar que el vector no está representando la posición del game object, sino que nos da la idea de cuál sería su próxima posición si se mueve una unidad de tiempo. Es decir, indica hacia donde se dirige y que tan rápido lo hace. Ejemplo de aplicaciones de vectores : movimiento y cambio de posición de personajes influenciados por diversas fuerzas Suponga que primero desea programar el movimiento horizontal de Mario. Ud podría utilizar un vector cuyo valor en x se actualiza como la suma de su posición anterior más el componente en x de la velocidad aplicada. Suponga ahora que Mario encuentra un obstáculo que se supera con un salto, ¿cómo se genera este movimiento? Una forma sería generar un vector con valores en su componente en y, entonces el salto en realidad sería la suma de ambos vectores

INTEGRAL DE VIDEOJUEGOS

Planeamiento de Mecánicas y Dinámicas de juego Introducción a los vectores Pero si solo consideramos lo anterior, el salto seguiría una dirección de manera infinita. Necesitamos que se aplique la fuerza de la gravedad con el objetivo de que el salto pierda fuerza. La fuerza de la gravedad, que puede considerarse constante, puede representarse en todo momento como un vector dirigido en y hacia abajo, lo cual resta al vector que representa el salto vertical, lo cual en definitiva afecta al resultado de la suma del movimiento horizontal con el movimiento vertical. A tal punto que en algún momento la fuerza vertical se vuelve negativa Actividad obligatoria Realice en Unity una aplicación que permita mediante suma de vectores crear objetos de tipo FireLaser, que permitan que el disparo salga disparado desde la punta de la nave. Es decir, arreglar lo siguiente:

INTEGRAL DE VIDEOJUEGOS

Planeamiento de Mecánicas y Dinámicas de juego Introducción a los vectores Los vectores unitarios son útiles por ejemplo para generar mantener la velocidad que fue calculada a partir de las posiciones destino y origen, puedan normalizarse a una única velocidad evitando que si el objetivo estuviera más cerca la velocidad sea más lenta que de aquellos cuyo objetivo están más distantes Actividad Obligatoria 3 : Normalice la velocidad con la cual el cañón ataca a la nave.