Ich mache ein Pool-Spiel wie ein Spiel. Dieses Spiel erfordert korrekte (oder sehr genaue) Reflexionen. Ich habe Box2D und Bullet Physics ausprobiert , aber beide haben dieses Problem.
Befindet sich oben auf diesem Bild eine Wand, wird in einem Poolspiel eine rote Linie im Verlauf eines echten Balls erwartet. Die Motoren zeigen aber oft einen Green-Line-Kurs. Insbesondere,
- Dies geschieht, nachdem eine sich langsam bewegende Kugel die Wand berührt.
- Manchmal wird eine sich schnell bewegende Kugel plötzlich langsamer.
Ich finde eine Physik-Engine, die Pool-Spiele ohne diese Probleme so genau wie möglich simulieren kann. Kann ich ein paar Empfehlungen bekommen? Jetzt grabe ich Newton Game Dynamics , bin mir aber nicht sicher, ob die Engine zeigen wird, was ich will. Ich überlege mir die PhysX- Engine als nächsten Versuch und muss sie selbst erstellen, wenn nichts funktioniert. Aber es ist offensichtlich, dass es sehr lange dauern wird, und ich wünschte, ich würde das nicht tun. Ich werde sehr geschätzt, wenn Sie meine Zeit sparen. Natürlich sind auch Lösungen mit Box2D / Bullet Physics willkommen.
Ich arbeite mit C / C ++ / Objective + C unter iOS.
Ich hänge meine Konfiguration mit Box2D an.
Wände
- statische Kastenform
- lineare / eckige Dämpfung = 0,1
- Rückerstattung = 1,0
- Reibung = 100
- Dichte = 10
- bullet = false
- feste Drehung = falsch
- Trägheitsskala = 1,0
Bälle
- dynamische Kugelform
- lineare / eckige Dämpfung = 0,1
- Rückerstattung = 1,0
- Reibung = 100
- Dichte = 20
- Kugel = wahr
- feste Drehung = falsch
- Trägheitsskala = 1,0