Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

17.10.2012, 23:07

Umsetzung und Entwickeln einer Physik Engine

Hi Leute,

Ich bin grade dabei ein paar Formeln und Abhängigkeiten für ne 3D Realtime Physikengine zu sammeln. Das ganze will ich später mal in meine Game-engine einbauen, aber bis dahin dauerts noch ne Weile. Fürn Anfang will ich nur mal verstehn, wie das überhaupt grundsätzlich funktioniert.D.h. ich will eigentlich keinen Code, sofern der nich für ein besseres Verständnis sorgt.

Ich hab zwar bei Googel schon gesucht, aber wirklich sinnvolles Zeug hab ich da nich gefunden... Meine Gedanklichen Probleme liegen gerade da, dass ich nich weiß wie ich berechnen kann, wie ein Objekt auf dem Boden aufliegt, falls der Boden schräg ist. Außerdem weiß ich nich, wie ich z.B. dafür sorgen soll, dass eine Dose einen Berg korrekt hinunterrollt (oder eben nicht...).

Wie wird die Physik bei professionellen Engines wie z.B. der Source Engine berechnet?

Durza

Treue Seele

Beiträge: 104

Beruf: Student (MSc Cyber Security)

  • Private Nachricht senden

2

18.10.2012, 00:26

Hier im Forum gibt es 2 tolle Threads, die zeigen, wie man eine Physik Engine entwickelt:

Teil 1
Teil 2

Ich hoffe, ich konnte helfen!

Durza

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

3

18.10.2012, 00:39

Ich wird jetzt hier wahrscheinlich etwas pessimistisch klingen, aber eine komplette und etwas generische Physik Engine zu programmieren ist unter keinen Umständen eine triviale Angelegenheit. Zwar kann man schnell einmal irgendwelche Bewegungen und einfache Kollisionstests einbauen, aber die Komplexität für die Reaktion auf Kollisionen und die verschiedensten Formen und Oberflächen sind sehr schwer zu hand haben... Es ist ja auch nicht verwunderlich, dass darum die meisten Spiele auf bereits existierenden Code zurückgreifen (z.B. Box2D für 2D oder Bullet Physics für 3D) oder dass Leute damit ihr Lebensunterhalt verdienen etc.
Ich persönlich würde mir jetzt so etwas nicht zu trauen, besonders wenn ich bedenke, dass ich die enorme Zeitinvestition besser verwenden könnte und mit einem Bruchteil davon benötige um mich in bereits existierende Engines einzuarbeiten. ;)
Natürlich kannst du es versuchen, aber sei nicht enttäuscht wenn es nie so wirklich wird, wie du dir das vorgestellt hast... ;)

Wenn du Formeln suchst, dann empfehle ich dir mal dein Physikbuch hervor zunehmen und unter "Kräfte" oder "Mechanik" nach zu schauen. :D
Blog: https://dev.my-gate.net/
—————————————————————————
SFML: https://www.sfml-dev.org/
Thor: http://www.bromeon.ch/libraries/thor/
SFGUI: https://github.com/TankOs/SFGUI/

4

18.10.2012, 07:38

Zeit is nich mein Problem, ich hab vor das ganze als Langweile-Projekt zu machen, also immer wenn ich mal nichts besseres zu tun/programmieren hab und mir langweilig is, mach ich daran weiter, is mir also auch egal, wenns bis zu meinem Lebensende noch nich fertig is :D

Das Tutorial hatte ich schon gesehn, allerdings sind das ja wirklich nur die Basics. Ich wollte hier eigentlich ein paar Infos über Komplexere Dinge, wie z.B. die Dinge die ich genannt hatte. Gerade die Berechnung der Rotation von Objekten die auf dem Boden aufliegen macht mir noch in der Theorie ein paar Probleme.

5

18.10.2012, 08:14

Guck dir die Bullet Dokumentation an. Da lernst du etwas über den prinzipiellen Aufbau, die Phasen der Physikberechnung und es werden zahlreiche Algorithmen erwähnt, die intern benutzt werden. Damit solltest du eigentlich eine ganze Menge Suchbegriffe haben, um tiefergehende Informationen zu finden.
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige