Ich habe auf der Heightmap mein Auto, das wenn es wo hoch fährt auch in schreglage geht, allerdings klappt das leider nur immer in einer Richtung, entweder weiter in den Plusbereich von X rein oder weiter in den Plusbereich von Z rein. Kennt jemand einen Trick oder so um das zu umgehen?
Man kann die Höhe der Landschaft unter den vier Rädern benutzen um das Auto daran auszurichten. Das geht aber nur, wenn die Landschaft rund genug ist, daß das Auto nirgends mit der Unterseite auf dem Boden aufsetzen würde.
Zuletzt geändert von LarsMiddendorf am Do Feb 26, 2004 14:45, insgesamt 1-mal geändert.
Wie kann ich es denn auf alle vier Räder berechnen?
Spieler.Y_vorn := GetInterpolatedHeight(Spieler.X,Spieler.Z+1.4); // höhe von vorne ermitteln
Spieler.y_hinten := GetInterpolatedHeight(Spieler.X,Spieler.Z-1.2); // höhe von hinten
a := spieler.y_vorn - spieler.Y_hinten; //jetzt a ermitteln (da tan ja nicht mit punkten arbeiten kann...
autodrehen := arctan(a/3.6)*30; // verhältniss aufstellen zwischen der autolänge und dem höhenunterschied, das mal 30 weils zu klein war ^^
Wenns euch hilft... habs halt ganz einfach gemacht ^^
Das Kamera Tut kann mir kaum helfen, da es am Winkel liegt oder?
Ich weiß ja wann ich translaten muss oder sowas in diesem Fall rotaten
Nein ich rotiere nicht in der falschen reihenfolge.
Sonst würde es nicht in eine Richtung gehen oder?
--- Edit ---
Sorry, hört sich bissl grob an :-/
Das muss an der Berechnung liegen...
Ach ich gehe nochmal alles durch, mit dem rotate und so, danke trotzdem!
Ich weiß woran es liegt, doch ich brauche Hilfe beim beheben!
Mein gedanke:
Ich hatte mir gedacht, wenn ich einfach mein x wert nehme und den - 2 habe ich die die position meiner vorderachse, was fölliger quatsch ist, z ist vernachlässigt und wenn ich mich rumdrehe in die andere richtung, wäre das quasi die position des hinterrades!
Meine Frage:
Woher weiß ich jetzt den Mittelpunkt der Vorderachse (x und z) und die des hinterrades?
Ein Tipp wäre gut, vielleicht klappts ja dann schon, sin und cos hab ich gerade in der Schule.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Machs am besten so wie ich in meinem aktuellen Projekt : Bastel dir ein kleines Tool mit dessen Hilfe du bestimmte Punkte an deinen Modelle festlegen kannst. Dann legst du einfach per Klick halt fest wo deine Achsen bzw. Räder liegen, lädst diese Daten dann beim Programmstart und assoziierst diese mit dem passenden Modell.
P.S. : Bitte achte doch mal darauf WO du deine Threads eröffnest. Hab den mal ins passende Forum verschoben.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Das versteh ich jetzt nicht. In nem Tool das ich mir gebastelt habe kann ich für ein 3D-Objekt bestimmte stellen markieren. Also Reifen an Position XYZ, relativ zum Objektzentrum. Da spielt es doch keine Rolle wo sich dein Objekt auf der Karte befindet, da die Position deiner Räder doch relativ zum Objektmittelpunkt gespeichert wurde.
Darf ich dir mal das schicken?
Ich weiß nicht ob das dort möglich ist, ich schick dir mal die exe zum angucken ok (install-datei, natürlich mit JSInstall )
Hab den Code erneuert, funktioniert besser aber immer noch nicht, code mit Beschreibung folgt:
Code:
// --- Sektor erechnen, in den mein Auto weiter hinein fährt. ---
caseround(spieler.Heading_sicht)of
0..90:
begin
multiplikator2 :=-1;
multiplikator1 :=1;
end;
91..180:
begin
alpha := spieler.Heading_sicht-90;
multiplikator2 :=1;
multiplikator1 :=1;
end;
181..270:
begin
alpha := spieler.Heading_sicht-180;
multiplikator2 :=1;
multiplikator1 :=-1;
end;
271..360:
begin
alpha := spieler.Heading_sicht-270;
multiplikator2 :=-1;
multiplikator1 :=-1;
end;
end;
[edit -- Hab die Abfrage übersichtlicher gemacht -- ]
Ich gucke einfach nach dem winkel und teil dem auto den sektor zu wo es hinschaut.
Ich lasse mir den Winkel jetzt mal im spiel ausgeben, genau wie multiplikator1 und 2, doch wie ich sehe, ist der winkel zb. 50 und mal 60, so darum aber die sektoren ändern sich als, das darf doch nicht sein oder?
-- liegt an was anderem --
Dachte eben schon mein Rechner Spinnt :-/
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.