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

30.03.2012, 23:20

LKW: Zugmaschine - Anhänger problem

Hallo (hoffentlich liebe ;) ) Spieleprogrammierer.de community,

ich habe mir ein Spiel ausgedacht welches ich gerne in dem Editor Multi Media Fusion 2 umsetzen würde, da ich mit dem (und deren vorgängern) bereits viel erfahrung habe und sehr mag (evtl kennt den ja jemand hier).
Nur hab ich das Problem, dass ich darin einen LKW brauche der sich realistisch bewegt d.h. ein anhänger der hinterhergezogen wird bewegt sich ja immer anders im verhältnis zur geschwindigkeit, wenn man schnell fährt und lenkt bilden Anhänger und Zugmaschine fast eine linie und wenn man sehr langsam fährt kann man bei starkem lenken mit dem fahrzeug ja den anhänger schon treffen und eben alles "Stufen dazwischen".
Ich habe leider keine Ahnung wie ich dieses Verhalten in "eine einfache Formel" bringen kann und das schlimme ist (als wenn das nicht schon schwer genug wäre ;) ) mein spiel ist nicht von Oben sondern aus der Iso perspektive (statt den üblichen 30° allerdings mit einem 34° Winkel) und das muss ja auch noch irgentwie mitbedacht werden :S.

Ich hoffe wirklich das ihr mir hier weiterhelfen könnt, denn ich sitze an dem Problem schon sehr lange und komme zu keiner Lösung :(

vielen dank schon einmal und viele Grüße

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

2

31.03.2012, 00:55

Also, die Perspektive, ganz egal ob Isometrie oder sonst was, ist ja eine Matrixentransformation beim Rendern und hat mit dem eigentlichen Problem eigentlich nichts zu tun.

Den LKW würde ich einfach verschieben, und den Anhänger der Physikberechung überlassen.
Fals du keine fertige Physikengine verwenden willst, kannst du das natürlich auch selber berechnen, was aber etwas gewisse Physikkenntnisse erfordert.
Ich würde sonst vlt. versuchen, den Lasteranhänger einfach als ganz normalen Festkörper zu berechen und ihn abschliessend einfach an die Verbindung zurück zu bewegen.
Müsste man austesten, ob das einigermaßen akzeptable Ergebnisse liefert. ;)

3

31.03.2012, 09:53

Ähem, MultiMediaFusion. Ich denke nicht, dass dort mit Matrizen gerechnet wird und ich glabue weiterhin, dass es kein 3D Spiel ist, sondern ein 2D Spiel. Von daher dürften deine Hinweise vermutlich nicht viel nützen, befürchte ich. Deshalb befürchte ich auch, dass er nicht einfach so eine Physikengine einbinden kann.

Also: Würdest du von oben gucken, dann könntest du einfach Sprites entsprechend dem Winkel drehen. In der Iso Perspektive brauchst du eben für jeden Winkel (also jedes Vielfache von z.B. 15 Grad) ein Sprit und zeichnest immer das, was gerade am besten passt.

Ich denke auch nicht, dass die Anhängerbewegung irgendwas mit der Geschwindigkeit zu tun hat. Einfach weil es unmöglich ist, bei Tempo 100 das Lenkrad voll einzuschlagen. Die Kurve würde vermutlich genauso aussehen, wie bei Tempo 5, nur würde sich der LKW dank Massenträgheit mehrfach überschlagen und im nächsten Graben explodieren :D

Also ich würde jetzt einfach versuchen, ein wenig mit den auftretenden Kräften rumzurechnen, vielleicht sieht das schon physikalisch plausibel aus. Im Grunde genommen zieht oder drückt der LKW ja auf die Kupplung(?) des Anhängers. Du kannst die Kraft per Vektorrechnung aufteilen, in eine die parallel zu den Rädern ist und eine die senkrecht dazu ist. Die Parallele würde dann die Vorwärts und Rückwärtsbewegung bestimmen, die senkrechte die Drehgeschwindigkeit des Anhängers. Aber vermutlich reicht das noch Lange nicht, und das Problem ist echt relativ kompliziert. Es gibt natürlich fertige Lösungen in Physikengines, wenn du nach Artikeln suchen möchtest, wären vielleicht "Rigid Body Dynamics" ("Festkörperbewegung") und "Constraints" ("Zwangsbedingungen", also der Anhänger ist am LKW fest, kann sich aber drehen) die passenden Stichwörter.
Lieber dumm fragen, als dumm bleiben!

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

4

31.03.2012, 12:48

Na, wenn es dort nichtmal Matrixen gibt, dann wäre es bei einem solchen Problem vielleicht mal an der Zeit, sich nach einer etwas mächtigeren Programmierumgebung umzusehen.
Muss ja nicht gleich C++ mit direkten Zugriff auf die Grafikkarte sein. ;)

Grafik ohne Matrixen, ist ein wenig so wie lauwarme Cola ohne Kohlensäure. (Nicht das ich das Gesöff mögen würde... :ill: )

Die Isometrie sollte aber trotzdem nichts mit der Position des LKWs zu tun haben.
Vielleicht kannst du auch mal einen Blick in den Quellcode einer einfachen 2D-Engine(zb. Box2D) werfen und schauen wie die es gelöst haben.

5

31.03.2012, 12:58

Na, wenn es dort nichtmal Matrixen gibt, dann wäre es bei einem solchen Problem vielleicht mal an der Zeit, sich nach einer etwas mächtigeren Programmierumgebung umzusehen.
Muss ja nicht gleich C++ mit direkten Zugriff auf die Grafikkarte sein. ;)

Naja, es ist 2D. Da kommt man noch recht gut ohne Matrizen aus.
Die Sache ist halt, dass man mit MMF2 das meiste recht einfach und schnell hinkriegt, nur jetzt die LKW Steuerung ist halt etwas kniffeliger. Ich weiß jetzt nicht, wie gut man mit MMF2 so Sachen als Skript schreiben kann, vielleicht wäre da auch mal ein Blick in entsprechend spezialisierte Foren nützlich.
Lieber dumm fragen, als dumm bleiben!

6

01.04.2012, 04:17

ja genau wegen der geschwindigkeit in der entwicklung und wegen der tollen möglichkeiten die spiele schnell und einfach für verschiedene plattformen zu portieren möchte ich das mit MMF2 machen :) und das verhalten von so einem anfänger muss sich doch in eine "einfache formel" zusammenfassen lassen müsssen :S

die leute im offfiziellen forum sagen leider immer nur, dass ich eine erweiterung nutzen soll die das ermöglicht, das problem damit ist das diese nur für windows geeignet ist und mir damit der vorteil für die anderen plattformen (android, xna, div java möglichkeiten, "flash") flöten gehen :(. deswegen brauche ich unbedingt einen andere möglichkeit :S

7

01.04.2012, 09:30

Das Problem ist, dass sich hier wahrscheinlich fast niemand mit MMF2 auskennt. Vielleicht kannst du ja mal erklären wie dein LKW und der Anhänger momentan bewegt werden. Am Besten postest du auch gleich deinen Quelltext oder so dazu. Dann kann man sich das vielleicht besser vorstellen. Ich finde es übrigens sehr vernünftig ein solches Toolkit zu benutzen.

8

01.04.2012, 12:40

und das verhalten von so einem anfänger muss sich doch in eine "einfache formel" zusammenfassen lassen müsssen :S

Nein, das muss es ganz und gar nicht. Es gibt viele Probleme, die zunächst einfach aussehen, aber dann sehr komplizierte Lösungen haben. Denk alleine an das Integrieren von Funktionen, dass um ein vielfaches schwieriger und manchmal nahezu unmöglich ist, als das Ableiten. Obwohl es so einfach klingt ("ich mach es einfach rückwärts").
Viele Probleme lassen sich analytisch überhaupt nicht mehr lösen, da benötigt man dann numerische Näherungsverfahren (man tastet sich in einer Schleife Schritt für Schritt an das korrekte Ergebnis ran). Die sind Rechenaufwändig, man braucht gute Optimierungen, damit man in wenig Schritten nahe am Ziel ist und man muss auch noch furchtbar aufpassen, dass sie überhaupt irgendwann fertig werden und ein nahezu richtiges Ergebnis liefern. Und so etwas will man glaube ich wirklich nicht in MMF2 umsetzen.

Vielleicht solltest du gucken, ob du ein Forum findest, wo sich Entwickler von Physikengines rumtreiben. Die können dir sicherlich sagen, wie man das am besten programmiert. Vielleicht gibt es für deinen Spezialfall eine einfache Lösungen, aber es könnte auch sehr schwer sein.
Lieber dumm fragen, als dumm bleiben!

9

01.04.2012, 14:33

Naja aber eine einigermaßen realistisch wirkende Fahrzeugphysik wird man auch in MMF2 umsetzen können. Ob das ganze nun Unity, UDK oder MMF2 heißt macht da glaube ich keinen Unterschied (im Sinn von Interesse an einer möglichen Problemlösung. Das ganze kann man ja schon leichter umsetzen wenn Vektormathematik dabei ist...).

Mmh ich würde es so machen:
Schau dir diesen oder ähnliche Blogbeiträge an http://blog.generalrelativity.org/action…al-constraints/ und bau dir die Formeln/den Code für MMF2 um. Wenn du magst kannst du versuchen mit wxMaxima oder so die Rechnungen in kompaktere Formeln für deinen Spezialfall zu gießen.

Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von »Chromanoid« (01.04.2012, 15:25)


10

18.04.2012, 16:22

hmm ich hab es wirklich über die tage versucht :S aber ich komme einfach nicht drauf wie ich das anstellen soll :S
mir fehlt allein eine art ansatz über was für eine winkelfunktion ich da gehen muss oder ähnliches :S

hat da jemand zufällig etwas für mich?

aber ich kann generell bei einem Sprite die geschwindigkeit bestimmen bzw auch selbst festlegen,
einen winkel den das objekt hat (dieser geht im normalfall von der mitte eines sprites aus, kann aber auch "an jede andere stelle gelegt werden")
und ich kann mir noch weitere hilfspunkte mit den gleichen eigenschaften festlegen (ich denke mal das das nötig sein wird, um die drehung des anhängers an der anhängerkupplung schön aussehen zu lassen?!)


ich hab hier grad mal den link von dem hersteller von mmf2 dort gibt es eine trial version zum download :S evtl hilft das ja?!
http://www.clickteam.com/website/usa/

ich bin wirklich für jede hilfe dankbar!

Werbeanzeige