Estoy escribiendo una simulación en la que un objeto criatura debería ser capaz de moverse hacia algún otro objeto arbitrario en el entorno, deslizándose por obstáculos en lugar de hacer un pathfinding inteligente. No estoy tratando de tenerlo plan un camino - solo para moverse en una dirección general, y rebotar alrededor de los obstáculos.Pathfinding básico con evitación de obstáculos en un espacio 2D continuo
Es un entorno 2D (vista aérea), y cada objeto tiene un rectángulo delimitador para la detección de colisiones. No hay cuadrícula, y no estoy buscando una solución A *.
No he podido encontrar ningún tutorial sobre este tipo de pathfinding "tonto" basado en colisiones, por lo que podría no estar describiendo esto usando los términos más comunes.
¿Alguna recomendación sobre cómo implementar esto (o enlaces a tutoriales)?
En el lado negativo, debe tener un campo antigravedad que sea mayor que el objeto a evitar, de modo que comience a girar antes de que el vehículo se encuentre sobre el obstáculo. Por lo tanto, puedes tener una configuración donde obtienes una aceleración que va directamente contra la deseada (dos obstáculos frente a ti, cancelando cada aceleración lateral y anulando la aceleración hacia adelante a la meta) en el lado positivo, esto haría Trabaja bien contra obstáculos en movimiento. –
Mientras que dos obstáculos teóricamente pueden cancelarse entre sí, en la práctica eso es poco probable e inestable ... solo un pequeño cambio en la posición y te dejas llevar por el obstáculo. Si es un problema, puedes contrarrestarlo con ruido aleatorio. – Paul
La solución antigravedad parece una buena opción en mi caso. Es muy sencillo, y los cálculos son triviales. No necesito garantías de que los agentes alcanzarán los objetivos en el primer intento, por lo que está bien si se bloquean por obstáculos (aunque la aplicación ocasional de fuerzas extra al azar también podría resolver este problema). – kpozin