Biblioteca de C++ para simulación de cuerpos rígidos y detección de colisiones, optimizada para varios núcleos y destinada a juegos y aplicaciones de VR.
liabru/matter-js
Motor de física de cuerpos rígidos en 2D para la web, escrito en JavaScript y compatible con navegadores y Node.js.
- Estrellas
- 18,596
- Forks
- 2,001
- Issues abiertos
- 280
- Último commit
- el mes pasado
¿Qué es?
Matter.js es un motor de física de cuerpos rígidos en 2D, escrito en JavaScript para la web. Gestiona colisiones, gravedad, fricción, restitución y restricciones, para que los desarrolladores puedan añadir movimiento físico creíble a juegos basados en canvas, gráficos interactivos y simulaciones sin tener que escribir su propio código de física.
El motor admite cuerpos rígidos, compuestos y cóncavos, incluidas formas creadas a partir de rutas SVG y terrenos. Ofrece consultas de colisión como raycasting y pruebas por región, escalado del tiempo para efectos de cámara lenta, vistas con zoom y traslación, y un renderizador para canvas que puede dibujar vectores y texturas. Los cuerpos pueden ponerse en reposo cuando están quietos, y el estado del mundo se puede serializar con ayuda de resurrect.js.
Matter.js funciona en Chrome, Firefox, Safari e IE8+, además de en Node.js. Se instala mediante npm o Yarn, se puede incluir con una sola etiqueta script y cuenta con un sistema de plugins, una amplia colección de demos y una referencia de la API.
Funciones clave
- 01Cuerpos rígidos, compuestos y cóncavos con detección de colisiones
- 02Gravedad, fricción, restitución y restricciones
- 03Consultas de raycasting y por región para comprobar colisiones
- 04Renderizador para canvas compatible con formas vectoriales y texturas
- 05Escalado del tiempo, vistas con zoom y cuerpos en reposo
- 06Sistema de plugins, compatible con navegadores y Node.js
Casos de uso
- Crear juegos de física 2D para navegador, como puzles de lanzamiento o de apilamiento
- Añadir movimiento físico interactivo a animaciones web basadas en canvas
- Ejecutar simulaciones de física sin interfaz en Node.js
- Crear prototipos de sistemas mecánicos, como puentes, autos o péndulos
Inicio rápido
- 1
Instala el paquete desde npm
npm install matter-js - 2
Consulta la página «Getting started» de la wiki para ver un ejemplo de uso mínimo
Antes de usarlo
- El README indica que la versión alfa de master es experimental.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es matter-js?
- Motor de física de cuerpos rígidos en 2D para la web, escrito en JavaScript y compatible con navegadores y Node.js. Matter.js es un motor de física de cuerpos rígidos en 2D, escrito en JavaScript para la web. Gestiona colisiones, gravedad, fricción, restitución y restricciones, para que los desarrolladores puedan añadir movimiento físico creíble a juegos basados en canvas, gráficos interactivos y simulaciones sin tener que escribir su propio código de física.
- ¿matter-js es gratuito? ¿Qué licencia tiene?
- matter-js es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿matter-js sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de matter-js fue el 30 sept 2026.
- ¿Para qué puedo usar matter-js?
- Crear juegos de física 2D para navegador, como puzles de lanzamiento o de apilamiento Añadir movimiento físico interactivo a animaciones web basadas en canvas Ejecutar simulaciones de física sin interfaz en Node.js Crear prototipos de sistemas mecánicos, como puentes, autos o péndulos
- ¿Cómo se instala matter-js?
- Instala el paquete desde npm: npm install matter-js Consulta la página «Getting started» de la wiki para ver un ejemplo de uso mínimo
- ¿Dónde consigo matter-js?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/liabru/matter-js
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Motor de física 2D y 3D basado en ECS, creado específicamente para el motor de videojuegos Bevy en Rust.
Una reimplementación en JavaScript/TypeScript del motor de física 2D Box2D para desarrollar juegos HTML5.
Motor de física de propósito general para simular con rapidez y precisión cuerpos articulados en contacto, muy utilizado en investigación de robótica y aprendizaje automático.
Motores de física 2D y 3D escritos en Rust para juegos, animación y robótica, con bindings para C, Python, JavaScript y Bevy.
Bullet Physics SDK es una biblioteca de C++ para detección de colisiones en tiempo real y simulación multifísica, usada en juegos, VR, robótica y aprendizaje automático.