Physik-Engine: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
K (toten link entfernt)
 
(8 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Stub}}
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 [[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.


Zeile 6: Zeile 4:
<br/>
<br/>
<br/>
<br/>
Anbei eine Liste von brauchbaren [[Physik-Engine|Physik-Engines]] die mit [[XNA]] verwendet werden können. Es besteht kein Anspruch auf Vollständigkeit.
Anbei eine Liste von brauchbaren [[Physik-Engine|Physik-Engines]] die mit [[MonoGame]] verwendet werden können. Es besteht kein Anspruch auf Vollständigkeit.


== 2D Physik-Engines ==
== 2D Physik-Engines ==
=== Farseer Physics Engine ===
=== Velcro Physics (ehemals Farseer Physics Engine) ===
http://www.codeplex.com/FarseerPhysics <br/>
https://github.com/VelcroPhysics/VelcroPhysics <br/>
Die '''Farseer Physics Engine''' ist eine gute und fortgeschrittene Open-Source Lösung für 2D Physik. <br/>
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.
Sie verfügt über eine Dokumentation und auf der Homepage steht auch eine Reihe von Beispielen zur Verfügung.
=== JelloPhysics ===
http://walaber.com/index.php?action=showitem&id=16 <br/>
'''JelloPhysics''' ist eine 2D Soft-Body Physik Engine.


== 3D Physik-Engines ==
== 3D Physik-Engines ==
=== JigLibX Physics Library ===
=== BEPUphysics Library ===
http://www.codeplex.com/JigLibX <br/>
http://www.bepuphysics.com/ <br/>
Die '''[[JigLibX|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. <br/>
https://github.com/RossNordby/bepuphysics1 <br/>
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 [http://jiglibx.wikidot.com/ Wiki und ein Forum]. <br/>
Die BEPUphysics Library ist eine sehr fortgeschrittene Physikbibliothek welche kostenlos in nichtkommerziellen Projekten genutzt werden darf. <br/>
Nähere Informationen zur [[JigLibX]] und deren Einsatz sind im entsprechenden [[JigLibX|JigLibX - Artikel]] zu finden.
Sie verfügt über eine [https://github.com/RossNordby/bepuphysics1/blob/master/Documentation/Documentation.md Dokumentationsseite] und ein sehr umfangreiches Demoprogramm in Monogame, für welches auch der Sourcecode erhältlich ist. Zusätzlich steht ein [https://forum.bepuentertainment.com/ Forum] für weitere Fragen zur Verfüngung.
=== Oops! 3D Physics Framework ===
=== Oops! 3D Physics Framework ===
http://www.codeplex.com/OopsFramework <br/>
http://www.codeplex.com/OopsFramework <br/>
Das '''Oops! 3D Physics Framework''' ist ein Open-Source Projekt das sich noch in der Entwicklung befindet. <br/>
Das Oops! 3D Physics Framework ist ein Open-Source Projekt das zuletzt 2009 aktualisiert wurde. <br/>
Es verfügt über ein paar rudimentäre [http://oopsframework.codeplex.com/Wiki/View.aspx?title=Tutorials Tutorials] sowie ein Beispielprogramm in XNA 3.0.
Es verfügt über ein paar rudimentäre [http://oopsframework.codeplex.com/Wiki/View.aspx?title=Tutorials Tutorials] sowie ein Beispielprogramm in XNA 3.0.
=== BEPU physics ===
=== Matali Physics ===
=== PhysX (mit Wrapper) ===
=== PhysX (mit Wrapper) ===
http://www.nvidia.com/object/nvidia_physx.html <br/>
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:en:PhysX|Wikipedia-Artikel zu PhysX]] zu finden. <br/>
Um PhysX im Monogame/XNA-Framework mit Managed C# nutzen zu können, muss ein sogenannter [[Wikipedia:de:Wrapper_(Software)|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 [[Wikipedia:de:NuGet|Nuget]] in Projekte importiert werden:<br/>
[https://github.com/stilldesign/PhysX.Net PhysX.Net] von [http://www.stilldesign.co.nz/ StillDesign]
[[Kategorie:Begriffe]]
[[Kategorie:Entwurf]]

Aktuelle Version vom 17. Oktober 2019, 14:08 Uhr

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