[发明专利]一种寻路方法和装置有效
申请号: | 201710032048.4 | 申请日: | 2017-01-17 |
公开(公告)号: | CN106730841B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 肖敏 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | A63F13/56 | 分类号: | A63F13/56 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 宋子良 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 方法 装置 | ||
本发明公开了一种寻路方法和装置。其中,该方法包括:采用了将地图离散化为格子,其中,格子为多个;将预存路径投射到格子中得到至少一个投射路径点,其中,投射路径点为预存路径经过的格子;从至少一个投射路径点中查找靠近寻路起点和/或终点的投射路径点,其中,靠近起点的投射路径点为第一路径点,以及靠近终点的投射路径点为第二路径点;构造起点到第一路径点之间起点路径,构造第二路径点到终点的终点路径,构造第一路径点和第二路径点之间的路点路径;根据起点路径、终点路径和路点路径生成从起点到终点的路径。通过本发明现有的寻路方法在寻路时所存在的问题,提供了一种与现有技术不同的寻路方案。
技术领域
本发明涉及地图寻路技术领域,具体而言,涉及寻路方法和装置。
背景技术
目前的手机游戏市场中,一般使用寻路的方法有两种:格子寻路、网格寻路,基本基于A*寻路算法,网格寻路需要地形的多边形数据,这些方法都力求于做到最优路径。如今的手机游戏寻路方案中,主要有格子寻路、网格寻路、路点寻路。
格子寻路,是指寻出来的路径是固定几个方向的(通常是8方向或者4方向)需要将整个地图划分成若干大小相同的格子。
网格寻路,是指在凸多边形集合里寻找路径,这种方法利用了凸多边形里仍以两点相连也不会穿越自身边界的特性。
路点寻路,是指在地图里布满路点,通过dijkstra等寻找出路径,从其中一个路点到另外一个路点。
上述的几个现有主流游戏中的寻路方案,均有其特性,通常针对不同应用场景来选用不同方案,几个方案有不足之处:
格子寻路得到的路径是固定方向的集合,会使得游戏中的人物移动不自然。而且在贪婪算法下得到的,只是格子地图里的较优或最优解,但是现实中可以朝不同方向,而不限于格子寻路中规定的8个方向或者4个方向。
网格寻路利用了凸多边形,而网格的绘制可以利用大型三维场景的地形来做,生成寻路网格比较方便,而寻路算法的耗时也较少,利用多边形顶点来搜索路径。但是这种方法,通常会使路径沿顶点、沿边,对于路径有一些主观需求的,会变得被动。比如说,在同一个狭窄的通道中,往往不能要求通过的路径是从通道中间穿过,而是根据起点与目标点,有可能贴近其中一边。
路点寻路可以解决上述问题,但是在大范围的地图里,需要布置大量的点。对于需求更改较为频繁、需要微调的游戏开发来说,不太合适。
发明内容
本发明提供了寻路方法和装置,以解决现有的寻路方法在寻路时所存在的问题。
根据本发明实施例的一个方面,提供了一种寻路方法,包括:将地图离散化为格子,其中,所述格子为多个;将预存路径投射到所述格子中得到至少一个投射路径点,其中,所述投射路径点为所述预存路径经过的格子;从所述至少一个投射路径点中查找靠近寻路起点和/或终点的投射路径点,其中,靠近所述起点的投射路径点为第一路径点,以及靠近所述终点的投射路径点为第二路径点;构造所述起点到所述第一路径点之间起点路径,构造所述第二路径点到所述终点的终点路径,构造所述第一路径点和所述第二路径点之间的路点路径;根据起点路径、终点路径和路点路径生成从所述起点到所述终点的路径。
进一步地,将预存路径投射到所述格子中得到至少一个投射路径点之后,从所述至少一个投射路径点中查找第一路径点和第二路径点之前,进行以下步骤:判断所述起点和所述终点之间的连线是否通过有阻挡属性的所述格子,在判断结果为否的情况下,直接将所述起点和所述终点之间的连线作为所述路径,不再进行所述寻路方法的后续步骤;其中,所述阻挡属性用于根据阻挡数据指示每个格子是否有障碍物,所述阻挡数据包括所述地图中的障碍物的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710032048.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:游戏数据处理方法以及装置
- 下一篇:一种高强度易溃散压铸型芯及其制备方法