forked from nickjanssen/PatrolJS
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnodedemo.js
More file actions
33 lines (21 loc) · 799 Bytes
/
nodedemo.js
File metadata and controls
33 lines (21 loc) · 799 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var patrol = require('./patrol.js');
var THREE = require('three');
var fs = require('fs');
var file = __dirname + '/demo/meshes/level.nav.js';
var player = {
position: new THREE.Vector3(-3.5, 0.5, 5.5)
};
fs.readFile(file, 'utf8', function (err, data) {
if (err) {
console.log('Error: ' + err);
return;
}
var jsonLoader = new THREE.JSONLoader();
var levelMesh = jsonLoader.parse(JSON.parse(data), null);
var zoneNodes = patrol.buildNodes(levelMesh.geometry);
patrol.setZoneData('level', zoneNodes);
var playerNavMeshGroup = patrol.getGroup('level', player.position);
var targetPosition = patrol.getRandomNode('level', playerNavMeshGroup);
var calculatedPath = patrol.findPath(player.position, targetPosition, 'level', playerNavMeshGroup);
console.log(calculatedPath);
});