Estou fazendo um jogo de sinuca como um jogo. Este jogo requer reflexos corretos (ou muito precisos). Eu tentei Box2D e Bullet Physics , mas ambos têm esse problema.
Se houver uma parede em cima desta imagem, espera-se que a linha vermelha siga uma bola real em um jogo de bilhar. Mas os motores geralmente mostram o curso da linha verde. Especialmente,
- Isso acontece depois que uma bola que se move lentamente atinge a parede.
- Às vezes, uma bola que se move rapidamente fica mais lenta de repente.
Estou encontrando um mecanismo de física que pode simular o jogo de bilhar com precisão, tanto quanto possível, sem esses problemas. Posso obter algumas recomendações? Agora estou pesquisando a Newton Game Dynamics , mas não tenho certeza de que o mecanismo mostrará o que quero. Estou considerando o mecanismo PhysX como um próximo teste e preciso fazer o meu próprio se nada funcionar. Mas é óbvio que vai demorar muito tempo, então eu gostaria de não fazer isso. Ficarei muito agradecido se você economizar meu tempo. E, claro, a solução com Box2D / Bullet Physics também é bem-vinda.
Estou trabalhando com C / C ++ / Objective + C no iOS.
Anexo minha configuração com o Box2D.
Paredes
- forma estática da caixa
- amortecimento linear / angular = 0,1
- restituição = 1,0
- fricção = 100
- densidade = 10
- bullet = false
- rotação fixa = false
- escala inercial = 1,0
Bolas
- forma de esfera dinâmica
- amortecimento linear / angular = 0,1
- restituição = 1,0
- fricção = 100
- densidade = 20
- bullet = true
- rotação fixa = false
- escala inercial = 1,0