All Projects → darbycostello → Nav3D

darbycostello / Nav3D

Licence: MIT license
3D Pathfinding and cover system plugin for UE4, using Sparse Voxel Octrees.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
C#
18002 projects

Projects that are alternatives of or similar to Nav3D

path planning GAN
Path Planning using Generative Adversarial Network (GAN)
Stars: ✭ 36 (-37.93%)
Mutual labels:  navigation, pathfinding
modio-ue4-legacy
Unreal Engine 4 Plugin for integrating mod.io - a modding API for game developers
Stars: ✭ 83 (+43.1%)
Mutual labels:  ue4, ue4-plugin
Awesome Unreal Engine 4
UE4/UE5 Ressources Collection (Plugins, Effects, Doc, Tools, etc...)
Stars: ✭ 153 (+163.79%)
Mutual labels:  ue4, ue4-plugin
PsData
Flexible data model plugin for Unreal Engine 4
Stars: ✭ 34 (-41.38%)
Mutual labels:  ue4, ue4-plugin
UT Framework
Various advanced tools built for Unreal Engine 4
Stars: ✭ 45 (-22.41%)
Mutual labels:  navigation, ue4
WakaTimeForUE4
As all the other versions of Wakatime plugins for Unreal Engine lead to blank repos, I decided to make a plugin that actually has some code in it.
Stars: ✭ 26 (-55.17%)
Mutual labels:  ue4, ue4-plugin
DualSenseWindows UE4
Unreal Engine 4 port of the Windows API for the PS5 DualSense controller created at Ohjurot/DualSense-Windows
Stars: ✭ 25 (-56.9%)
Mutual labels:  ue4, ue4-plugin
surfacer
AI and pathfinding for 2D-platformers in Godot.
Stars: ✭ 56 (-3.45%)
Mutual labels:  navigation, pathfinding
AnimationPreviewer
Plug-in for previewing Animation Asset
Stars: ✭ 39 (-32.76%)
Mutual labels:  ue4, ue4-plugin
VaFogOfWar
A clear and simple solution of Fog of War for Unreal Engine 4
Stars: ✭ 136 (+134.48%)
Mutual labels:  ue4, ue4-plugin
LivePP
A UE4 plugin wrapper for Molecular Matter's Live++ Hot-Reloading Library
Stars: ✭ 105 (+81.03%)
Mutual labels:  ue4, ue4-plugin
UE4-Noise-BlueprintLibrary
UE4 plugin: Noise Blueprint Function Library
Stars: ✭ 25 (-56.9%)
Mutual labels:  ue4, ue4-plugin
Uinavigation
A UE4 plugin designed to help easily make UMG menus navigable by mouse, keyboard and gamepad
Stars: ✭ 88 (+51.72%)
Mutual labels:  navigation, ue4
tsu
TypeScript plugin for Unreal Engine 4
Stars: ✭ 62 (+6.9%)
Mutual labels:  ue4, ue4-plugin
CLF reactive planning system
This package provides a CLF-based reactive planning system, described in paper: Efficient Anytime CLF Reactive Planning System for a Bipedal Robot on Undulating Terrain. The reactive planning system consists of a 5-Hz planning thread to guide a robot to a distant goal and a 300-Hz Control-Lyapunov-Function-based (CLF-based) reactive thread to co…
Stars: ✭ 21 (-63.79%)
Mutual labels:  navigation, pathfinding
UE4-BYGLocalization
Simple CSV localization system for Unreal Engine 4
Stars: ✭ 54 (-6.9%)
Mutual labels:  ue4, ue4-plugin
UE4-Kdtree
UE4 Plugin: k-d tree
Stars: ✭ 48 (-17.24%)
Mutual labels:  ue4, ue4-plugin
uesvon
3D navmesh generation and pathfinding plugin for UnrealEngine
Stars: ✭ 165 (+184.48%)
Mutual labels:  navigation, pathfinding
VaKawaseBlur
Fast and furious Kawase blur implementation for Unreal Engine 4
Stars: ✭ 37 (-36.21%)
Mutual labels:  ue4, ue4-plugin
RyansUE4Helpers
Extremely helpful helper functions for developing Blueprint and C++ projects in Unreal Engine.
Stars: ✭ 55 (-5.17%)
Mutual labels:  ue4, ue4-plugin

Nav3D for Unreal Engine

Nav3D banner image

Nav3D is a navigation and cover system plugin for UE4, using Sparse Voxel Octrees to provide pathfinding solutions and associated queries within a full 3D volume. It comprises a number of modular components and does not rely on UE4's other systems, such as Navmesh, AI or Behaviour Trees. This allows you greater flexibility in solving the 3D pathfinding problems for your particular project.

This is a work in progress and part of a wider project I'm working on. For professional projects I'm sure you're already aware of the commercially available SVO solution for UE4, which may better suit your needs. This project was put together as part of my own learning and project development.

Features Overview

  • Nav3D Volume actor - set the size and minimum voxel scale. The software will calculate everything else to achieve the required level of detail.
  • Navigation data can be built from any collision channel (e.g. World Static) within editor and then saved with the level.
  • Nav3D actor component can be added to any actor, providing Blueprints-accessible pathfinding tasks that are executed as asynchronous tasks, away from the main game thread.

Nav3D Blueprints nodes

  • Pathfinding (Greedy A*) supports Manhattan and Euclidean heuristics and includes a path pruning method to remove extraneous path points. In addition you can apply Catmull-Rom smoothing for better-looking paths which don't deviate from their calculated locations.
  • Pathfinding attempts to find the closest accessible locations to the requested start and end points, preventing the majority of pathfinding failures.
  • Nav3D Occlusion component can be added to any actor allowing it to be used as a dynamic obstacle within the navigation system. When the actor moves, its occlusion data is regenerated on the fly and again this is performed asynchronously, away from the game thread.

Occlusion component in action

  • Generate a cover map along with the navigation, which maps the normals of each occluded surface voxel to one of 26 directions, (or if you like math, the faces of a rhombicuboctahedron). This is then used by the Nav3D component in fast async queries, to find the best hiding spots from a single opponent, or from multiple actors.

Cover map generaton

  • Combine the cover system with the Nav3D Occlusion component to provide cover spots on moving actors.

Cover map used with Nav3D Occlusion component

  • Nav3D Modifier Volume can be added to modify the path costs of a given region, for example to create less preferable areas for pathfinding. Modifiers can also invalidate any cover locations, to mark hazardous areas.
  • Extensive debug drawing both in editor and in-game for octree layers, occluded voxels, traversable edges, Morton codes, navigation paths and cover map locations. This is all centralised and run from a single method in the Nav3d Volume.

Nav3D debug drawing with Morton codes

Limitations & Future Work

  • While a Nav3D component will use whatever Nav3D Volume it finds itself within, there is currently no support for travelling between separate volumes, or how the pathfinding will be performed at each end. This is in the development roadmap.
  • The system does not perform any interceptions or trajectory calculations in order to provide pathfinding to moving targets. This is also intended to be implemented in future versions and will likely tie into the Nav3D component owner's movement.
  • The plugin does not take care of any steering or path-following mechanics. It is minimally designed as an environment query and plotting system. Likewise, there is no intention to integrate it with UE4's AI component, EQS or Blackboard (which I personally don't use). Instead I encourage you to integrate it with your own systems and steering behaviours, as required. I'm also working separately on a 3D RVO avoidance plugin and PID controllers for steering and path-following.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].