Ich mache gerade ein 2D-Tower-Defense-Spiel mit einer statischen, vorgegebenen Spur, der die Feinde folgen (dh Türme können den Pfad nicht blockieren, und die Pfadfindung ist nicht das Problem, das ich zu lösen versuche).
Ich versuche herauszufinden, wie genau Einheiten dieser Spur auf reibungslose Weise folgen können. Ich habe zwei grobe Ideen, wie das geht, aber ich würde gerne einen Input bekommen, der wahrscheinlich einfacher zu implementieren ist / die Standardtechnik. Oder natürlich, wenn es einen ganz anderen Weg gibt, den ich nicht in Betracht gezogen habe, würde ich auch gerne etwas darüber lernen.
Wegpunkte: Meine erste Idee war es, den Pfad als eine Reihe fest codierter Wegpunkte zu definieren. Einheiten würden dann einen grundlegenden "Such" -Lenkalgorithmus (wie diesen ) verwenden, um sich nacheinander zu jedem Wegpunkt entlang des Pfades zu bewegen. Ich habe mich jedoch gefragt, ob es schwierig sein könnte, die Einheiten davon abzuhalten, zu stark von der Fahrspur abzuweichen, der sie folgen sollen. Ich frage mich, ob die Unfähigkeit, scharf genug abzubiegen, dazu führen kann, dass sie aus der gewünschten Spur herausgleiten. Ich nehme an, ich könnte dies verhindern, indem ich eine relativ starke Lenkkraft zulasse.
Bezier-Kurven: Die zweite Lösung, die ich in Betracht gezogen habe, besteht darin, den Pfad mit einer Bezier-Kurve zu definieren und bei jedem Zeitschritt den Punkt entlang der Kurve zu berechnen, der (dt * Geschwindigkeit) vom aktuellen Standort des Geräts entfernt ist. Ich vermute, dass diese Technik es viel einfacher machen würde, den Pfad, dem Einheiten folgen werden, genau zu definieren, aber ich weiß nicht, wie ich dies genau umsetzen soll. Irgendwelche Vorschläge?
Ich weiß auch nicht, dass dies die Antworten anderer ändern wird, aber Einheiten müssen auch in der Lage sein, sich mit einer konstanten Geschwindigkeit auf dem Weg zu bewegen. Zusätzlich programmiere ich dieses Spiel in Python mit dem Pyglet-Framework.
Wenn etwas über die Frage unklar ist, lassen Sie es mich bitte wissen.
Bearbeiten: Auch für was auch immer es wert ist, ich versuche, das Bewegungsverhalten von Feinden im Kingdom Rush zu replizieren .