Skip to content

QuietOne/jNavigation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#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:

  1. Prepare the input triangle mesh.
  2. Build a Heightfield.
  3. Build a CompactHeightfield.
  4. Build a ContourSet.
  5. Build a PolyMesh.
  6. Build a PolyMeshDetail.
  7. Use the PolyMesh and PolyMeshDetail to build a Detour navigation mesh tile.
The general life-cycle of the main classes is as follows:
  1. initialize structure
  2. build or create structure
  3. Update the object as needed. (E.g. rasterizeTriangles)
  4. 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:

  1. Create PolyMesh and PolyMeshDetail data using the Recast build pipeline.
  2. Combine the source data into a NavMeshCreateParams structure.
  3. Create a tile data array using CreateNavMeshData().
  4. Allocate at NavMesh object and initialize it. (For single tile navigation meshes, the tile data is loaded during this step.)
  5. 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.

About

Navigation for jMonkey Engine.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages