Robię grę w bilard. Ta gra wymaga poprawnych (lub bardzo dokładnych) odbić odbijających. Próbowałem Box2D i Bullet Physics , ale oba mają ten problem.

Jeśli na tym obrazie jest ściana, należy spodziewać się, że czerwona linia będzie przebiegać jak prawdziwa piłka w grze bilardowej. Ale silniki często pokazują kurs zielonej linii. Szczególnie,
- Dzieje się tak, gdy wolno poruszająca się piłka uderza w ścianę.
- Czasami szybko poruszająca się piłka nagle staje się wolniejsza.
Znajduję silnik fizyki, który bez tych problemów może dokładnie symulować grę w bilard. Czy mogę uzyskać jakieś rekomendacje? Teraz kopie dynamikę gry Newtona , ale nie jestem pewien, czy silnik pokaże, czego chcę. Zastanawiam się PhysX silnik jako kolejnej rozprawie, i trzeba zrobić własny, jeśli nic nie działa. Ale to oczywiste, że zajmie to bardzo dużo czasu, więc chciałbym tego nie robić. Będę bardzo wdzięczny, jeśli zaoszczędzisz mój czas. Oczywiście mile widziane jest również rozwiązanie z Box2D / Bullet Physics.
Pracuję z C / C ++ / Objective + C na iOS.
Załączam swoją konfigurację z Box2D.
Ściany
- kształt pudełka statycznego
- tłumienie liniowe / kątowe = 0,1
- restytucja = 1,0
- tarcie = 100
- gęstość = 10
- punktor = fałsz
- naprawiono obrót = fałsz
- skala inercyjna = 1,0
kulki
- dynamiczny kształt kuli
- tłumienie liniowe / kątowe = 0,1
- restytucja = 1,0
- tarcie = 100
- gęstość = 20
- punktor = prawda
- naprawiono obrót = fałsz
- skala inercyjna = 1,0