从零开始学习导航网格#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+左键可以选择寻路的目标点和起始点
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天精读日课的内容是标签效应。 标签效应:我们本能的容易根据自己爱好或从言行中给自己或他人贴上自己...
    Demi瑶瑶阅读 679评论 0 1
  • 又见禾木 人生总会遇到各种意想不到的事情,就如我从未想到...
    允能萤火虫阅读 383评论 5 2
  • 別急別急 轉角處轉眼長大 轉瞬握不住彼此 放在心裡的那份愛 轉來轉去轉到天涯 都不哭 要習慣孤獨成性 是風中受...
    瓶子時光阅读 80评论 0 3