Physik-Engine

Aus Das Sopra Wiki

Eine Physik-Engine ist eine Programmkomponente, die Funktionalitäten für physikalische Simulationen implementiert. Sie stellt ein Interface zur Verfügung um Objekte mit physikalischem Verhalten (Kräfte, Bewegungen, Reibung, etc.) auszustatten und auf Kollisionen von Objekten zu reagieren.

Eine gute und detailliertere Beschreibung zu Physik-Engines kann man im englischen Wikipedia-Artikel nachlesen.

Anbei eine Liste von brauchbaren Physik-Engines die mit XNA verwendet werden können. Es besteht kein Anspruch auf Vollständigkeit.

2D Physik-Engines

Velcro Physics (ehemals Farseer Physics Engine)

https://github.com/VelcroPhysics/VelcroPhysics
http://www.codeplex.com/FarseerPhysics
Die Velcro Physics Engine ist eine gute und fortgeschrittene Open-Source Lösung für 2D Physik. Sie unterstützt sowohl Monogame, als auch XNA. Auf Github steht eine Reihe von Beispielen zur Verfügung.

3D Physik-Engines

JigLibX Physics Library

http://www.codeplex.com/JigLibX
Die JigLibX Physics Library ist ein fortgeschrittenes und recht bekanntes Open-Source Projekt. Sie wird noch aktiv weiterentwickelt, befindet sich aber in einem stabilen Beta-Stadium.
Leider verfügt JigLibX über keine wirkliche Dokumentation, ist dafür aber mit einem umfangreichen Beispielprogramm in XNA 3.0 ausgestattet und verfügt über ein Wiki und ein Forum.
Nähere Informationen zur JigLibX und deren Einsatz sind im entsprechenden JigLibX - Artikel zu finden.

BEPUphysics Library

http://www.bepu-games.com/BEPUphysics/index.html
Die BEPUphysics Library ist eine sehr fortgeschrittene Physikbibliothek welche kostenlos in nichtkommerziellen Projekten genutzt werden darf.
Sie verfügt über eine Dokumentationsseite und ein sehr umfangreiches Demoprogramm in XNA 3.0, für welches auch der Sourcecode erhältlich ist.

Oops! 3D Physics Framework

http://www.codeplex.com/OopsFramework
Das Oops! 3D Physics Framework ist ein Open-Source Projekt das sich noch in der Entwicklung befindet.
Es verfügt über ein paar rudimentäre Tutorials sowie ein Beispielprogramm in XNA 3.0.

PhysX (mit Wrapper)

http://www.nvidia.com/object/nvidia_physx.html
Auch die weltbekannte Physik-Engine PhysX von NVIDIA kann für XNA Projekte genutzt werden. Nähere Informationen zu PhysX selbst und eine Liste von (auch kommerziellen) Spielen in welchen PhysX zum Einsatz kommt sind im Wikipedia-Artikel zu PhysX zu finden.
Um PhysX im XNA-Framework mit Managed C# nutzen zu können, muss ein sogenannter Wrapper verwendet werden. Inzwischen sind mehrere Wrapper für die Nutzung von PhysX in XNA in Entwicklung und stehen frei zur Verfügung. Im folgenden eine Liste mit ein paar Beispielen (kein Anspruch auf Vollständigkeit):