11 releases (4 breaking)
new 0.11.0 | Dec 9, 2024 |
---|---|
0.10.2 | Oct 2, 2024 |
0.10.0 | Sep 27, 2024 |
0.9.0 | Sep 24, 2024 |
0.7.1 | Mar 9, 2024 |
#976 in Game dev
1,960 downloads per month
Used in hammerspace
2.5MB
1.5K
SLoC
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 | avian#e23d070e |
0.14 | 0.10 | 0.1 |
0.13 | 0.7 | x |
Dependencies
~47–82MB
~1.5M SLoC