3D Pathfinding
Übersicht

![]() |
Kernle 32DLLBetreff: 3D Pathfinding |
![]() Antworten mit Zitat ![]() |
---|---|---|
Huhu ^^
Ich hoffe es ist das richtige Forum ![]() Die Sache ist die: Ich hab überlege seit ein paar Tagen schon was ich für eine Pathfindig-Routine für Terrains (o.ä.) programmieren müsste. Im 2D berreich gibt es ja schon viele gute Pathfinding Routinen, aber im 3D bereich hab ich nichts dergleiches gefunden. Mein Hauptproblem ist dabei das der PC selbst sich errechnen soll ob er auf eine Stelle auf dem Terrain gehen kann. Also wenn die Neigung z.b. zu hoch ist, ist diese Stelle unpassierbar. Ich dneke diesen beiden Bilder beschreiben ganz gut was das Problem ist... Falls möglich hatte ich mir auch Gedanken gemacht ob man nicht sogar so weit gehen könnte und die maximalneigung von der länge der Einheit abhängig machen könnte (bis einen bestimmten Winkel wo nichts und niemand hoch kommt) Alles in allem wäre es bisher eine evt. schwere, aber schaffbare Aufgabe (für mich). Was die Sache aber so verkompliziert das ich damit nicht mehr klar komme (und damit von B3D abdrifte) ist die Sache, das ich nicht mit groß-eckigen Terrainfeldern arbeiten will. Das Terrain soll recht detailiert sein... So... lange reder kurzer Sinn... Ich brauche Hilfe bei einem durch mehrere Aspekte verkomplizierten 3D Pathfinding problem ^^ Grüßle: Kernle |
||
Mein PC: "Bluelight" - Xtreme Gamer PC [Video]
Meine Projekte: Cube-Wars 2010 [Worklog] Anerkennungen: 1. Platz BCC #7 , 1. Platz BCC #22 , 3. Platz BAC #89 Ich war dabei: NRW Treff III, IV ; Frankfurter BB Treffen 2009 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Grundlegend macht man das eigentlich weniger so.
Was du machst ist ein Node Grid übers Terrain zu legen. Dies erzeugt "Tiles" dann auf deinem Terrain. Ab da läuft es dann prinzipiell wie in 2D: A* Dieses Grid optimiert man danach. zB Bereiche die zu Steil sind werden rausgenommen, an anderen orten werden punkte zusammen gefasst, wenn die Maps grösser sind nutzt man HPA* (Multi Level A*) und andere Techniken Für die direkte "Umgebungsawareness" nutzt man dann Sensoren (-> häufig LinePick in 3 - 5 Richtungen in Bewegungsrichtung. zb 0°, 20° und 40° auf beide Seiten), so das man nicht in dynamische Dinge reinfährt oder in Dinge die vom Nodegrid nicht beachtet werden sollen. In deinem Fall mit der Steigung liese sich dies explizit mit den Sensoren und PickedNormalY() lösen, da die Länge von Normal Y vom Winkel der Oberfläche abhängt (Sinus des Winkels) Hoffe das hilft dir. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier ,das wäre bestimmt das richtige für dich .
Beispiel für eine schnelle Weg Suche die ein Gefälle zum Ziel aufbaut . https://www.blitzforum.de/foru...highlight= |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group