Steve Exploring Stuff: A Quick Death and Building a Sample Pack


A Quick Death and Building a Sample Pack

I was just browsing the Unity roadmap for 2011.  Oh look!  Navigation mesh generation, pathfinding, and local steering is planned for version 3.5!  The fact they they are adding built-in pathfinding isn't a big surprise.  They've been advertising for AI programmers for a while now, and the first task for AI is almost always pathfinding.  What I'm surprised at is that we may get it by the end of the year.

So, CAINav may have a lifespan of only about 6 months.  At least in Unity.  Luckily, most of my reasons for creating CAINav still apply.  For example, it has been a great project for becoming comfortable with C++, .NET/C++ interop, and Unity plug-in development.

Don't worry, I'm not halting work on CAINav.  Even if it dies with Unity 3.5 I still need its functionality now.  And there is still a lot of good exploration and personal training benefit to continuing development.

On that front, I've been experimenting with CrowdManager. (Local steering.)  It is nice.  When I add animation and locomotion, the agents look quite natural.  Better locomotion handling, such as the ability to side-step and back away, rather than just turning, and it will look great.

The big thing to remember about CrowdManger is that it isn't a silver bullet.  It is one part of the navigation puzzle and has its limits.  Don't succumb to the temptation to just add agents, set targets, and expect it to do everything for you.

It won't do long distance planning.  You will need to implement that separately. In my prototype I plan the long distance path, perform a partial string-pull, then feed CrowdManager a target several waypoints out from the agent's current location.

You also have to build in some edge case handling, such as when slow moving agents meet head on at corners.  They can block each other.

And remember, CrowdManager isn't meant to be used with large crowds.  The goal is to support up to 20 agents in a moderately complex environment, and that seems to be working out.

If you want to see CrowdManger in action, it is available in the new SamplePack.  This is how I'll release most demo's, tutorials, and samples in the future; packaged together in one download.

The demo allows you to add up to 25 agents to the scene and watch their behavior as they wander around at different speeds.  Clicking on an agent will toggle it's debug visualizations.  So you can see the world as CrowdManger see's it.

Still no sample code I'm afraid.  Beside the fact that I am still learning the best ways of using CAINav, there are some licensing and format issues I need to figure out for the models, animations, and support code.

Enjoy the new demo, and stay away from Arizona.


No comments:

Post a Comment