Skip to content

disasteroftheuniverse/zdoom-navmesh-generator

Repository files navigation

ZDoom Navigation Mesh Generator

image image Discord Support me on Patreon

image

Robust pathfinding for GZDoom. Automatically generate navigation meshes for use with zdoom-pathfinding.

Installation

First, you will need to install Node.js

Once Node.js is installed, clone this repository to your desired directory

You will need to run these commands from a command line utility like git bash or Windows PowerShell.

git clone https://github.com/disasteroftheuniverse/zdoom-navmesh-generator

Navigate to the main directory

cd zdoom-navmesh-generator

Install required dependencies

npm install

Once all dependencies are installed, launch the server:

npm run start

If successful, you will recieve a success message with links to the configuration menu and main application. Open the links in a web browser to enter the app.

Usage

Configuration

You must create a configuration file before generating a navigation mesh.

Nav Mesh Settings

image

Cell Size               - voxelization cell size 
Cell Height             - voxelization cell height
Agent Height            - Agent capsule  height
Agent Radius            - Agent capsule  radius
Agent Max Step Height   - how high steps agents can climb, in voxels
Agent Max Slope         - maximum slope angle, in degrees
Region Min Size         -  minimum isolated region size that is still kept
Region Merge Size       - how large regions can be still merged
Edge Max Length         - maximum edge length, in voxels
Edge Max Error          - how loosely the simplification is done

Select your level from the dropdown and press Load Level to preview your level.

Once you have customized your settings, press Build Navigation Mesh to build the mesh.

You may press Shut Down Server to terminate the express server process.

Excluding Regions

image

To exclude sectors from being used to generate nav meshes, you may apply the custom UDMF field user_nocast to a sector, set its type to Boolean and its value to true.

To exclude linedefs from being used to generate nav meshes, you may apply the custom UDMF field user_nocast to the linedef, set its type to Boolean and its value to true.

TODO

  • Support for obstacles
  • Support for Patrol Nodes
  • Custom off-mesh connections defined by things
  • Support for blocking lines

About

Generate Navigation Meshes for ZDoom

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages