Flight volumes

Agents that fly or swim are not bound to the ground, so a navmesh does not describe where they may go. A flight volume (maul-nav/flight.h) does: each tile is a sparse voxel octree of the space a flier's center may occupy. It is baked from the same input as the navmesh, and streamed and committed the same way.

The def

mnavDefaultFlightDef gives 1 m voxels, tiles of 32 voxels, a volume from 0 to 64 m and a flier 0.5 m in radius. Then set:

mnavValidateFlightDef checks a def without making anything and names the first bad setting.

Baking and loading

Queries

Fliers avoid each other with mnavAvoidance_Avoid3D; see crowds.