RecastDemo的编译和运行
引言 在游戏开发、机器人仿真或任何需要3D空间路径寻找的领域中,Recast & Detour 库是当之无愧的行业标杆。它能够将复杂的3D场景转换为简明的导航网格,让智能体实现高效的路径规划。而 RecastDemo 正是其官方提供的、功能强大的可视化工具,可以直观地看到导航网格的生成过程并调整参数。
第一步:准备工作 – “备齐弹药”
在开始编译之前,我们需要准备好所有必要的工具和库。
1. 安装 Visual Studio 2022
- 操作: 下载并安装 Visual Studio Community 2022(免费且功能强大)。
- 关键: 在安装过程中,务必勾选“使用 C++ 的桌面开发”工作负载。这将安装 C++ 编译器 (MSVC)、CMake 工具和基本的 Windows SDK,这些都是编译所必需的。
2. 安装 CMake
- 操作: 从 CMake 官网下载并安装最新版本的 CMake。
- 关键: 在安装向导中,强烈建议勾选 “Add CMake to the system PATH for all users” 选项,这样你就可以在任意命令行中直接使用
cmake命令。(安装目录不要有空格)
3. 获取 SDL2 开发库
RecastDemo 使用 SDL2 来处理窗口创建、输入和基本渲染,我们需要它的开发文件。
- 操作:
- 访问 SDL2 官网下载页面。
- 找到
SDL2-devel-2.x.x-VC.zip 这样的文件(例如SDL2-devel-2.28.5-VC.zip),下载它。 - 将 ZIP 文件解压到一个你容易找到的目录,例如
D:\Libraries\SDL2-2.28.5。记住这个路径,我们后面会用到。
4. 获取 RecastNavigation 源代码
- 操作:
- 方法一(推荐使用 Git): 打开命令行,执行
git clone https://github.com/recastnavigation/recastnavigation.git - 方法二(直接下载): 在项目 GitHub 页面点击 “Code” -> “Download ZIP”,然后解压。
- 方法一(推荐使用 Git): 打开命令行,执行
至此,我们的“弹药”已备齐:
- 编译器: VS2022 中的 MSVC
- 构建系统生成器: CMake
- 图形库: SDL2 开发包
- 源代码: RecastNavigation
第二步:配置与生成 – “构建蓝图”
我们将使用 CMake 来生成适用于 VS2022 的解决方案文件。
- 创建构建目录: 在解压后的
recastnavigation源代码根目录下,创建一个名为build的新文件夹。这样做可以保持源代码目录的清洁(Out-of-source build)。 - 进入build目录 ,cmd 命令行执行如下命令 cmake .. -G “Visual Studio 17 2022″ -A x64 -DSDL2_INCLUDE_DIR=”E:/SDL2-2.30.12/include” -DSDL2_LIBRARY=”E:/SDL2-2.30.12/lib/x64/SDL2.lib” -DSDL2_SDLMAIN_LIBRARY=”E:/SDL2-2.30.12/lib/x64/SDL2main.lib” -DSDL2_RUNTIME_LIBRARY=”E:/SDL2-2.30.12/lib/x64/SDL2.dll” (注意替换SDL2安装的实际路径,我这里是E:/SDL2-2.30.12/)
- 如果编译成功,则会有类似下图的输出

第三步:编译 – “开始施工”
- 打开解决方案: 进入
build目录,双击打开RecastNavigation.sln。Visual Studio 2022 会自动启动。 - 设置启动项目: 在“解决方案资源管理器”中,找到
RecastDemo项目,右键点击它,选择 “设为启动项目”。 - 选择构建配置: 在上方的工具栏中,确保解决方案配置是
Debug 或 Release。Debug适合调试,Release性能更好。 - 编译并运行: 按下键盘上的
F5 键(或点击绿色的“开始调试”按钮)。Visual Studio 将开始编译整个解决方案。
!常见问题解决: 如果编译成功但运行时出现类似 “无法找到 SDL2.dll” 的错误,这是因为运行时需要动态链接库。
- 解决方法: 从你之前解压的 SDL2 开发目录(例如
D:\Libraries\SDL2-2.28.5\lib\x64)中找到SDL2.dll,将其复制到build\bin\Debug或build\bin\Release目录下(具体取决于你的构建配置)。然后再次运行程序。
第四步:探索与使用 RecastDemo – “驾驭工具”

启动RecastDemo.exe , 当黑色的 RecastDemo 窗口成功出现时,恭喜你!你已经成功了!

基本操作
- 鼠标:
- 左键拖拽: 旋转相机。
- 右键拖拽: 平移相机。
- 滚轮: 缩放。
- 键盘:
-
WASD: 像第一人称游戏一样移动相机。 - 空格键: 在选定区域生成导航网格。
-
L: 加载测试场景(如nav_test.obj)。 -
T: 切换显示/隐藏三角形网格。 -
P: 开始/停止角色移动测试。
-
核心功能体验
- 加载场景: 按下
L键,在弹出的文件选择框中,导航到源代码目录下的RecastDemo\Bin文件夹,选择nav_test.obj并打开。你会看到一个城堡的场景。 - 生成导航网格:
- 使用鼠标框选整个场景或一部分。
- 按下空格键。几乎瞬间,彩色的导航网格就会覆盖在场景上。
- 测试路径寻找:
- 在左侧面板中,确保
Tool 选中的是 Pathfind Follow。 - 在场景中先点击一个起点,再点击一个终点。
- 一条从起点绕开障碍物到达终点的路径就会显示出来。这正是 Recast & Detour 的核心能力!
- 在左侧面板中,确保
- 调整参数: 左侧面板有大量参数(如
Cell Size,Cell Height,Agent Radius等)。尝试修改它们并重新生成网格(按空格键),观察导航网格的细节和密度如何变化。这是学习导航网格生成艺术的绝佳方式。



