从零开始学习导航网格#2 编译RecastNavigation

RecastNavigation是由Mikko Mononen大佬开发的导航寻路开源库,众多游戏引擎和ai项目的3D寻路都是基于这个库(比如Unity、Unreal等)
在今后的一段日子里我会学习这个库的代码,并将它应用到ycgame的游戏项目中
下面我们开始从github上搬运RecastNavigation

1.从github下载RecastNavigation项目:https://github.com/recastnavigation/recastnavigation

2.下载SDL2的源码(不要用1.x版本,recastdemo会编译不过),将解压后的文件夹放到RecastNavigation/RecastDemo/Contrib/目录下(目录名如果是SDL-2.xx需要改名为SDL)
recast中的图形化demo程序会用到sdl的库,如果纯粹的把导航网格接入自己的项目是不需要sdl的

3.编译SDL/VisualC/目录下的sdl工程(debug+win32模式编译)

4.在SDL目录新建lib/x86目录,放入编译出来的SDL2.dll、SDL2.lib、SDL2main.lib

5.修改include为Include(与recastdemo工程的include目录一致)

6.下载Premake工具:https://premake.github.io/download.html

7.将premake5.exe拷贝到工程目录RecastNavigation/RecastDemo/下,cmd命令行进入此目录,
执行premake.exe vs2015 premake5.lua (根据自己装的vs版本)
生成解决方案在RecastNavigation/RecastDemo/build/目录下

8.编译recastnavigation项目,理论上这里不再需要做额外的修改,在\RecastDemo\Bin目录生成执行文件RecastDemo.exe
找到执行文件运行,就可以看到这样一个界面


demo程序

注意右侧的选项框,在Sample中选择Solo Mesh,在Input Mesh中选择nav_test.obj,就可以将样例地图加载进来,再点击右侧的build,导航网格就生成了。


生成导航网格

鼠标左键和shift+左键可以选择寻路的目标点和起始点

你可能感兴趣的:(从零开始学习导航网格#2 编译RecastNavigation)