recastjs

A wrapper for the RecastDetour navigation library for node and the browser

Usage no npm install needed!

<script type="module">
  import recastjs from 'https://cdn.skypack.dev/recastjs';
</script>

README

Recast.js

A Javascript library to handle navigation meshes, in nodejs and the browser.

It embeds an Emscripten-compiled bundle of the RecastDetour navigation c++ library

Demo - Getting started - API

Build Status

What can I do with it ?

  • load any mesh in .obj format
  • compute and extract its navigation mesh with options
  • save this navigation mesh
  • load this blob without recompute it
  • find a random point guaranteed to be navigable
  • find the nearest path from one point to another
  • place obstacles with a radius
  • add agents on the navigation mesh
  • make them move with their own speed

Oh, that's a WebGL-Three.js-Babylon.js stuff ?

It is designed to work along a WebGL software but it's completely library agnostic. It only manages a mesh and its properties.

Tests

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.

Build

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

To update the build against the latest RecastDetour version, use make update-source build

Contribute

You are welcome to contribute by forking the project and send pull requests ! There are many areas where it could be improved.