I have a robust 3D flight router, and am currently in the process of expanding it, and am considering placing it on the asset store for $.99 or something. Here is a list of current/planned features:
Flight Volumes
- 3D volumes are defined by a trigger box collider, and you can have as many as you want in a scene
- You can recalculate all of part of the volume during runtime to allow dynamically moving objects
- You can define the layers that are considered impassible
- The volume is voxelized, the size of the voxels is customizable
- Links between volumes are automatically produced, allowing flight between areas
- Runtime baking or (planned) loading from a bake file.
- All features tied into the gizmo drawer so you can see you grid as you build it
Agents
- It Require a CharacterController to actually move agent
- Does greedy-first recursive pathfinding, good but not necessarily most optimized path
- Speed, acceleration, and momentum can be customized
- Flock behavior that tries to keep agents a customizable distance from each other
- Option to tilt the controller during acceleration
It works by voxelizing the volume inside the box collider, and raycasting to see if it can see it’s neighbors. It uses this information to come up with routes through the web, which contain all of the nodes in the path. The path is then optimized to remove any nodes that are just a continuation of the last, as well as cutting some corners if raycasting says that it’s okay.
The system is ideal for arial assets that have six degrees of freedom. Helicopters, drones… It’ll work fine for things like planes, but it might pull some high-g maneuvers.
Here is a scene that I am working on with 9 volumes in total. The green lines are the valid paths within the volumes, and the blue are valid paths between volumes.

