Auswahl Physics Engine

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Matthias Gubisch
Establishment
Beiträge: 470
Registriert: 01.03.2009, 19:09

Auswahl Physics Engine

Beitrag von Matthias Gubisch »

Hallo Forum

fuer mein aktuelles Projekt bin ich noch auf der Suche nach der passenden Physik Engine.
Zulezt habe ich mit PhysX gearbeitet, das ist aber > 5 Jahre her! In der Zeit hat sich sicherlich viel getan in dem Bereich.
Da Google leider auch keinen schoenen Vergleichslisten liefert wollte ich mal nach euren Erfahrungen Fragen.

Zuerst mal grob die Anforderungen:
Platform: Windows
Kollisionsdetektion von ein paar 1000 Objekten
Charakter Controller, am besten flugfaehig ;)
Multiplayer geeignet (also sollte sync oder serialisierungsmechanissmus bieten)
Destruction / Explosion von Objekten ware noch cool, ist aber kein muss

Zur Auswahl stehen jezt mal die grossen.
ODE
PhysX
Bullet
React


Vieleicht kann ja der ein oder anderen zu den einzelenen Engines pros und contras sagen damit mir die Auswahl etwas leichter faellt ;)
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Auswahl Physics Engine

Beitrag von Chromanoid »

Nur mal so nebenher, fühlt sich außerdem so schön typisch für unsere Art von Forum an: Nimm doch gleich eine Spiele-Engine, da hast Du dann i.d.R. auch gleich Physik dabei... Bei Unity tut sich bezüglich Netzwerkarchitektur gerade recht viel. Und auch sonst werden die jetzt datenorientiert. Vielleicht wäre das ja was...

Ansonsten kann ich nur sagen, dass ich im Java-Umfeld vor Urzeiten ein paar gute Erfahrungen mit JBullet (Java Bullet Port) gemacht habe. Ich fand die Engine recht eingängig und konnte gut eigenen Code einbauen... Die Entscheidung für Bullet hing vor allem mit der Verfügbarkeit als reiner Java Port zusammen.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4838
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Auswahl Physics Engine

Beitrag von Schrompf »

Bei Deinen PhysX-Erfahrungen war ich glaube ich noch dabei :-) xq schwört auf ODE, weil die einfach ist und sehr direkt zu bedienen / zu beeinflussen. Keine mir bekannte Physik-Engine macht irgendwas mit Netzwerken, und das ist meiner Meinung nach auch gut so. Daher ist "direkter Einfluss" durchaus ein Pluspunkt, wenn man Daten ausm Netzwerk kriegt und einmassieren möchte. PhysX saugt ja große Zeit, was Einfluss angeht - Du kannst keine Position zuweisen, ohne das Ding dabei aufzuwecken, und ähnliche Spielereien.

In letzter Zeit habe ich (sehr dünne) Erfahrungen mit Bullet gemacht. Den Build zu integrieren ging ganz gut, es ist ein echtes OpenSource, und die Community scheint noch recht lebendig zu sein. Viel gemacht habe ich damit aber bisher nicht, daher kann ich Dir auch nix über Grenzfälle und Problemstellen erzählen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Matthias Gubisch
Establishment
Beiträge: 470
Registriert: 01.03.2009, 19:09

Re: Auswahl Physics Engine

Beitrag von Matthias Gubisch »

Schrompf hat geschrieben: 02.10.2019, 21:06 Bei Deinen PhysX-Erfahrungen war ich glaube ich noch dabei :-)
Ja das könnte durchaus sein ;)
Chromanoid hat geschrieben: 02.10.2019, 16:32 Nur mal so nebenher, fühlt sich außerdem so schön typisch für unsere Art von Forum an: Nimm doch gleich eine Spiele-Engine, da hast Du dann i.d.R. auch gleich Physik dabei...
Da das ganze als Forsch und Lernprojekt für DX12 angefangen hat und ich meinen (mittlerweile doch recht potenten) Renderer ungerne wegwerfe fällt diese Option leider aus ;) :)
Ziel der Aktion ist es MEINEN Renderer auf ein echtes Spiel loszulassen ;)

PhysX war damals vieles aber nicht schön zu benutzen...

Community schein ja sowohl bei ODE als auch bei Bullet noch aktiv zu sein ;)
Aktuell tendiere ich zu Bullet, die haben wohl Multithread support bereits eingebaut wohingegen ich mich bei ODE da selber drum kümmern müsste wenn ich das richtig gesehen habe.
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Antworten