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.
dimforge/rapier
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.
- Estrellas
- 6,036
- Forks
- 432
- Issues abiertos
- 93
- Último commit
- hace 6 días
¿Qué es?
Rapier es un conjunto de motores de física 2D y 3D escritos en Rust por la organización Dimforge. Se publica como los crates rapier2d y rapier3d, además de sus variantes f64, y está orientado a juegos, animación y robótica.
El motor permite ejecutar la física en varios hilos mediante la feature parallel, y habilita de forma predeterminada el cálculo de restricciones por lotes con SIMD y el procesamiento de contactos. Los bindings para C incluyen soporte para cuerpos blandos y exponen API 2D y 3D en f32 y f64.
Los bindings amplían el motor más allá de Rust: una ABI de C con helpers para C++, un paquete de Python que envuelve el motor 3D con floats de 32 bits, paquetes de TypeScript/JavaScript y un plugin para Bevy. El repositorio mantiene ejemplos y fragmentos de la guía de usuario para cada lenguaje.
Funciones clave
- 01Ofrece motores 2D y 3D por separado, cada uno con variantes f32 y f64.
- 02Permite ejecutar la física en varios hilos de forma opcional mediante la feature parallel.
- 03Usa de forma predeterminada el cálculo de restricciones por lotes con SIMD y el procesamiento de contactos.
- 04Incluye bindings para C, Python, JavaScript/TypeScript y Bevy.
- 05Incluye ejemplos y código de la guía de usuario que se compilan y prueban.
Casos de uso
- Añadir física de cuerpos rígidos a un juego 2D o 3D escrito en Rust.
- Simular la dinámica de robots o mecanismos en proyectos de robótica.
- Usar física en un juego de Bevy mediante el plugin oficial.
- Llamar a un motor de física nativo desde código C, C++ o Python.
Inicio rápido
- 1
Lee las guías de usuario en rapier.rs/docs
- 2
Ejecuta los ejemplos 2D
cargo run --release --bin all_examples2 - 3
Ejecuta los ejemplos 3D
cargo run --release --bin all_examples3
Antes de usarlo
- Se necesita una cadena de herramientas de Rust para compilar y usar el motor.
- Los enlaces de Python solo cubren el motor 3D con números de coma flotante de 32 bits.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es rapier?
- 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. Rapier es un conjunto de motores de física 2D y 3D escritos en Rust por la organización Dimforge. Se publica como los crates rapier2d y rapier3d, además de sus variantes f64, y está orientado a juegos, animación y robótica.
- ¿rapier es gratuito? ¿Qué licencia tiene?
- rapier es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿rapier sigue mantenido?
- Mantenimiento activo. El último commit de rapier fue el 1 nov 2026.
- ¿Para qué puedo usar rapier?
- Añadir física de cuerpos rígidos a un juego 2D o 3D escrito en Rust. Simular la dinámica de robots o mecanismos en proyectos de robótica. Usar física en un juego de Bevy mediante el plugin oficial. Llamar a un motor de física nativo desde código C, C++ o Python.
- ¿Cómo se instala rapier?
- Lee las guías de usuario en rapier.rs/docs Ejecuta los ejemplos 2D: cargo run --release --bin all_examples2 Ejecuta los ejemplos 3D: cargo run --release --bin all_examples3
- ¿Dónde consigo rapier?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dimforge/rapier
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
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.
Motor de física 2D y 3D basado en ECS, creado específicamente para el motor de videojuegos Bevy en Rust.
Biblioteca de física en C++17 con bindings de Python para simular la cinemática, la dinámica y los contactos de robots articulados y personajes animados.
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.
Simulador de robótica de código abierto con física, renderizado 3D, modelos de sensores e interfaz gráfica: la versión más reciente de Gazebo.