# detour **Repository Path**: wangchao-y/detour ## Basic Information - **Project Name**: detour - **Description**: 用go语言实现的寻路查询工具,适用于navmesh 及普通的2D,3D 网格寻路 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-12-03 - **Last Updated**: 2022-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # detour #### 介绍 用go语言实现的寻路查询工具库,适用于navmesh 及普通的2D,3D 正方形格子网格寻路。 参考开源的C++寻路库recastnavigation,只实现基础的寻路功能,将寻路逻辑与地图数据管理解耦。 使用者需要实现自己的地图数据管理器,可以是导航网格navmesh,也可以是基于正方形格子grid的2D,3D寻路 #### 使用说明 1. 创建自己的地图数据管理器,实现DtNavMesher接口 2. A*算法获取多边形节点,调用FindPath 3. 从多边形节点中选取入口点,并去掉拐点,两种方式 a.对于普通格子grid网格类型的管理器先调用FindSimplePath获取入口点(实际是每个网格的中心点)再调用FloydSmoothPath使用佛洛依德算法去拐点平滑路径 b.对于导航网格navmesh类型的管理器调用FindStraightPath获取入口点(漏斗算法) #### 参考 1. 开源的C++寻路库recastnavigation [https://github.com/recastnavigation/recastnavigation](https://github.com/recastnavigation/recastnavigation)