2 个版本
0.1.1 | 2019年5月6日 |
---|---|
0.1.0 | 2019年4月25日 |
#7 在 #recast
107 每月下载量
1.5MB
30K SLoC
recast-detour-rs —
本项目不会且不会成为完整的 Recast & Detour 库。
本项目执行以下操作:
- 为
Detour
查询添加一个非常简单的 C-api。 - 提供一个实际的 Rust crate 以提供更好的使用 (
recast-detour-rs
) - 一个增强的 obj 文件格式读取器,用于从文件中读取 NavMesh
- Unity NavMesh 导出器的演示实现
基本用法
#[cfg(test)]
mod tests {
use super::*;
use insta::*;
fn simple_mesh() -> NavMeshData {
let vertices = vec![
0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 10.0, 0.0, 10.0, 0.0, 0.0, 10.0,
];
let indices = vec![0, 1, 2, 0, 2, 3];
NavMeshData {
vertices,
indices,
walkable_height: 0.2,
walkable_radius: 0.2,
walkable_climb: 0.2,
cell_size: 0.1,
cell_height: 0.1,
}
}
#[test]
fn test_simple_path() {
assert_eq!("0.0.1", version());
let mesh = simple_mesh();
let q = RecastQuery::new_from_mesh(mesh).unwrap();
let p = q
.find_path((0.2, 0.1, 0.4).into(), (0.8, 0.1, 0.5).into(), 0.2)
.unwrap();
assert_debug_snapshot_matches!(p, @r###"Point(
[
0.29999924,
0.0,
0.29999924
]
)"###);
}
}