-
Notifications
You must be signed in to change notification settings - Fork 54
Home
This plugin provides 3D navmesh generation, and pathfinding capabilities in UnrealEngine. It uses an octree data structure for the navigation data, and an A*-based pathfinding algorithm.
The plugin is based on the article "3D Flight Navigation Using Sparse Voxel Octrees" by Daniel Brewer in Game AI Pro 3, and his related GDC talk.
Game AI Pro 3 - Flight Navigation Using Sparse Voxel Octrees
GDC Vault - Getting Off The Navmesh
The plugin is in alpha state. It is working and you can use it now, but there may be some bugs. If you find any, please create an Issue.
Some code needs cleaning up, and a profiling/optimization pass. While in alpha state, I may break the API. If you stick to using the gameplay/BT tasks you shouldn't have any problems though.
- Install the plugin (either in your project or engine Plugins/ folder)
- Enable Gameplay Tasks in your Project Settings
- Add an SVONVolume to your level (this is the navigable bounds)
- Add a SVONNavigationComponent to your AI Controller
- Call the task AI Task AITask_SVONMoveTo, or Behavior Tree Task SVON Move To
- Install the plugin (either in your project or engine Plugins/ folder)
- Add an SVONVolume to your level (this is the navigable bounds)
- Create an instance of SVONPathFinderSettings (see here for settings)
- Create an FSVONNavPathSharedPtr to a new FSVONNavigationPath
- Create an instance of SVONPathFinder, passing an SVONVolume, and SVONPathFinderSettings in the constructor
- Use the static method SVONMediator::GetLinkFromPosition to find valid SVONLinks (for your start and end position)
- Call SVONPathFinder::FindPath, passing in the arguments you created in previous steps.