Seite 1 von 1

Auswahl Physics Engine

Verfasst: 02.10.2019, 15:57
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 ;)

Re: Auswahl Physics Engine

Verfasst: 02.10.2019, 16:32
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.

Re: Auswahl Physics Engine

Verfasst: 02.10.2019, 21:06
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.

Re: Auswahl Physics Engine

Verfasst: 03.10.2019, 13:31
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.