Physik-Engine

Aus Das Sopra Wiki
Zur Navigation springen Zur Suche springen

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 MonoGame 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
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

BEPUphysics Library

http://www.bepuphysics.com/
https://github.com/RossNordby/bepuphysics1
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 Monogame, für welches auch der Sourcecode erhältlich ist. Zusätzlich steht ein Forum für weitere Fragen zur Verfüngung.

Oops! 3D Physics Framework

http://www.codeplex.com/OopsFramework
Das Oops! 3D Physics Framework ist ein Open-Source Projekt das zuletzt 2009 aktualisiert wurde.
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 Monogame und 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 Monogame/XNA-Framework mit Managed C# nutzen zu können, muss ein sogenannter Wrapper verwendet werden. Der bekannteste Wrapper zur Nutzung von PhysX unter .NET ist der von Stilldesign. Er ist kostenlos auf Github verfügbar und kann mit Nuget in Projekte importiert werden:
PhysX.Net von StillDesign