Ich schreibe eine Simulation, in der ein Kreaturobjekt sich auf ein beliebiges anderes Objekt in der Umgebung bewegen und Hindernisse umgehen kann, anstatt eine intelligente Wegfindung durchzuführen. Ich versuche nicht, es Plan einen Weg zu haben - nur um in eine allgemeine Richtung zu bewegen, und hüpfe um Hindernisse herum.Grundlegende Wegfindung mit Vermeidung von Hindernissen in einem kontinuierlichen 2D-Raum
Es ist eine 2D-Umgebung (Overhead-Ansicht), und jedes Objekt hat ein begrenzendes Rechteck für die Kollisionserkennung. Es gibt kein Raster und ich suche keine A * -Lösung.
Ich konnte keine Tutorials zu dieser Art von "dummer" kollisionsgestützter Pfadfindung finden, daher beschreibe ich das vielleicht nicht mit den gebräuchlichsten Begriffen.
Irgendwelche Empfehlungen zur Implementierung (oder Links zu Tutorials)?
Auf der Minus-Seite müssen Sie ein Anti-Schwerkraft-Feld haben, das größer als das zu vermeidende Objekt ist, so dass Sie zu drehen beginnen, bevor Sie Fahrzeug auf dem Hindernis ist. So können Sie eine Konfiguration haben, bei der Sie eine Beschleunigung erhalten, die direkt gegen die gewünschte geht (zwei Hindernisse vor Ihnen, jede Querbeschleunigung abbrechen und die Vorwärtsbeschleunigung auf das Ziel überschreiben). auf der Plusseite, dies würde arbeiten Sie gut gegen bewegliche Hindernisse. –
Während sich zwei Hindernisse theoretisch gegenseitig aufheben können, ist das in der Praxis unwahrscheinlich und instabil ... nur eine kleine Positionsänderung und Sie werden um das Hindernis herum gezogen. Wenn es ein Problem ist, können Sie es mit Zufallsrauschen kontern. – Paul
Die Antigravitationslösung scheint in meinem Fall eine gute Option zu sein. Es ist sehr einfach und die Berechnungen sind trivial. Ich benötige keine Garantien, dass die Agenten die Ziele beim ersten Versuch erreichen, also ist es in Ordnung, wenn sie durch Hindernisse blockiert werden (obwohl gelegentliche Anwendung zufälliger zusätzlicher Kräfte dieses Problem ebenfalls lösen könnte). – kpozin