4个稳定版本
1.0.3 | 2024年1月11日 |
---|---|
1.0.2 | 2023年9月30日 |
1.0.1 | 2023年5月6日 |
1.0.0 | 2023年5月1日 |
#1695 在 游戏开发
被 3 个 crate 使用
1.5MB
40K SLoC
recastnavigation-sys
recastnavigation的原始Rust绑定,包括Recast、Detour、DetourCrowd和DetourTileCache。
crate 结构
这些是recastnavigation中所有库的原始FFI绑定。每个库都通过具有相应名称的功能标志来启用
recast
-> Recastdetour
-> Detourdetour_crowd
-> DetourCrowddetour_tile_cache
-> DetourTileCache
除了库功能标志外,还有“额外功能”。目前,这些是
detour_large_nav_meshes
- 启用64位dtPolyRefs,允许Detour(及其依赖项)有更大的导航网格。注意这意味着Detour周围的包装器应该知道dtPolyRefs可以有不同的大小,或者具有对预期dtPolyRef大小的静态断言,或者确保您的包装器可以处理两种dtPolyRef大小。
查找与供应商
默认情况下,此crate将首先使用pkgconfig查找recastnavigation。如果找不到recastnavigation,此crate将从recastnavigation目录(即供应商)构建它。
要始终供应商,请将环境变量中的 RECAST_VENDOR=true
设置为true。这不会搜索系统安装的recastnavigation,而是始终从crate中的源构建recastnavigation。
要永不供应商,请将环境变量中的 RECAST_NO_VENDOR=true
设置为true。这将搜索系统安装的recastnavigation,如果缺失,则构建此crate将失败。注意这优先于 RECAST_VENDOR=true
。
版本控制
遗憾的是,recastnavigation
没有固定的发布流程。首先这意味着从 pkgconfig 中要求特定版本是不可靠的——希望编译错误会清楚地表明 recastnavigation
已过时。其次,这个crate的版本号并不能真正追踪 recastnavigation
的版本。目标是使用语义版本控制来跟踪 recastnavigation
的变更,尽管实际上并不是 recastnavigation
的每个提交都对应这个crate的一个版本。如果需要,应该通过问题报告来请求提升 recastnavigation
的版本。
许可证
在 MIT 许可证 下授权。这并不扩展到 recastnavigation 目录,该目录包含 recastnavigation 项目的内容(作为一个Git子模块)。