#jNavigation
Navigation for jMonkey Engine. It will be port for Recast Navigation by Mikko Mononen memon@inside.org. You can find original source code at https://github.com/memononen/recastnavigation .
##Description
###Recast module Members in this module are used to create mesh data that is then used to create Detour navigation meshes.
The are a large number of possible ways to building navigation mesh data. One of the simple piplines is as follows:
- Prepare the input triangle mesh.
- Build a Heightfield.
- Build a CompactHeightfield.
- Build a ContourSet.
- Build a PolyMesh.
- Build a PolyMeshDetail.
- Use the PolyMesh and PolyMeshDetail to build a Detour navigation mesh tile.
- initialize structure
- build or create structure
- Update the object as needed. (E.g. rasterizeTriangles)
- Use the object as part of the pipeline.
###Detour module Members in this module are used to create, manipulate, and query navigation meshes.
A navigation mesh based on tiles of convex polygons.
The navigation mesh consists of one or more tiles defining three primary types of structural data:
- A polygon mesh which defines most of the navigation graph. (See PolyMesh for its structure.)
- A detail mesh used for determining surface height on the polygon mesh. (See PolyMeshDetail for its structure.)
- Off-mesh connections, which define custom point-to-point edges within the navigation graph.
The general build process is as follows:
- Create PolyMesh and PolyMeshDetail data using the Recast build pipeline.
- Combine the source data into a NavMeshCreateParams structure.
- Create a tile data array using CreateNavMeshData().
- Allocate at NavMesh object and initialize it. (For single tile navigation meshes, the tile data is loaded during this step.)
- For multi-tile navigation meshes, load the tile data using NavMesh#addTile().
####Notes: This class is usually used in conjunction with the NavMeshQuery class for pathfinding. Technically, all navigation meshes are tiled. A 'solo' mesh is simply a navigation mesh initialized to have only a single tile. This class does not implement any asynchronous methods. So the Status result of all methods will always contain either a success or failure flag.