Skip to content

Física de juego con Box2D

En nuestro nuevo curso express Programación de Juegos en Android (con libGDX),  desarrollamos algunos proyectos ejemplos, para explicar de forma práctica las herramientas que nos facilitan la creación de videojuegos.

En esta entrada, os queríamos mostrar el resultado de uno de estos proyectos. En él, además de utilizar el framework libGDX, empleamos la librería Box2D, que implementa un motor open source desarrollado en C++ , para simular la física de un cuerpo rígido en un escenario de dos dimensiones. ¿Qué significa ésto?. Es muy sencillo, tras visualizarlo en el video, podéis leer a continuación un extracto del contenido del curso donde os lo explicamos.

Video del proyecto con Box2D

En este extracto del video, vemos el resultado del proyecto ejemplo, cuyo desarrollo explicamos de forma detallada en el curso a través de texto, video y código disponible para su descarga.

 Física de juegos

Una parte fundamental de muchos videojuegos es la utilización de una física concreta, que podemos definir de manera simple como las leyes que rigen el movimiento de los actores del mismo. Más adelante, en los ejemplos prácticos de este curso, veremos ejemplos de las físicas más utilizadas, y cómo funcionan de manera interna.

Vamos a definir en un mayor detalle de que hablamos cuando nos referimos a físicas de un videojuego o animación física por computadora.De manera resumida, se podría describir como la introducción de las leyes de física en un simulador o motor de juego, cuya tarea principal será la de, a partir de objetos 2D y 3D modelados por una computadora, poder simular la acción de efectos físicos con las mismas características que en la vida real, como pueden ser la acción de la gravedad, masa, fricción, restitución etc.

Si bien es realizada a partir de un tipo de programación que permite la obtención de resultados muy próximos a los reales, se tratará siempre de una simulación.Conviene recalcar que estas leyes físicas que se imponen a los actores del videojuego no tienen porqué ser las reales, pero sí que tienen que tener una coherencia y lógica que el usuario pueda entender y controlar.

A continuación, se expondrán los elementos más utilizados en los videojuegos para la simulación de físicas reales:

  • Gravedad: Consiste en la aceleración que sufre un cuerpo físico cercano a un cuerpo astronómico (*). Esta aceleración en la Tierra equivale a 9.81 m/s2 aproximadamente. En los videojuegos, este efecto es muy recurrente en juegos de plataformas, en el que uno de los principales objetivos será saltar obstáculos y avanzar a través de diferentes zonas.

    Nota (*): la atracción gravitatoria se produce siempre entre dos cuerpos con masa, aunque su intensidad es despreciable, salvo que la masa de al menos uno de ellos sea muy considerable.

    Gravedad

  • Fricción: Es definida como fuerza de rozamiento o fuerza de fricción entre dos superficies en contacto. En Box2D esta fuerza se aplica a los cuerpos con valores desde 0 cuando no existe la fricción hasta 1 cuando la fricción es muy alta. Muy útil para efectos de viento direccional o cuando el personaje entra en el agua.Fricción
  • Restitución: Es la capacidad de rebote de un cuerpo, es decir, cuánto va a rebotar un objeto después de una colisión.Restitución
  • Densidad: Magnitud referida a la cantidad de masa en un determinado volumen de una sustancia. Si aumentamos la densidad de un cuerpo modelado, aumentará el peso del cuerpo, y por lo tanto afectar al resto de magnitudes.
  • Colisiones: Método que detecta si dos objetos o sprites han colisionado entre sí. Cualquier videojuego de coches (por norma general cualquier videojuego en el que interaccionen diferentes objetos) deberá implementar dicho método.

Esta entrada tiene 3 comentarios

Los comentarios están cerrados.

Volver arriba
Esta web usa cookies para su correcto funcionamiento. No hay cookies de publicidad, aunque algunos de los contenidos mostrados (videos o documentos insertados) están alojados en servicios externos (Youtube, Vimeo, Box...) que sí pueden implementar sus propias cookies. También se ha incluido en pruebas un Agente AI que incluye sus propias cookies   
Privacidad