Skip to content

Obstacle avoidance pathfinding

Peter-Noble edited this page Oct 26, 2016 · 1 revision

To properly implement obstacle avoidance I see two possible options:

Ray cast

http://www.red3d.com/cwr/steer/Containment.html

Advantages:

  • Very simple implementation (similar to existing channels)

  • Relatively cheap to include moving obstacles. Might not be that helpful though as a moving obstacle is likely to be small and so using sound with predictive steering will produce better results.

Disadvantages:

  • Concave obstacles could cause agents to get stuck.

  • More effort by the user to use this data.

Navigation mesh

http://gamedevevacademic.tumblr.com/post/69849130309/ai-pathing

https://github.com/recastnavigation/recastnavigation

Advantages:

  • Obstacle avoidance and path finding come together.

  • Avoiding complex shapes is done "intelligently". ie won't get stuck in concave obstacles.

  • The process of creating navigation meshes could be automated.

  • High poly obstacles have the same impact on runtime as low poly.

Disadvantages:

  • Requires creation of navigation mesh (which, at least to begin with, would be the responsibility of the user).

If you are a python coder and want to help, send me an email [here] (mailto:johnroper100@gmail.com) and tell me what you can do. I would be glad to have your help.

Clone this wiki locally