Estoy tratando de obtener algo como la imagen de abajo. Como puede ver, hay una carretera y dentro de ella, habrá algunos objetos en movimiento (milisegundos). Supongo que el comportamiento de la calle es como una tubería. Cuando la carretera carga un objeto, aparece al principio y se moverá a través de la carretera hasta que llegue al otro extremo de la carretera.
Mi principal problema es, ¿cómo puedo mover varios objetos solo dentro de la carretera?
fuente
Necesitas una lista de puntos y una lista de globos
fuente
Si tiene un camino formado por mosaicos con un solo camino ("tubería" como lo llamó), entonces no necesita boids, evitación, IA, o realmente algo súper especial. Solo haga que cada globo se mueva en la dirección natural de la loseta del camino. Por ejemplo, dado un mosaico inicial con solo un mosaico que no sea de arena para tocar, puede determinar qué dirección mover: es la dirección que "no está aquí, no donde estaba, y no arena". Dado que su camino tiene solo dos posibles direcciones de flujo, una vez que se establecen la dirección inicial y el mosaico, el algoritmo resolverá el problema.
Los globos parecerán seguirse entre sí simplemente porque no hay otro lugar a donde ir. Si todos se mueven a una velocidad constante, entonces no hay colisiones posibles. Incluso si no se mueven a una velocidad constante, el "no aquí, no donde estaba, y no arena" se puede tener "y asegúrese de que haya suficiente espacio para mí".
Podría generalizar un poco y utilizar la imagen del mosaico como método de extracción de dirección. Por ejemplo, una franja de carretera en forma de L significa "si va hacia el sur, luego gire hacia el este" o "si va hacia el oeste, gire hacia el norte".
Este sistema se descompone cuando toma una decisión, es decir, más de un camino que se puede tomar, pero de su captura de pantalla y descripción del problema, eso no parece ser un problema. Si es un requisito para su aplicación, definitivamente invierta en un enfoque más centrado en la inteligencia artificial.
fuente