Ich versuche so etwas wie das folgende Bild zu bekommen. Wie Sie sehen können, gibt es eine Autobahn und im Inneren bewegen sich einige Objekte (Millisekunde). Ich denke, das Straßenverhalten ist wie eine Pipeline. Wenn die Autobahn ein Objekt lädt, erscheint es am Anfang und bewegt sich durch die Autobahn, bis es im anderen Extrem der Autobahn ankommt.
Mein Hauptproblem ist, wie kann ich mehrere Objekte nur innerhalb der Autobahn bewegen?
quelle
Sie benötigen eine Liste mit Punkten und eine Liste mit Luftballons
quelle
Wenn Sie eine Straße haben, die aus Kacheln mit einem einzigen Pfad besteht ("Pipeline", wie Sie es nannten), brauchen Sie keine Boids, Vermeidung, KI oder wirklich etwas ganz Besonderes. Lassen Sie einfach jeden Ballon in die natürliche Richtung der Straßenkachel bewegen. Wenn Sie beispielsweise ein Startplättchen mit nur einem Nicht-Sandplättchen zum Berühren haben, können Sie herausfinden, in welche Richtung Sie sich bewegen müssen - es ist die Richtung, die "nicht hier, nicht dort, wo ich war, und nicht Sand" ist. Da Ihre Straße nur zwei mögliche Strömungsrichtungen hat, löst der Algorithmus das Problem, sobald die Anfangsrichtung und die Kachel festgelegt sind.
Die Ballons scheinen einander zu folgen, einfach weil es nirgendwo anders gibt. Wenn sie sich alle mit konstanter Geschwindigkeit bewegen, sind keine Kollisionen möglich. Selbst wenn sie sich nicht mit konstanter Geschwindigkeit bewegen, kann das "nicht hier, nicht wo ich war und nicht Sand" angehängt werden "und sicherstellen, dass genügend Platz für mich vorhanden ist".
Sie können ein wenig verallgemeinern und das Bild der Kachel als Methode zum Extrahieren der Richtung verwenden. Zum Beispiel bedeutet ein L-förmiger Straßenstreifen entweder "Wenn Sie nach Süden fahren, dann biegen Sie nach Osten ab" oder "Wenn Sie nach Westen fahren, biegen Sie nach Norden ab".
Dieses System bricht zusammen, wenn Sie Entscheidungen treffen, dh es kann mehr als ein einzelner Pfad eingeschlagen werden, aber anhand Ihres Screenshots und der Beschreibung des Problems scheint dies kein Problem zu sein. Wenn dies für Ihre Anwendung erforderlich ist, sollten Sie auf jeden Fall in einen AI-zentrierten Ansatz investieren.
quelle