Repolode
avianphysics

avianphysics/avian

Uma engine de física 2D e 3D baseada em ECS, desenvolvida especificamente para a Bevy, a engine de jogos escrita em Rust.

Estrelas
3,280
Forks
302
Issues abertas
212
Último commit
anteontem

O que é?

Avian é uma engine de física para a Bevy, escrita em Rust e disponibilizada em crates separadas para 2D (avian2d) e 3D (avian3d). Ela foi projetada para se integrar diretamente ao Entity Component System da Bevy, de modo que os objetos físicos sejam entidades e componentes comuns, em vez de pertencerem a um mundo de física separado que precisa ser mantido em sincronia.

A engine oferece corpos rígidos dinâmicos, cinemáticos e estáticos, com velocidades, forças, amortecimento, bloqueio de eixos, repouso e detecção contínua de colisões. A detecção de colisões usa a biblioteca Parry, e o projeto oferece eventos de colisão, camadas, hooks de colisão, juntas (fixas, de distância, prismáticas, revolutas e esféricas) e consultas espaciais, como raycasts e shapecasts. Também inclui interpolação de transformações para passos de tempo fixos e renderização de depuração.

Avian aceita precisão f32 e f64, com f32 como padrão. A documentação e diversos exemplos 2D e 3D estão disponíveis no docs.rs e no repositório.

Recursos principais

  • 01Corpos rígidos dinâmicos, cinemáticos e estáticos, com velocidade, amortecimento e bloqueio de eixos
  • 02Detecção de colisões com Parry, incluindo camadas, eventos e hooks de colisão
  • 03Juntas integradas: fixa, de distância, prismática, revoluta e esférica
  • 04Raycasts, shapecasts e outras consultas espaciais por meio de componentes ou de um parâmetro SpatialQuery
  • 05Interpolação e extrapolação de transformações para passos de tempo fixos
  • 06Suporte à precisão f32 e f64

Casos de uso

  • Adicionar física de corpos rígidos e colisões a um jogo 2D ou 3D feito com a Bevy
  • Criar juntas e restrições, como dobradiças ou deslizadores, em uma simulação com a Bevy
  • Executar raycasts ou shapecasts para mecânicas de jogo, como verificação de linha de visão ou de projéteis

Início rápido

  1. 1

    Adicione avian3d às dependências do Cargo.toml (use avian2d para 2D).

    avian3d = "0.8"
  2. 2

    Adicione PhysicsPlugins ao seu app Bevy e crie entidades físicas com RigidBody e Collider.

Antes de usar

  • É vinculado à engine de jogos Bevy, então não é útil fora do Bevy.
  • É uma versão anterior à 1.0 (0.8), portanto as APIs podem mudar entre lançamentos.
  • Cada versão do Bevy exige uma versão correspondente do Avian, então uma atualização do Bevy pode exigir atualizações coordenadas.

Em coleções

Tópicos

Perguntas frequentes

O que é avian?
Uma engine de física 2D e 3D baseada em ECS, desenvolvida especificamente para a Bevy, a engine de jogos escrita em Rust. Avian é uma engine de física para a Bevy, escrita em Rust e disponibilizada em crates separadas para 2D (avian2d) e 3D (avian3d). Ela foi projetada para se integrar diretamente ao Entity Component System da Bevy, de modo que os objetos físicos sejam entidades e componentes comuns, em vez de pertencerem a um mundo de física separado que precisa ser mantido em sincronia.
avian é gratuito? Qual é a licença?
avian é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
avian ainda é mantido?
Manutenção ativa. O último commit de avian foi em 4 de nov. de 2026.
Para que posso usar avian?
Adicionar física de corpos rígidos e colisões a um jogo 2D ou 3D feito com a Bevy Criar juntas e restrições, como dobradiças ou deslizadores, em uma simulação com a Bevy Executar raycasts ou shapecasts para mecânicas de jogo, como verificação de linha de visão ou de projéteis
Como instalar avian?
Adicione avian3d às dependências do Cargo.toml (use avian2d para 2D).: avian3d = "0.8" Adicione PhysicsPlugins ao seu app Bevy e crie entidades físicas com RigidBody e Collider.
Onde consigo avian?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/avianphysics/avian

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados