Motor de videojuegos basado en datos, escrito en Rust y construido sobre un Entity Component System para juegos 2D y 3D.
avianphysics/avian
Motor de física 2D y 3D basado en ECS, creado específicamente para el motor de videojuegos Bevy en Rust.
- Estrellas
- 3,280
- Forks
- 302
- Issues abiertos
- 212
- Último commit
- anteayer
¿Qué es?
Avian es un motor de física para Bevy, escrito en Rust y disponible en crates independientes para 2D (avian2d) y 3D (avian3d). Está diseñado para integrarse directamente con el Entity Component System de Bevy, de modo que los objetos físicos son entidades y componentes normales, en lugar de pertenecer a un mundo de física separado que haya que mantener sincronizado.
El motor admite cuerpos rígidos dinámicos, cinemáticos y estáticos, con velocidades, fuerzas, amortiguación, bloqueo de ejes, reposo y detección continua de colisiones. La detección de colisiones utiliza la biblioteca Parry. El proyecto también incluye eventos, capas y hooks de colisión, articulaciones (fijas, de distancia, prismáticas, de revolución y esféricas), y consultas espaciales como raycasts y shapecasts. También incorpora interpolación de transforms para pasos de tiempo fijos y renderizado de depuración.
Avian admite precisión f32 y f64, con f32 como valor predeterminado. La documentación y varios ejemplos en 2D y 3D están disponibles en docs.rs y en el repositorio.
Funciones clave
- 01Cuerpos rígidos dinámicos, cinemáticos y estáticos con velocidad, amortiguación y bloqueo de ejes
- 02Detección de colisiones basada en Parry, con capas, eventos y hooks de colisión
- 03Articulaciones integradas: fijas, de distancia, prismáticas, de revolución y esféricas
- 04Raycasts, shapecasts y otras consultas espaciales mediante componentes o un parámetro SpatialQuery
- 05Interpolación y extrapolación de transforms para pasos de tiempo fijos
- 06Compatibilidad con precisión f32 y f64
Casos de uso
- Añadir física de cuerpos rígidos y colisiones a un juego 2D o 3D creado con Bevy
- Crear articulaciones y restricciones, como bisagras o deslizadores, en una simulación con Bevy
- Ejecutar raycasts o shapecasts para mecánicas de juego, como comprobar la línea de visión o la trayectoria de proyectiles
Inicio rápido
- 1
Añade avian3d a las dependencias de Cargo.toml (usa avian2d para 2D).
avian3d = "0.8" - 2
Añade PhysicsPlugins a tu aplicación Bevy y crea entidades físicas con RigidBody y Collider.
Antes de usarlo
- Depende del motor de videojuegos Bevy, por lo que no resulta útil fuera de Bevy.
- Es una versión anterior a la 1.0 (0.8), así que las API pueden cambiar entre versiones.
- Cada versión de Bevy requiere una versión compatible de Avian, por lo que puede ser necesario actualizar ambos al actualizar Bevy.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es avian?
- Motor de física 2D y 3D basado en ECS, creado específicamente para el motor de videojuegos Bevy en Rust. Avian es un motor de física para Bevy, escrito en Rust y disponible en crates independientes para 2D (avian2d) y 3D (avian3d). Está diseñado para integrarse directamente con el Entity Component System de Bevy, de modo que los objetos físicos son entidades y componentes normales, en lugar de pertenecer a un mundo de física separado que haya que mantener sincronizado.
- ¿avian es gratuito? ¿Qué licencia tiene?
- avian es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿avian sigue mantenido?
- Mantenimiento activo. El último commit de avian fue el 4 nov 2026.
- ¿Para qué puedo usar avian?
- Añadir física de cuerpos rígidos y colisiones a un juego 2D o 3D creado con Bevy Crear articulaciones y restricciones, como bisagras o deslizadores, en una simulación con Bevy Ejecutar raycasts o shapecasts para mecánicas de juego, como comprobar la línea de visión o la trayectoria de proyectiles
- ¿Cómo se instala avian?
- Añade avian3d a las dependencias de Cargo.toml (usa avian2d para 2D).: avian3d = "0.8" Añade PhysicsPlugins a tu aplicación Bevy y crea entidades físicas con RigidBody y Collider.
- ¿Dónde consigo avian?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/avianphysics/avian
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
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.
Godot es un motor de videojuegos multiplataforma, gratuito y con licencia MIT, para crear juegos 2D y 3D desde un único editor.
Motor de videojuegos ligero y basado en scripts para crear juegos 2D, 3D en tercera persona y mixtos, diseñado para controlarse con scripts y herramientas de IA.
Motor de física de cuerpos rígidos en 2D para la web, escrito en JavaScript y compatible con navegadores y Node.js.
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.