Seite 1 von 1

Abstand von Object zur einem Polygon

Verfasst: 01.04.2010, 21:33
von Razorin
Hallo

Ich habe schon wieder ein recht simples Problem
Und zwar habe ich einen Boden/Terrein/Spielwelt... als Mesh in meinen Programm das Problem ist wenn ich jetzt ein Object z.b. ein Würfel dieses Mesh entlang schicke geht es durch die Landschaft hindurch
also wie kann ich von meinen Boden-Mesh jedes einzelne Polygon nach seiner Y-Postion abfragen um daraus dan eine neue Y-Position meines Würfels zu errechnen.
Ich habe schun viel gegoogelt aber leider nichts dazu gefunden wie man einzelne Polygone aus einen Mesh abfragen kann.

Ich hoffe ihr könnt mir helfen


MfG Razorin

Re: Abstand von Object zur einem Polygon

Verfasst: 02.04.2010, 13:38
von kimmi
Dein Polygon ( ich nenne das der Einfachheit halber mal Face ) besteht ja aus verschiedenen Dreiecken und dementsprechend hat es nicht einen einzelnen Y-Wert. Aber:
Du könntest dir beispielsweise den geometrischen Mittelpunkt deines Meshes ermitteln und die senkrecht darunterliegende Face des Terrains heraussuchen. Nun kannst du von der ermittelten Face das Dreieck ermitteln und den Mittelpunkt deiner Mesh auf das Dreieck abbilden. Hiervon kannst du den Abstand berechnen.
Die Suche der Terrain-Face kannst du durch eine entsprechende Partitionierung effizient gestalten ( beipielsweise BSP-Tree ).

Gruß Kimmi

Re: Abstand von Object zur einem Polygon

Verfasst: 03.04.2010, 21:37
von jgl
[Edit]
Nach Überlegung, gabe ich meinen Post gelöscht.
War, denke ich, nicht richtig.
:oops:
[/Edit]

Re: Abstand von Object zur einem Polygon

Verfasst: 04.04.2010, 03:16
von Razorin
Danke für die Antworten hört sich alles sehr kompliziert an aber ich werde mich mal reinfizzen und schaun was bei raus kommt.

Re: Abstand von Object zur einem Polygon

Verfasst: 04.04.2010, 12:12
von jgl
Bei Developia hatte auch mal jemand eine Frage dazu:
http://www.developia.de/forum/viewtopic ... 727#729727

Grüße

Re: Abstand von Object zur einem Polygon

Verfasst: 04.04.2010, 15:58
von Razorin
mein grund Problem bleibt leider immernoch wie kann ich aus einen Mesh die Einzelnen vertices und deren punkte abrufen und "fragen" welches von denen meinen Würfel am nähesten ist,

Re: Abstand von Object zur einem Polygon

Verfasst: 04.04.2010, 18:48
von jgl
Keine Ahnung wie die Struktur deines Meshes aussieht.
Aber vlt:
Gehe über alle Vertices, und Teste welche am nächsten an der Oberfläche/Terrain ist.

Re: Abstand von Object zur einem Polygon

Verfasst: 04.04.2010, 18:52
von Razorin
Das Mesh ist eine .X Datei die ich aus Cinema 4D Exportiert habe

Re: Abstand von Object zur einem Polygon

Verfasst: 04.04.2010, 21:07
von klickverbot
Mit welchem SDK/welcher Engine arbeitest du? Will sagen: Auf die Frage, wie die Modelldaten abgerufen werden können, gibt es keine allgemeingültige Antwort…

Re: Abstand von Object zur einem Polygon

Verfasst: 04.04.2010, 22:05
von Razorin
DirectX SDK Februar 2010
Mein Programm/Game ist für DirectX 9

Re: Abstand von Object zur einem Polygon

Verfasst: 05.04.2010, 15:13
von kimmi
Du könntest zum Beispiel dir die Boundingbox ermitteln lassen ( D3DXComputeBoundingBox ). Darin hast du nun zumindest in Richtung Terrain hin den maximal herausragenden Punkt / Vertex als Ecke deiner generierten BoundingBox. Als Ansatz kannst du das ja mal nachverfolgen. Ansonsten bietet dir das SDK da einige Funktionen an.

Gruß Kimmi

Re: Abstand von Object zur einem Polygon

Verfasst: 07.04.2010, 15:16
von Schrompf
Schau Dir mal in der D3DXMesh-Klasse die Intersect()-Funktion an. Die könnte Dir helfen.

Re: Abstand von Object zur einem Polygon

Verfasst: 10.04.2010, 12:17
von Razorin
Sorry hat die letzen tage keine zeit um weiter zu schreiben...

Die Intersect funktion kenne ich damit hab ich es geschaft das die kamera nicht durch den Boden geht aber wenn ich die für meine Kollision einsetze kommt nur ein fürterliches springen und wackeln bei rauß.
Ich schau mir mal weiter dieses DXUT an vlt. komm ich damit besser.