Abstand von Object zur einem Polygon
Abstand von Object zur einem Polygon
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
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
- kimmi
- Moderator
- Beiträge: 1412
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Abstand von Object zur einem Polygon
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
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
[Edit]
Nach Überlegung, gabe ich meinen Post gelöscht.
War, denke ich, nicht richtig.
:oops:
[/Edit]
Nach Überlegung, gabe ich meinen Post gelöscht.
War, denke ich, nicht richtig.
:oops:
[/Edit]
Zuletzt geändert von jgl am 04.04.2010, 12:12, insgesamt 3-mal geändert.
Re: Abstand von Object zur einem Polygon
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
Bei Developia hatte auch mal jemand eine Frage dazu:
http://www.developia.de/forum/viewtopic ... 727#729727
Grüße
http://www.developia.de/forum/viewtopic ... 727#729727
Grüße
Re: Abstand von Object zur einem Polygon
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
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.
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
Das Mesh ist eine .X Datei die ich aus Cinema 4D Exportiert habe
-
- Establishment
- Beiträge: 191
- Registriert: 01.03.2009, 19:22
- Echter Name: David N.
Re: Abstand von Object zur einem Polygon
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
DirectX SDK Februar 2010
Mein Programm/Game ist für DirectX 9
Mein Programm/Game ist für DirectX 9
- kimmi
- Moderator
- Beiträge: 1412
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Abstand von Object zur einem Polygon
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
Gruß Kimmi
- Schrompf
- Moderator
- Beiträge: 5162
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Abstand von Object zur einem Polygon
Schau Dir mal in der D3DXMesh-Klasse die Intersect()-Funktion an. Die könnte Dir helfen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: Abstand von Object zur einem Polygon
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.
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.