Recast/Detour

I was wondering if anyone has had success integrating recast/detour into panda for complex navmesh creation and path finding? I am considering using this since the AI that is included with panda does not use height data.
Recast looks like it would be a great addition to panda since its open source. Is integration possible?

I have managed to find a tool that is a version of the recast demo that exports the navmesh as an .obj which I then imported into blender. I can then export that into an egg but I’m wondering if this mesh will be compatible with the panda ai or if I’ll have to manage some other method of using this mesh. Any ideas? I haven’t fine tuned the parameters for the navmesh so there are a few minor issues with it but its just a test.

Xidram and I once created a proof-of-concept implementation, it can be found in panda/src/navigation on panda3d_2_0_branch.

I have come across the code for the A3P game which is written by Evan Todd (et1337) using panda. He also wrote the tool which I used to create the navmesh obj. It seems like his method could be used in other games for pathfinding using the recast tool that he made to create the navigation mesh.

http://stainless.svn.sourceforge.net/viewvc/stainless/trunk/src/ai.py?view=markup

@rdb: How do I test your POC implementation? Do I have to get the whole 2.0 branch from CVS and compile? What is the functionality of this code?

Just grab that directory. It won’t compile with the current version of Recast and Detour, and it doesn’t really do much in terms of navigation, but it could be a start for anyone else implementing it.

Thanks,
I will take a look at it, even though I’m not much of a c++ coder. I suppose I need to hunker down and learn it better if I’m going to get the functionality that I need.

I have been messing with the recast tool and have created a 2 level test area with stairs. I will attempt to use this mesh for navigation to have npcs pathfind around it.
Here is a screenshot of the level model and navmesh. The navmesh was generated with default settings using the recast tool with obj export. Next I’ll get both of these meshes exported into an egg and get them into panda for some testing.

There’s no need to generate the navmesh beforehand, the RecastNavMesh class can automatically generate one when passed a PandaNode pointer.

Is this class a part of the current build? Is there any documentation on this class? I would love to learn more about generating the mesh from inside panda.

No, it’s not. It’s in panda3d_2_0_branch on CVS in panda/src/navigation. There is no documentation. The implementation in there is incomplete.