A Javascript library to handle navigation meshes, in nodejs and the browser.
It embeds an Emscripten-compiled bundle of the RecastDetour navigation c++ library
- load any mesh in .obj format
- compute and extract its navigation mesh with options
- find a random point garanteed to be navigable
- find the nearest path from one point to another
- add agents on the navigation mesh
- make them move with their own speed
It is designed to work along a WebGL software but it's completely library agnostic. It only manages a mesh and its properties.
Some tests exist in the tests directory. They describe regular usages of the library, and should pass both in node (npm test) and in the browser. There are both simple and worker versions.
It supposes you already have a working emscripten toolchain installed. You can also define your paths in the Makefile.
The Emscripten build can be ran with
make build
You are welcome to contribute by forking the project and send pull requests ! There are many areas where it could be improved.
- the C++ Recast part is roughly borrowed from different posts from the google group and the github source
- the navigation mesh is currently rebuilt every time