Expand description
§Navigation for Bevy with NavMesh
Navigation mesh for Bevy using Polyanya.
Check out the WASM demos
§Usage
§From a prebuilt NavMesh
Loading a mesh from a gLTF file, then building a NavMesh
from it and using it for getting paths. See gltf.rs and NavMesh::from_bevy_mesh
.
§From obstacle components
Spawn entities marked as obstacles, create the NavMesh live from them. See auto_navmesh_aabb and NavMeshUpdaterPlugin
.
§Example videos
Parameters for NavMesh generation
§Reading list
Pathfinding:
- Compromise-free Pathfinding on a Navigation Mesh: Fast and optimal path finding on a generalized navmesh
NavMesh building:
- Line Generalisation by Repeated Elimination of Points: Geometry simplification while keeping the general shape
- Constrained Delaunay Triangulation: Building a tri-mesh from edges
§To Implement
- Steering Behaviors For Autonomous Characters https://www.red3d.com/cwr/steer/
- A Generic Solution to Polygon Clipping https://dl.acm.org/doi/pdf/10.1145/129902.129906
- Polygon Offsetting by Computing Winding Numbers https://mcmains.me.berkeley.edu/pubs/DAC05OffsetPolygon.pdf
§Bevy Supported Versions
Bevy | vleue_navigator | avian |
---|---|---|
0.15 | 0.11.1 | 0.2 |
0.14 | 0.10 | 0.1 |
0.13 | 0.7 | x |
Modules§
- asset_
loaders - Asset loaders that can load a
NavMesh
from a file - prelude
- Prelude for imports
Structs§
- NavMesh
- A navigation mesh
- NavMesh
Debug - Controls wether to display a specific
NavMesh
with gizmos, and the color used. - NavMeshes
Debug - Controls wether to display all
NavMesh
es with gizmos, and the color used. - Path
- A path between two points.
- Transformed
Path - A path between two points, in 3D space, transformed using
NavMesh::transform
. - Triangulation
- An helper to create a
Mesh
from a list of edges and obstacle, using a constrained Delaunay triangulation. - Vleue
Navigator Plugin - Bevy plugin to add support for the
NavMesh
asset type.
Functions§
- display_
navmesh - System displaying navmeshes using gizmos for debug purposes.