Repolode
avianphysics

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. 1

    Añade avian3d a las dependencias de Cargo.toml (usa avian2d para 2D).

    avian3d = "0.8"
  2. 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