Skip to content

RelativeNull/babylon-navigation-mesh

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Babylon-navigation-mesh

NPM version

Demo

A toolkit to navigate on a mesh with BABYLON.js. Largely inspired by PatrolJS for ThreeJS.

Babylon-navigation-mesh is a path finder for AI agents. It use the A star and Funnel algorithms to calculate a path on a navigation mesh.

Usage

Add the npm package babylon-navigation-mesh to your project:

npm install babylon-navigation-mesh --save

or clone:

git clone git@github.com:wanadev/babylon-navigation-mesh.git
npm install 
npm run build

then

var Navigation = require("babylon-navigation-mesh");

And create your object and the associated graph:

var navigation = new Navigation();
var scene = engine.scene;

var navmesh = scene.getMeshByName("Navmesh");
var zoneNodes = navigation.buildNodes(navmesh);
navigation.setZoneData('scene', zoneNodes);

To calculate the path :

var zone = navigation.getGroup('scene', agentPosition);
var path = navigation.findPath(agentPosition, dest, 'scene', zone);

And to project a position on the navmesh:

var newPosition = navigation.projectOnNavmesh(this.position, 'scene', navigation.getGroup('level', this.position));

An article is available to create and use a navigation mesh here (french)

Demo

About

A library to move on navigation mesh with BABYLON.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.1%
  • HTML 0.9%