Oi, então eu aprendi recentemente a biblioteca de gráficos SFML e gostaria de usar ou criar um sistema de física 2D de corpo não rígido para usar com ele. Eu tenho três perguntas:
A definição de corpo rígido no Box2d é
Um pedaço de matéria que é tão forte que a distância entre dois pedaços de matéria no pedaço é completamente constante.
E é exatamente isso que eu não quero, pois gostaria de criar corpos elásticos, deformáveis, quebráveis e de reconexão. 1. Existe algum mecanismo de física 2D simples, mas com esses tipos de características por aí? de preferência gratuito ou de código aberto?
2. Caso contrário, eu poderia usar o box2d e trabalhar com ele para criá-lo, mesmo que seja baseado em corpos rígidos?
3. Finalmente, se houver um mecanismo de física simples como este, devo prosseguir com o processo de criação de um novo de qualquer maneira, simplesmente por experiência e para aprimorar o conhecimento de matemática em física? Acho que ajudaria se eu quisesse modificar o código de um mecanismo existente ou criar um jogo com uma física realmente única.
Obrigado!
Respostas:
Você pode usar sistemas rígidos para criar dinâmicas moles de corpo e fluidos. Razão física por trás disso? Bem, essencialmente, os átomos são pequenos corpos rígidos. Isso não é totalmente verdade, é claro, mas, por simplicidade, você pode vê-las como tal. E corpos moles são obviamente feitos de átomos.
Então, como você cria "corpos moles" usando um mecanismo de corpo rígido como o Box2D?
A técnica essencial é unir pontos em seu corpo usando articulações. Por exemplo, se você conectar as extremidades de uma lista de linhas usando juntas de distância (o que significa que a distância entre duas juntas deve ser constante), ela se comportará aproximadamente como um pedaço de pano.
Mas isso é apenas uma descrição aproximada. Um monte de "trabalho de campo elementar" com o Box2D foi realizado por ewjordan, um dos desenvolvedores da porta Java do Box2D. Aqui está um bom ponto de partida: http://www.box2d.org/forum/viewtopic.php?f=8&t=1978
fonte
O termo que você está procurando é física do corpo mole.
A Wikipedia tem uma boa lista. Eles são todos 3D AFAICS, mas devem ser bons.
Verifique também esta questão SO.
Um ótimo livro (corpo rígido, mas toda a matemática e física existe); também é 3D, mas é trivial para a transferência para 2D) é Game Physics Engine Development . Ele implementa um sistema baseado em partículas antes de passar para corpos rígidos e colisões.
fonte
Uma maneira simples de simular corpos moles é conectar pequenos corpos rígidos com juntas elásticas. A parte difícil é ajustar os parâmetros do modelo e mapear a textura para o modelo subjacente.
A seguinte postagem no blog fornece a implementação de uma bola deformável com o mecanismo cocos2d: http://2sa-studio.blogspot.com/2014/05/soft-bodies-with-cocos2d-v3.html
fonte