InfiniteSky
InfiniteSky copied to clipboard
Implement a grunt task to take obj files and turn them into tilecache files.
We have made some obj's that can be found in the navigation_mesh archive on the fruit salad branch here. https://github.com/LiamKarlMitchell/InfiniteSky/blob/InfiniteSky_FruitSalad/FruitSalad/Data/navigation_mesh.rar
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 https://github.com/vincent/recast.js
Recast's API can be found here but there are some undocumented things. https://github.com/vincent/recast.js/wiki/API
Part 1: The grunt task should be able to make a tilecache from the obj's some example code is here. https://github.com/vincent/recast.js/blob/f.load.save/tools/make-tilecache
Please see other grunt tasks for an example on how to code the task skeleton.
// this may be required
npm install -g grunt-cli
For talks on navmesh caching/saving see https://github.com/vincent/recast.js/issues/9
If interested, nav obj's were created first with a script to dump them from WM then a program to limit the polys. https://docs.google.com/document/d/1TLX8mAcPRLdz4WIq_lkbNQckFZxQG-KLsaIV8wr-CxU/edit
Part 2:
Create a test script that will load a navmesh tile and get some coords / paths from A to B. Would be cool if this can be shown/proven with their browser demo but not a requirement. (Or just draw the path with line tool in some 3D package to verify and put a screen shot here)
Part 3 would be making a grunt task to generate the OBJ from the games WM files. Ane has a script somewhere to help (i have it too but can't remember where I put it sigh it will be in my downloads folder somewhere i guess)
Part 4: would be configuring actor settings for monster sizes. (Different radius should not go over a gap that is too small etc)