10个版本 (5个重大更新)
0.12.1 | 2021年11月30日 |
---|---|
0.11.0 | 2021年11月28日 |
0.8.3 | 2021年5月20日 |
0.8.2 | 2020年2月17日 |
0.7.0 | 2019年11月23日 |
#1657 in 游戏开发
每月下载量109
用于 6 个库(直接使用2个)
110KB
3K SLoC
NavMesh

Rust的Nav-Mesh路径查找器
安装
Cargo.toml
[dependencies]
navmesh = "0.8"
示例
use navmesh::*;
let vertices = vec![
(0.0, 0.0, 0.0).into(), // 0
(1.0, 0.0, 0.0).into(), // 1
(2.0, 0.0, 1.0).into(), // 2
(0.0, 1.0, 0.0).into(), // 3
(1.0, 1.0, 0.0).into(), // 4
(2.0, 1.0, 1.0).into(), // 5
];
let triangles = vec![
(0, 1, 4).into(), // 0
(4, 3, 0).into(), // 1
(1, 2, 5).into(), // 2
(5, 4, 1).into(), // 3
];
let mesh = NavMesh::new(vertices, triangles).unwrap();
let path = mesh
.find_path(
(0.0, 1.0, 0.0).into(),
(1.5, 0.25, 0.5).into(),
NavQuery::Accuracy,
NavPathMode::MidPoints,
)
.unwrap();
assert_eq!(
path.into_iter()
.map(|v| (
(v.x * 10.0) as i32,
(v.y * 10.0) as i32,
(v.z * 10.0) as i32,
))
.collect::<Vec<_>>(),
vec![(0, 10, 0), (10, 5, 0), (15, 2, 5),]
);
依赖项
~9MB
~163K SLoC