Physik-Engine: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Benni (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Wernerj (Diskussion | Beiträge)
K toten link entfernt
 
(6 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 ===
http://www.codeplex.com/JigLibX <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/>
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/>
Nähere Informationen zur [[JigLibX]] und deren Einsatz sind im entsprechenden [[JigLibX|JigLibX - Artikel]] zu finden.
=== BEPUphysics Library ===
=== BEPUphysics Library ===
http://www.bepu-games.com/BEPUphysics/index.html <br/>
http://www.bepuphysics.com/ <br/>
https://github.com/RossNordby/bepuphysics1 <br/>
Die BEPUphysics Library ist eine sehr fortgeschrittene Physikbibliothek welche kostenlos in nichtkommerziellen Projekten genutzt werden darf. <br/>
Die BEPUphysics Library ist eine sehr fortgeschrittene Physikbibliothek welche kostenlos in nichtkommerziellen Projekten genutzt werden darf. <br/>
Sie verfügt über eine [http://www.bepu-games.com/BEPUphysics/documentation.htm Dokumentationsseite] und ein sehr umfangreiches Demoprogramm in XNA 3.0, für welches auch der Sourcecode erhältlich ist.
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.
=== PhysX (mit Wrapper) ===
=== PhysX (mit Wrapper) ===
http://www.nvidia.com/object/nvidia_physx.html <br/>
http://www.nvidia.com/object/nvidia_physx.html <br/>
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:en:PhysX|Wikipedia-Artikel zu PhysX]] zu finden. <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 XNA-Framework mit Managed C# nutzen zu können, muss ein sogenannter [[Wikipedia:de:Wrapper_(Software)|Wrapper]] verwendet werden. Inzwischen sind mehrere [[Wikipedia:de:Wrapper_(Software)|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):
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/>
* [http://physxdotnet.codeplex.com/ PhysX.Net] von [http://www.stilldesign.co.nz/ StillDesign]
[https://github.com/stilldesign/PhysX.Net PhysX.Net] von [http://www.stilldesign.co.nz/ StillDesign]
* [http://imaginary-project.net/physx-sharp/ PhysX-sharp]
 
* [http://code.google.com/p/physxdotnet/ physxdotnet]
 
[[Kategorie:Begriffe]]
[[Kategorie:Entwurf]]

Aktuelle Version vom 17. Oktober 2019, 13: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