Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 19, 2025 15:10

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 17, 2003 18:19 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 07, 2003 15:25
Beiträge: 77
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 17, 2003 18:35 
Offline
DGL Member
Benutzeravatar

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.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 18, 2003 19:16 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 18, 2003 19:19 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Gast_bighead hat geschrieben:
Warum hat das Thema nichts mit Opengl zu tun?
Is doch auch ne Art Kollisionsabfrage.

OpenGL ist eine 3D-Grafik API, und da hat Kollisionsabfrage rein gar nix mit zu tun!

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 12:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 07, 2003 15:25
Beiträge: 77
Ja, Ja. Ihr habt gewonnen. :)

_________________
Wer Ordnung hält, ist zu faul zum Suchen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 19, 2003 13:22 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
bighead hat geschrieben:
Ja, Ja. Ihr habt gewonnen. :)

Wiederstand ist zwecklos. ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 16 Queries | GZIP : On ]