I’ve added three new steering examples (based, of course, off of Craig Reynolds’ Steering Behaviors for Autonomous Characters) to the nature of code tutorials. Ultimately, it’s my goal to build out all of Reynolds’ algorithms into a Processing library (much like Open Steer), so stay tuned. . .

   

Path Following
Flow Field
Crowd Path Following

I hope to have a new tutorial about the use of the PVector dot product in the path following examples posted in the next day or two as well.


2 Responses to “More Steering Examples”  

  1. 1 Jan Vantomme

    Thanks for the examples Daniel. These will be very useful.

  2. 2 Craig Reynolds

    Hi Daniel, these look great! Thanks for your efforts reimplementing steering behaviors in Processing. I’ll make a note about this over on the OpenSteer forum. I’ve been trying to keep a list of various ports, or reimplementation like this, into other languages. Python ports seem to be a hot topic these days.

    In your crowd path following I notice that they have a bit of trouble negotiating sharp corners in the path, and also sometimes go in the “wrong” direction along the path. As you say on http://www.shiffman.net/teaching/nature/path-following/ I got around these issues by projecting the vehicle’s future position onto the path spine, then advancing that point a bit along the path (by defining a signed “path coordinate”). In OpenSteer these variants are called steerToStayOnPath (like yours) and steerToFollowPath (the more focused version).

Leave a Reply