Ich versuche, ein Segelschiff an den Punkt zu bewegen, an dem ich mit der Maus geklickt habe. Diese Bewegung sollte realistisch sein (Ruder auf der Rückseite, auf der sich das Schiff bewegt). Wenn Sie also mit der linken Maustaste klicken und sich vor dem Schiff befinden, sollte sich das Schiff anschließend mit einem kurvigen Pfad dorthin bewegen, um die richtige Drehung zu erzielen
ich würde mich freuen wenn mir jemand bei diesem problem helfen könnte danke
unity
movement
movement-prediction
DavidT
quelle
quelle
Antworten:
Siehe diese Seite
quelle
Als einfache Lösung können Sie, wie bereits in einem Kommentar erwähnt, diesen Ansatz ausprobieren:
Betrachten Sie eine Phase, in der Sie das Schiff in die Zielrichtung richten. In dieser Phase wenden Sie eine Drehung auf den Schluck, aber auch eine Vorwärtsbewegung an. Wenn das Schiff bereits dem Ziel zugewandt ist, können Sie eine volle Vorwärtsgeschwindigkeit anwenden. Ich habe einen Test in love2d arrangiert, hier folgen Sie der Schiffsaktualisierung.
Die Beispiel - Animation zeigt (die letzte Schleife) ein Fall , in dem das Schiff nicht das Ziel erreichen kann, da die Kombination von Dreh- und Vorwärtsgeschwindigkeit definiert ein Wenderadius zu groß, in diesen Fällen kann das „Biene nützlich reduziert
turnForwordSpeed
es“ oder besser machen abhängig von winkelabstand (a
) und zielabstand.quelle
Unity Nav-Mesh-System, es würde wahrscheinlich tun, was Sie wollen, mit ein wenig herumspielen mit den Nav-Agent-Werten.
Nav Meshes sind ziemlich einfach zu bedienen. Und nur im Top-Down-Setup verwendbar (oder zumindest nur für x / z-Bewegungen verfügbar)
Unity-Handbuchseite zum Einrichten eines Navigationsnetzes
Grundsätzlich können Sie ein beliebiges Formnetz verwenden, um einen Navigationsbereich zu backen und Ihren Objekten Navigationsagenten hinzuzufügen, damit diese ihre Pfade um ein Navigationsnetz finden
quelle