Biblioteca de física em C++17 com bindings para Python, voltada à cinemática, dinâmica e simulação de contato de robôs articulados e personagens animados.
bulletphysics/bullet3
Bullet Physics SDK é uma biblioteca C++ para detecção de colisões em tempo real e simulação multifísica, usada em jogos, VR, robótica e machine learning.
- Estrelas
- 14,841
- Forks
- 3,110
- Issues abertas
- 439
- Último commit
- há 29 dias
O que é?
Bullet Physics SDK é uma biblioteca C++ para detecção de colisões em tempo real e simulação física. Ela abrange a dinâmica de corpos rígidos e a simulação de corpos deformáveis, e é usada em jogos, VR, efeitos visuais, robótica e machine learning.
O repositório inclui o PyBullet, um módulo Python baseado no mecanismo, bastante usado em pesquisas de robótica e aprendizado por reforço. Também inclui demos, um navegador de exemplos e testes unitários. A biblioteca foi projetada para ser compilada no Windows, Linux, macOS, iOS e Android; as demos opcionais precisam do OpenGL 2 ou 3.
O projeto também oferece suporte experimental a OpenCL, que executa a detecção de colisões e a dinâmica de corpos rígidos na GPU e requer uma GPU desktop de alto desempenho. O Bullet é distribuído sob a licença zlib e pode ser instalado via vcpkg, CMake ou premake.
Recursos principais
- 01Detecção de colisões em tempo real e dinâmica de corpos rígidos
- 02Simulação de corpos deformáveis e multifísica
- 03Bindings Python do PyBullet para robótica e aprendizado por reforço
- 04Aceleração experimental por GPU com OpenCL para colisões e dinâmica
- 05Compilações multiplataforma com CMake, premake e vcpkg
Casos de uso
- Adicionar física e tratamento de colisões a jogos ou aplicações de VR
- Simular braços, pernas ou garras robóticas em pesquisas de robótica
- Treinar agentes de aprendizado por reforço em ambientes simulados fisicamente
- Criar protótipos de efeitos visuais que precisam de dinâmica de corpos rígidos ou deformáveis
Início rápido
- 1
Instale o pacote Python PyBullet
pip3 install pybullet --upgrade --user - 2
Execute um ambiente de exemplo do PyBullet
python3 -m pybullet_envs.examples.enjoy_TF_AntBulletEnv_v0_2017may
Antes de usar
- O rastreador de problemas está fechado, então o suporte depende dos fóruns do PyBullet.
- O suporte experimental a GPU com OpenCL requer uma GPU de desktop de alto desempenho e não funciona em dispositivos CPU com OpenCL.
- O sandbox de VR para Windows requer hardware HTC Vive ou Oculus Rift.
Em coleções
Tópicos
Perguntas frequentes
- O que é bullet3?
- Bullet Physics SDK é uma biblioteca C++ para detecção de colisões em tempo real e simulação multifísica, usada em jogos, VR, robótica e machine learning. Bullet Physics SDK é uma biblioteca C++ para detecção de colisões em tempo real e simulação física. Ela abrange a dinâmica de corpos rígidos e a simulação de corpos deformáveis, e é usada em jogos, VR, efeitos visuais, robótica e machine learning.
- bullet3 é gratuito? Qual é a licença?
- bullet3 é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- bullet3 ainda é mantido?
- Manutenção ativa. O último commit de bullet3 foi em 9 de out. de 2026.
- Para que posso usar bullet3?
- Adicionar física e tratamento de colisões a jogos ou aplicações de VR Simular braços, pernas ou garras robóticas em pesquisas de robótica Treinar agentes de aprendizado por reforço em ambientes simulados fisicamente Criar protótipos de efeitos visuais que precisam de dinâmica de corpos rígidos ou deformáveis
- Como instalar bullet3?
- Instale o pacote Python PyBullet: pip3 install pybullet --upgrade --user Execute um ambiente de exemplo do PyBullet: python3 -m pybullet_envs.examples.enjoy_TF_AntBulletEnv_v0_2017may
- Onde consigo bullet3?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/bulletphysics/bullet3
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca C++ de física de corpos rígidos e detecção de colisões, compatível com múltiplos núcleos, para jogos e aplicações de VR.
Engines de física 2D e 3D em Rust para jogos, animação e robótica, com bindings para C, Python, JavaScript e Bevy.
Um mecanismo de física de uso geral para simular corpos articulados em contato com rapidez e precisão, amplamente usado em robótica e pesquisa em machine learning.
Plugin do Unreal Engine 5 que executa a física do MuJoCo no editor e em tempo de execução, combinando dinâmica de contato precisa com a renderização do Unreal.
Uma interface abstrata de física em C++ para simulação de robôs, que permite trocar o mecanismo de física por meio de um sistema de plugins.