Hallo Also, ich habe jetzt folgendes Problem: Wie kann ich die Spieler Höhen Position auf einer Heightmap ermitteln, also überprüfen, ob der Spieler auf dem Boden, oder in der Luft ist ?
_________________ Wer Ordnung hält, ist zu faul zum Suchen
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Hab den Thread verschoben, da die Thematik ja nix mit OpenGL zu tun hat.
Zu deinem Problem : Es gibt eigentlich zwei Möglichkeiten sowas zu machen :
Möglichkeit 1 (einfach) : Da du ja die Heightmap hast, hast du auch schon die Höhendaten für jeden Punkt auf dieser Heightmap.Nun musst du ja nur gucken wo der Spieler sich auf der Heightmap befindet und hast schon dessen Höhe an der gegebenen X/Z-Position.Wenn du dann noch die umliegenden 8 Punkte miteinbeziehst, kannst du recht einfach berechnen wo sich der Spieler jetzt befindet. Hab das zwar noch nie gemacht, dürfte aber bei einer Szene die nur aus ner HM besteht eigentlich funzen.
Möglichkeit 2 (schwerer) : Du erstellst dir aus deiner Heightmap ein Array mit Dreiecksdaten und prüfst dann die Spieler/HM-Kollision mittels einer Ray-Triangle-Intersektion, wobei die Kollsisionlinie die Y-Achse des Spielers repräsentiert.Das ist zwar recht matheintensiv, aber z.B. auf <a href='http://www.sulaco.co.za' target='_blank'>http://www.sulaco.co.za</a> gibts dazu ein fertiges Beispiel mit Delphiquellcode.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Na ja. Das ist eigentlich eine mathematische Sache. Und Kollision hat auch nicht zwingend was mit OpenGL zu tun. Du kannst auch bei Popel2D (canvas) eine Kollision haben.
Mitglieder in diesem Forum: 0 Mitglieder und 4 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.