Car-Physik
Übersicht

MatthiasBetreff: Car-Physik |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hay. Ich habe mich mal versucht an einem Autorennspiel. Soweit functioniert alle. Die Autos fahren schön ihre Bahnen und coliederen auch miteinander wie es sein mus. Nur die AutoPhysik mit der bin ich überhaupt nicht zu frieden. Ist so Raumschiffartig.
Das Beispiel von BlitzBasic.com kann mann auch vergessen. Das gefält mir auch nicht. Das ding ist viel zu schwamig. Auch wenn ich die Trägheit raus nehme dan dreht das ding irgendwie durch. Kennt jemand ein gutes Tutorial. Oder hat jemand mit CarPhysik schon etwas Erfahrung gemacht, und kann mir helfen? SpaceTaste drücken um zu starten. 0.6MB https://www.blitzforum.de/upload/file.php?id=2229 Das Map stammt nicht von mir dient nur als Platzhalter |
||
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wieso nimmste nich ne Physikengine wie z.B. Newton? Die hat ziemlichen Haufen an Befehlen für Autos...
Ich weiss aber nicht ob du das irgendwie in 2D nutzen kannst.... MfG |
||
~Tehadon~
www.tehadon.de http://www.blitzforum.de/worklogs/14/ |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja ich will nicht unbedingt auf eine DLL zurück greifen da mann da nichts mehr großartigs ändern kann. | ||
![]() |
Who |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Du könntest, damit das Ganze realistischer wird, bei langsamer Geschwindigkeit die Lenkung stärker als bei schneller Geschwindigkeit machen (das ist natürlich kein Ersatz für richtiges schliddern). Aber noch wichtiger finde ich das Kollisionsverhalten Auto <-> Auto (zB seitlich ins Heck des Gegners fahren + abdrängen). Das habe ich selbst mit einer zweiten Kollision gelöst: 1. Kollisionsabfrage: Auto, Auto (Bilder werden gemalt) 2. Kollisionsabfrage: maskiertes Bild das sich auch mit dem Auto dreht, bei dem aber nur die vordere Hälfte des Autos vorhanden ist (nicht gemalt) Damit kann man prüfen, wo die Kollision stattfindet und dann auch, in welche Richtung die Autos gedreht werden müssen. / \ wird zu | | oder sogar \ / (Fahrtrichtung nach oben) _ / wird zu _ \ Ich hoffe diese notdürftige Skizze hilft dir weiter und beantwortet deine Frage MFG Who EDIT: sorry, ich hatte übersehn dass das BMax ist, damit kenne ich mich nicht aus... meins ist für B2D ![]() |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich versuche mich gerade daran es über Verbindungen zu lösen welche die Karosse bzw. den Autoboden nachbilden . Die Verbindungen kann man sich wie Federn vorstellen und eine Feder hat zwei befestigungs Punkte . 4 von den befestigungs Punkten nehme ich als Räder welche dann auch Kontakt haben zum Boden (je nach Untergrund) und die Karosse stabilisieren . Ich bin damit noch nicht ganz fertig und habe die Hoffung das es sehr echt wirkt . |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hat jemand von euch denselben Fehler gemacht und geht auf ne HTL, Fachrichtung Maschinenbau oder ähnliches?
Uns wird seit Jahren versucht, die Mechanik einzutrichtern... das geht natürlich weit darüber hinaus, was die meisten im Physik Unterricht lernen, aber ich will jetzt mal nur von den Grundgleichungen reden... Masse mal Beschleunigung ist Summe aller Kräfte Der Ansatz ist nicht so schwer (aber ohne Skizzen und Formeleditor verdammt schwer zu erklären^^) Problem dabei ist halt die Lösung. Ich hätts schon längst umgesetzt, wenn mein Mechanik-Lehrer nicht ständig was von Differentialgleichungen reden würde. ![]() Hat sich jemand schonmal damit auseinander gesetzt? bzw läuft das am Ende eben auf dieses Feder-Knoten-System hinaus, welches hectic schonmal erfolgreich in seinem Buggy-Spiel umgesetzt hat? mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich studiere zwar Elektrotechnik aber auch wir haben das Privileg, Mechanik zu geniessen (und glaub mir, ist spassiger als quanten- und festkörper physik ![]() Gescheite realistische Autophysik ist relativ schwer umzusetzen. Die Grundlagen sind die Newtonschen Gesetze und die Federgesetze in Kombination mit den Hebelgesetzen/Momenten (Drehmoment etc). Speziell letztere vergessen die meisten weil man sie in der normalen Physik auf Gymi Niveau nicht zu sehen bekommt oder nur kurz. Sie sind jedoch für alles was nicht gerade aus geht mit einer rollenden Kugel von grundlegender Bedeutung weil sie zur m*a = Summe der Kräfte noch die Momentenkräfte hinzufügen. (ein spontan vorne abgebremster Würfel zb wird sich überschlagen. Wird er jedoch ohne Momente zb nicht) Beim Auto zb sind das jene die daher rühren dass der Schwerpuntk des Fahrzeugs nicht im Rad ist und das es vor allem 4 gefederte Räder sind anstelle eines einzelnen. Dadurch ergeben sich 2 Momente: Der eine in der Längsachse des Fahrzeugs beim Bremsen / Gasgeben (die Vertikale Achse des Fahrzeugs geht leicht nach vorne / hinten, schwerpunkt verschiebt sich dadurch). Das andere Moment ist in der Querachse und kommt in Kurven zum tragen, wo die vertikale Achse des Fahrzeugs zur Aussenseite der Kurvenbahn neigt und die dortigen Räder stärker belastet werden. Anmerkung: In der horizontalen Ebene gibt es kein Moment, da dieses nicht frei ist. Die Federn können nicht horizontal schwingen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hay. Ich habe mich mal jetzt daran versucht eine Car Physik zu programieren. Ich glaube sie ist zwar schon etwas besser wie diese die ich in dem Racer Beispiel drin habe, aber das gelbe vom Ei ist sie immer noch nicht.
Also hier mal der Code in BB. (Ist ja kein Problem sie auch in BMax zu benutzen) Code: [AUSKLAPPEN] Graphics 800,600,32,2 Dim Auto(361) TFormFilter False Image=CreateImage(31,31):SetBuffer ImageBuffer(Image) Color 255,0,0:Rect 6,0,20,32 Color 255,255,0 Rect 8,2,4,4 Rect 20,2,4,4 Rect 8,20,16,8 For I=0 To 360 Auto(I)=CopyImage(Image):RotateImage Auto(I),I MidHandle Auto(I) Next KenX#=0 KenY#=0 IstPower#=0 MaxPower#=500 ;PS Gewicht#=1555 ;Kg PosX#=400:PosY#=300 Color 255,255,255 SetBuffer BackBuffer() Repeat Cls Brems#=1:OK=0 WkSp=80 If KeyDown(203) Then Winkel=Winkel-WkSp*KenSpeed If KeyDown(205) Then Winkel=Winkel+WkSp*KenSpeed If KeyDown(200) Then IstPower=IstPower+.1:Ok=1 If KeyDown(208) Then IstPower=IstPower-.1:Brems=.96 If Ok=0 Then IstPower=IstPower-.1 If IstPower<0 Then IstPower=0 If IstPower>1 Then IstPower=1 If Winkel<0 Then Winkel=Winkel+359 If Winkel>359 Then Winkel=Winkel-359 KenWk#=180-ATan2(KenX*1000,KenY*1000) Unt=Abs(Winkel-KenWk):If Unt>179 Then Unt=360-Unt Trag#=1-Abs(Unt)*.015:If Trag<.1 Then Trag=.1 If Brems>1 Then Brems=1 Kraft#=(IstPower*MaxPower*.0000075)*Trag KenX=KenX+Sin(Winkel)*Kraft KenY=KenY-Cos(Winkel)*Kraft Ge#=Gewicht*.001 KenWk#=180-ATan2(KenX*1000,KenY*1000) KenSpeed#=Sqr(KenX*KenX+KenY*KenY) KenKraft#=KenSpeed/Float(Ge) negKraft#=(KenSpeed*1.293)^2 KenSpeed=KenSpeed-negKraft KenSpeed=KenSpeed*Brems QX=Sin(KenWk)*50 QY=-Cos(KenWk)*50 KenX=Sin(KenWk)*KenSpeed KenY=-Cos(KenWk)*KenSpeed KX#=(KenX*400000)/Float(Gewicht) KY#=(KenY*400000)/Float(Gewicht) If (Abs(KX)+Abs(KY))<3 Then KX=0:KY=0 Speed=Abs(KenX)+Abs(KenY) PosX=PosX+KX PosY=PosY+KY If PosX>800 Then PosX=PosX-800 If PosX<0 Then PosX=PosX+800 If PosY>600 Then PosY=PosY-600 If PosY<0 Then PosY=PosY+600 Line PosX,PosY,PosX+QX,PosY+QY W=Winkel DrawImage Auto(W),PosX,PosY Text 10,10,IstPower+" " Text 10,30,KenX+" "+KX Text 10,50,KenY+" "+KY Text 10,80,"Speed="+KenSpeed Text 10,90,Winkel+" "+KenWk+" "+Unt Text 10,100," "+Brems+" "+Trag Flip Delay 20 Until KeyDown(1)=1 End Vieleicht kann ich ein Wenig in Mathe aber in Physik haperts echt bei mir. Leider ![]() Ich möchte gerne das es wie in echt wirkt. Also zb das mann am Anfang schnell beschleunigt und mann um so schneller mann wird mann progressiv immer mehr Kraftaufwand hat. Dazu gibt es ja schon eine Formel Energie=Masse*(Geschwindigkeit)^2 Wiederum hat mann nun aber den Luftwiederstand der Quadratich wirkt und bei 1.293 pro Kg liegt. Und gegen die schon investierte Kraft(Kenetiche Enagie wirkt) Dann noch die Fliehkraft die in den Kurven wirkt. Woran hängt die RandLenkung eigentlich ab. Nur an der momentanen Geschwindigkeit bestimmt nicht. Also eine Menge sachen die rein müssen, aber keine Ahnung wie was von einander abhängt. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Von den Federkoeffizienten, der Lage, Geschwindigkeit und Gewicht des Schwerpunktes, Federhöhe, Gravitation, Heck- oder Frontantrieb, ...
Die Abhängigkeiten sind da nicht ganz so einfach und das kann auch nicht mit einer einzigen Gleichung gelöst werden. Da musst du systematisch die Kennwerte bestimmen und weiter verarbeiten bis du alle gewünschten Werte erhälst: Krafteinwirkung auf die Federn, Kräfte auf die Räder, Kraft auf den Fahrzeugschwerpunkt, ... |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also E=mc² hat mit Autophysik weniger zu tun, dafür mehr der Luftwiderstand. Der wirkt tatsächlich entgegen der Fahrtrichtung und wird durch Verwirblungen mit steigender Geschwindigkeit größer - besonders bei DTM-Rennspielen ist man hinter einem Gegner schneller, weil der vorn als Luftschild funktioniert.
Die Massenträgheit muss beim Beschleunigen, in Kurven und beim Abbremsen praktisch immer entgegengesetzt der soll-Richtung wirken. In kurven heißt das, wenn man auch schon umgelenkt hat, bewegt sich das Auto in die ursprüngliche Richtung weiter, siehe auch driften. Wenn man' genau machen will ist es etwas viel, aber die meisten Formeln lassen sich fürs Programmieren sehr vereinfachen, Gravitation bzw. beschleunigte Bewegungen sind ja auch nicht all zu schwer umzusetzen. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also das ist nicht so wirklich "off"topic.
Ich ![]() |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn man das so macht wie ich es beschrieben (vor) habe ergeben sich die Drehmomente von selbst .
Man hat auch nix mit dem Massenmittelpunkt zu tun . Diche Masse (schwer) besteht quasi aus vielen kurzen Verbindungen (Federn) . Drehimpulserhaltung braucht man auch nicht lernen . In dem 2D Buggy Beispiel von Hectic wo die Räder aus Verbindungen bestehen kann man gut sehen wie die Kraft auf die Straße übertragen wird . Wie eine Raupe die sich zusammen zieht und wieder ausdehnt . ![]() ![]() EDIT:habe mal nen Pic rein gemacht wie ich das meine bzw. versuche . |
||
- Zuletzt bearbeitet von Markus2 am Di, Okt 30, 2007 22:22, insgesamt 4-mal bearbeitet
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Könntest du nicht mal den ganzen script posten?
Hab den durchbklick verloren thx ... Bei diesem schnipsel kommt nur : Excpecting until or forever |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Obiges sollte wenn du es 1:1 kopiert hast funktionieren.
Und Blitz ist CODE nicht Script |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Von den Federkoeffizienten, der Lage, Geschwindigkeit und Gewicht des Schwerpunktes, Federhöhe, Gravitation, Heck- oder Frontantrieb, ...
Gerade bei einem Top-Down-Rennspiel muss sich die Fahrphysik nur "gut anfühlen", ob dahinter eine aufwändige Physikberechnung steht oder nicht, interessiert doch keine Sau. Wozu brauche ich hier über 200 Parameter für ein Physikmodell(wie bei aktuellen Rennsimulationen), wenn es sich am Schluß doch nicht so anfühlt, wie man es gerne hätte? Ich hatte mal an einem System überlegt, wo es im Prinzip zwei Schwerpunkte pro Auto gibt. Einer hinten und einer vorne zwischen den Rädern. Je nach Abtriebseinstellung und Gewichtsverteilung könnte man diesen beiden Punkten dann unterschiedliche Trägheitsmerkmale zuweisen und so ein Untersteuern oder Übersteuern erreichen. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich sagte ja auch nicht, dass man das so nutzen muss.
Es wurde gefragt, was einen Einfluss darauf hat bei realistischen Fahrzeugsimulationen. Wie weit man das ganze vereinfacht oder komplett weg lässt, hängt primär davon ab obs eine Simulation oder ein Arcade Racer werden soll etc |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin heute einen großen Schritt weiter gekommen ![]() Die EXE läuft als 640x480 im Fenster . (BBMax im Debug Modus) http://home.kamp.net/home/r15502/AutoDemo.zip Einfach mal Gas geben,Lenkrad einschlagen,3&4 Halten,Gas loslassen! Oder einfach 3,4,Links fest halten und mit dem Gas spielen ![]() EDIT:habs heute nochmal hoch geladen , das Auto bleibt nun im Fenster ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group