Seitdem ich Box2D entdeckt habe , verwende ich es für jede spielerische Anwendung, die ich zu schreiben versuche, von sehr kleinen Prototypen oder kleinen Programmen, um etwas zu testen, bis hin zu tatsächlichen Projekten.
Dank dessen ist es so furchtbar einfach, alles von Kollisionen bis hin zur tatsächlichen Physik zu handhaben.
Manchmal habe ich jedoch einige Zweifel: Wenn ich nur mit Kreisen oder AABB umgehen muss und keine fortgeschrittenen Physikwerkzeuge (Gelenke oder ähnliches) benötige, denke ich, dass eine Physik-Engine eine Art nicht benötigter Overhead.
Um meine Frage noch einmal auf den Punkt zu bringen: Würden Sie Box2D (oder andere Physik-Engines) in einem Spiel verwenden, in dem die Physik wirklich einfach ist (wie zum Beispiel Super Mario)? Und wenn nicht, warum?
Antworten:
Wenn der für Box2D verwendete Speicher, Speicherplatz, Entwicklungsaufwand oder die Prozessorzeit zu viel für Ihre Zwecke ist, verwenden Sie sie nicht. Andernfalls gibt es keinen Grund, es zu vermeiden, wenn Sie es nützlich finden.
quelle
Etwas so einfaches wie Super Mario, nein, da es nicht wirklich viel Physik hat. (Mario hat keinen Einfluss auf die Physik des anderen Objekts mit seinem Springen)
Wenn Sie Physik im Sinne von mehreren Elementen (mehr als einem) verwenden, die Physik verwenden, um das Ergebnis anderer Objekte zu beeinflussen, würde ich eine Engine verwenden.
quelle
Meine Antwort lautet: Ja, verwenden Sie für einfache Dinge unbedingt eine Physik-Engine wie Box2D, da Sie keine unnötige Entwicklungszeit damit verbringen sollten, einige der Funktionen zu implementieren, die Sie schnell von einer Physik-Engine erhalten. Definieren Sie beispielsweise einen statischen Körper, und legen Sie einen dynamischen Körper darauf ab. Wenden Sie zur Eingabe der Richtung eine Kraft auf Ihren dynamischen Körper an. In wenigen Minuten haben Sie einen Plattformer. Ich glaube nicht, dass ein Motor so viel Aufwand verursacht, dass sich dies nicht lohnt.
quelle
Wenn die "Physik" in einem Spiel einfach ist, muss keine Physik-Engine importiert werden.
Ich verwende den Begriff Physik locker, da es einen Unterschied zwischen der Modellierungsphysik und der Simulation von Phyiscs gibt. Eine sehr wichtige Sache zu unterscheiden.
Zum Beispiel werden Sie in Mario Bros., wenn Sie rennen und anhalten, etwas rutschen. Überlegen Sie, wie Sie das implementieren könnten.
Sie können es modellieren, indem Sie alle erforderlichen Variablen definieren: z. Masse, Schwerkraft, Reibungskoeffizient, Schub usw. und dann Berechnung Ihrer neuen Geschwindigkeit, Beschleunigung usw.
aber ist es das wert Sie können den gleichen Effekt simulieren, indem Sie die Geschwindigkeit der Spieler verringern, während sie sich nicht bewegen ...
Etwas wie:
Der Unterschied ist, dass eins die Physik ist, das andere nicht. Beide haben Vor- und Nachteile. Aber als allgemeine Regel für einfache Spiele ist es viel einfacher, sie zu fälschen.
quelle
Sie müssen entsprechend der Situation entscheiden
Profis mit Ihrem benutzerdefinierten Motor
Vorteile der handelsüblichen Physik-Engine:
quelle