5个版本
0.2.0 | 2023年5月3日 |
---|---|
0.1.3 | 2019年5月6日 |
0.1.2 | 2019年5月6日 |
0.1.1 | 2019年5月6日 |
0.1.0 | 2019年4月25日 |
#2 in #recast
每月下载 239 次
24KB
596 代码行
recast-detour-rs —
本项目不是也不会是一个完整的Recast & Detour库。
本项目完成以下工作
- 为
Detour
查询添加一个非常简单的c-api。 - 提供了一个真正的Rust包,以提供更好的使用 (
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
]
)"###);
}
}
依赖关系
~1.6–3.5MB
~81K SLoC