Played a bit more with Recast. It rocks so far.
I wonder if I could use the Recast nav-mesh with PathEngine?? Sounds like best of both worlds if Detour has some limitations. For example I don’t know yet if it handles dynamic obstacles very well.
The world is cut into several regions connected by portals. I think I will end up generating one nav-mesh per region. Then if a pathfinding query goes from point Pa in region Ra to point Pb in region Pb, I can always split the query into several sub-queries: first from Pa to the portal connecting Ra and Rb, then from the portal to Pb. Or maybe Recast’s “tiled” mode can do the trick directly.
Not sure how to handle moving platforms yet.
August 22nd, 2009 at 12:36 am
The preferred way to handle dynamic objects in Recast&Detour is to use the tile navmesh and regenerate a tile when something changes there. The demo app does not have an example of this yet, but some people have implemented this already: http://yak32.blogspot.com/
The tiled navmesh is cut into square tiles, so it may not fit into your portal regions. Though, the tile mesh supports adding and removing tiles at runtime, so you can create streaming using it, if you only want to keep certain parts of the navmesh in memory.
Detour will include steering around moving obstacles later this year.
In case Recast and Detour turn out to be too immature for your needs for now, I think PathEngine supports several automatic mesh preprocessing methods.
August 22nd, 2009 at 7:51 am
Interesting, I didn’t know that PathEngine had added mesh pre-processing methods. In the (old) version I’m using, artists have to create nav-meshes manually. I have to investigate this.
In any case I’d still prefer using Recast overall, just to be able to open-source the project at some point. Thanks for the feedback in any case!