Die starre Körperphysik ist eigentlich recht einfach im Konzept - das heißt, die Verhaltensweisen, die ein Motor zu erzeugen versucht, sind nicht sehr kompliziert. Das ist wahrscheinlich der Grund, warum Ihnen die Bibliotheken, die Sie sich angesehen haben, recht einfach erscheinen.
Der Trick besteht darin, dass es ziemlich schwierig ist, eine Sim zu erstellen, die robust , stabil und schnell ist , selbst wenn Gleitkommafehler und niedrige, variable Frameraten vorliegen, und in der Regel viel gezwickt und herumgespielt wird. Eine weitere Komplikation ist die Tatsache, dass viele äußerst kluge Leute heldenhafte Anstrengungen unternommen haben, um bessere Lösungen zu finden, und schöne und leistungsstarke, aber schwer verständliche Algorithmen entwickelt haben, die dem Gebiet einen Ruf für schwarze Magie verliehen haben.
Im Allgemeinen wird sich eine Physik-Engine mit drei Dingen befassen (die Reihenfolge, in der sie in der internen Schleife ausgeführt werden, variiert):
- Integration (Annäherung an die Newtonschen Bewegungsgleichungen),
- Kollisionserkennung und
- Lösen von Einschränkungen (Aktualisieren von Positionen und Geschwindigkeiten, um Nichtdurchdringung oder andere benutzerdefinierte Einschränkungen zu erfüllen.)
Für die meisten von ihnen gibt es sowohl einfache, aber nicht so genaue Algorithmen als auch komplexe, aber genauere Algorithmen. Um Ihnen den Einstieg zu erleichtern:
- Für die Integration verwenden die meisten Leute entweder Symplectic Euler oder Verlet (die eigentlich gleichwertig sind. Sie können sich über die numerische Integration informieren, wenn Sie möchten, aber der Konsens scheint zu sein, dass billige Methoden erster Ordnung in Ordnung sind.
- Auf der Ressourcenseite "Echtzeit-Rendering" finden Sie alle gewünschten Referenzen zur Kollisionserkennung .
- Für das Lösen von Einschränkungen ist die Methode der sequentiellen Impulse sehr leicht zu verstehen. Erin Catto (die Autorin von Box2D) hält jedes Jahr eine Präsentation auf der GDC - die Folien sind auf der Box2D-Hauptseite verlinkt . Die Folien von 2006 decken sequentielle Impulse ziemlich gut ab. Sie können sich auch mit ausgefalleneren Methoden wie Featherstone oder projiziertem Gauß-Seidel befassen.
In den ersten Kapiteln des gerade veröffentlichten Buches Game Physics Pearls finden Sie eine hervorragende Einführung in einfache Methoden und was schief gehen kann.