一种游戏寻路方法和装置制造方法及图纸

技术编号:15243679 阅读:65 留言:0更新日期:2017-05-01 14:47
本发明专利技术公开了一种游戏寻路方法和装置。游戏寻路方法包括:获取游戏运行指令,从游戏地图文件中读取可行走区域数据,其中,游戏地图文件中预存有可行走区域数据;根据移动路径的寻找指令,获取所述移动路径的起点坐标和终点坐标,根据所述起点坐标、终点坐标和可行走区域数据确定所述移动路径。本发明专利技术解决了现有的寻路算法中计算路径碰撞点的性能较低的问题,根据游戏玩家发出移动路径的寻找指令中的起点坐标、终点坐标和预存的可行走区域数据确定移动路径,不仅提高了计算路径碰撞点的性能,而且利用预存可行走区域数据有效减少查找的多边形数据,从而减少了动态寻路的计算量,进而快速高效的得到游戏角色的移动路径。

Method and device for searching game

The invention discloses a method and a device for searching game. Game path finding method comprises the following steps: acquiring the game operation instructions, read data from a walkable area, the game map file the game map file stored walkable area data; according to the movement path to find instructions for the moving path of the starting point and end point coordinates, according to the coordinates of the starting point and end point coordinates and to determine the moving path walking area data. The invention solves the performance calculation of collision point path routing algorithm in the existing problem of low, according to a mobile game player path to find the coordinates of the starting point and end point coordinates and instructions stored in a walkable area data to determine the moving path, not only improve the computational performance of the path of the collision point, and use can be stored reduce the polygon data to find the traveling area data, thereby reducing the amount of calculation of dynamic routing, mobile path and quickly and efficiently get the game role.

【技术实现步骤摘要】

本专利技术实施例涉及计算机图形
,尤其涉及一种游戏寻路方法和装置。
技术介绍
随着游戏技术的发展,游戏地图做的越来越大,一个流畅高效的寻路实现能够带给玩家更好的用户体验。目前绝大部分游戏中的寻路主要有两种:一种是采用A*算法来计算的,这种方法能够计算出从一个点到另一个点的路线。然而该算法的性能与使用的场景大小有非常大的关系,场景非常大并且寻路距离非常远的情况下性能会急剧下降。另一种是采用一种多边形的寻路算法,该算法虽然能够比较快速的计算出寻路数据,但是计算碰撞点的性能会较低。
技术实现思路
本专利技术提供一种游戏寻路方法和装置,以解决现有的寻路算法中计算路径碰撞点的性能较低的问题。第一方面,本专利技术实施例提供了一种游戏寻路方法,包括:获取游戏运行指令,从游戏地图文件中读取可行走区域数据,其中,所述游戏地图文件中预存有所述可行走区域数据,所述可行走区域数据为对可行走区域配置数据进行预处理得到,所述可行走区域由至少一个多边形单元格组成;根据移动路径的寻找指令,获取所述移动路径的起点坐标和终点坐标,根据所述起点坐标、终点坐标和可行走区域数据确定所述移动路径。第二方面,本专利技术实施例还提供了一种游戏寻路装置,该装置包括:可行走区域数据获取模块,用于获取游戏运行指令,从游戏地图文件中读取可行走区域数据,其中,所述游戏地图文件中预存有所述可行走区域数据,所述可行走区域数据为对可行走区域配置数据进行预处理得到,所述可行走区域由至少一个多边形单元格组成;移动路径确定模块,根据移动路径的寻找指令,获取所述移动路径的起点坐标和终点坐标,根据所述起点坐标、终点坐标和可行走区域数据确定所述移动路径。本专利技术实施例根据游戏玩家发出移动路径的寻找指令中的起点坐标、终点坐标和预存的可行走区域数据确定移动路径,解决现有的寻路算法中,计算路径碰撞点的性能较低的问题。不仅提高了计算路径碰撞点的性能,而且利用预存可行走区域数据有效减少查找的多边形数据,从而减少了动态寻路的计算量,进而快速高效的得到游戏角色的移动路径。附图说明图1是本专利技术实施例一中的一种游戏寻路方法流程示意图;图2是本专利技术实施例二中的一种游戏寻路方法流程示意图;图3是本专利技术实施例三中的一种游戏寻路装置结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种游戏寻路方法流程示意图,本实施例可适用于游戏角色寻找移动路径的过程中情况,该方法可以由一种游戏寻路装置来执行,该装置可以由软件和/或硬件的方式来实现。如图1所示,该方法包括:S110、获取游戏运行指令,从游戏地图文件中读取可行走区域数据,其中,所述游戏地图文件中预存有所述可行走区域数据,所述可行走区域数据为对可行走区域配置数据进行预处理得到,所述可行走区域由至少一个多边形单元格组成。所述游戏运行指令可以是游戏开启指令。可行走区域配置数据为对游戏地图的具体信息,包括对地图地表、地图物体摆放和地图属性等信息配置数据,根据可行走区域配置数据生成游戏地图文件。所述游戏地图文件包括可行走区域数据和不可行走区域数据。游戏角色进行移动时仅可以在可行走区域中寻找路径。所述可行走区域数据用于存储所述可行走区域。这样的设置好处在于,游戏角色移动时的移动路径在可行走区域中选取,避免了与不可行走区域的碰撞。S120、根据移动路径的寻找指令,获取所述移动路径的起点坐标和终点坐标,根据所述起点坐标、终点坐标和可行走区域数据确定所述移动路径。移动路径的寻找指令通常由游戏玩家发出。移动路径的寻找指令包括移动路径的起点坐标、终点坐标和移动路径开始运算指令。移动路径计算指令用于驱动运算操作的开始。所述可行走区域多个多边形单元格覆盖形成,运算操作开始时,所述方法从起点所在的多边形单元格开始运算,并逐一对相关多边形单元格进行运算,进而获取到移动路径。本实施例的技术方案,根据游戏玩家发出移动路径的寻找指令中的起点坐标、终点坐标和预存的可行走区域数据确定移动路径,解决现有的寻路算法中,计算路径碰撞点的性能较低的问题。不仅提高了计算路径碰撞点的性能,而且利用预存可行走区域数据有效减少查找的多边形数据,从而减少了动态寻路的计算量,进而快速高效的得到游戏角色的移动路径。实施例二图2是本专利技术实施例二中的一种游戏寻路方法流程示意图,本实施例在实施例一的基础上,进一步阐述了可行走区域数据的生成操作,如图2所示,该方法包括:S210、获取所述可行走区域配置数据。所述可行走区域配置数据可以根据具体的游戏策划设定,通常通过用于编辑游戏中虚拟场景的工具软件获取,例如地图编辑器。S220、根据所述可行走区域配置数据获取所述可行走区域中每个多边形单元格的顶点数据和边数据。所述用于编辑游戏中虚拟场景的工具软件根据可行走区域配置数据生成游戏地图,所述游戏地图包括可行走区域和不可行走区域。游戏地图生成完成后,所述方法会获取可行走区域中每个多边形单元格的顶点数据和边数据。所述顶点数据包括顶点坐标和顶点间的关系。所述边数据包括多边形包括边的数量、每一条边的长度和边与多变形单元格的关系,例如是否属于多变形单元格的共用边、属于哪些多变形单元格的共用边等。进一步的,所述多边形单元格包括规则多边形单元格和不规则多边形单元格。S230、根据所述多边形单元格的顶点数据计算多边形单元格的重心坐标。重心坐标可以用于判断多边形单元格是否相邻。S240、根据可行走区域中每个多边形单元格的重心坐标和顶点数据进行计算,得到每个多边形单元格的相邻多边形单元格,并对每个多边形单元格的相邻多边形单元格分别做出相邻标识;具体的,获取两个多边形单元格的重心坐标,并计算两个重心坐标连线与所述多边形单元格中边的交点,当所述交点存在且仅有一个时,则判定这两个对边形为相邻多边形,并对每个多边形单元格的相邻多边形单元格分别做出相邻标识。S250、将所述可行走区域中每个多边形单元格的顶点数据、边数据、重心坐标和相邻标识作为可行走区域数据存储到所述游戏地图文件中。将顶点数据、边数据、重心坐标和相邻标识作为可行走区域数据存储到所述游戏地图文件的好处在于,在游戏运行中可直接获取与移动路径计算的相关信息,减少了运算量。S260、获取游戏运行指令,从游戏地图文件中读取可行走区域数据,其中,所述游戏地图文件中预存有所述可行走区域数据,所述可行走区域数据为对可行走区域配置数据进行预处理得到,所述可行走区域由至少一个多边形单元格组成;S270、根据移动路径的寻找指令,获取所述移动路径的起点坐标和终点坐标,根据所述起点坐标、终点坐标和可行走区域数据确定所述移动路径。进一步的,根据所述起点坐标、终点坐标和可行走区域数据确定所述移动路径包括:S271、根据所述起点坐标和所述可行走区域数据,获取起点所在的多边形单元格,并将其作为目标单元格;计算思路具体为:计算所述起点和坐标原点的连线与多边形单元格各个边的交点,当所述交点仅由一个且交点位置与单元格的顶点不重合时,则判断该多边形单元格为目标单元格。循环执行如下步骤,直到目标线段与目标单元格不存在相交点、或者不本文档来自技高网...

【技术保护点】
一种游戏寻路方法,其特征在于,包括:获取游戏运行指令,从游戏地图文件中读取可行走区域数据,其中,所述游戏地图文件中预存有所述可行走区域数据,所述可行走区域数据为对可行走区域配置数据进行预处理得到,所述可行走区域由至少一个多边形单元格组成;根据移动路径的寻找指令,获取所述移动路径的起点坐标和终点坐标,根据所述起点坐标、终点坐标和可行走区域数据确定所述移动路径。

【技术特征摘要】
1.一种游戏寻路方法,其特征在于,包括:获取游戏运行指令,从游戏地图文件中读取可行走区域数据,其中,所述游戏地图文件中预存有所述可行走区域数据,所述可行走区域数据为对可行走区域配置数据进行预处理得到,所述可行走区域由至少一个多边形单元格组成;根据移动路径的寻找指令,获取所述移动路径的起点坐标和终点坐标,根据所述起点坐标、终点坐标和可行走区域数据确定所述移动路径。2.根据权利要求1所述的游戏寻路方法,其特征在于,在所述从游戏地图文件中读取可行走区域数据之前,所述方法还包括:获取所述可行走区域配置数据;根据所述可行走区域配置数据获取所述可行走区域中每个多边形单元格的顶点数据和边数据;根据所述多边形单元格的顶点数据计算多边形单元格的重心坐标;根据可行走区域中每个多边形单元格的重心坐标和顶点数据进行计算,得到每个多边形单元格的相邻多边形单元格,并对每个多边形单元格的相邻多边形单元格分别做出相邻标识;将所述可行走区域中每个多边形单元格的顶点数据、边数据、重心坐标和相邻标识作为可行走区域数据存储到所述游戏地图文件中。3.根据权利要求2所述的游戏寻路方法,其特征在于,根据所述起点坐标、终点坐标和可行走区域数据确定所述移动路径,包括:根据所述起点坐标和所述可行走区域数据,获取起点所在的多边形单元格,并将其作为目标单元格;循环执行如下步骤,直到目标线段与目标单元格不存在相交点、或者不存在与所述目标单元格相邻的多边形单元格为止,其中,所述目标线段为所述移动路径的起点和终点的连线:a根据所述目标线段的起点坐标、终点坐标和所述目标单元格的顶点数据判断所述目标线段和所述目标单元格是否存在相交点,若不存在相交点,则将所述目标线段作为所述移动路径,若存在相交点,则将所述目标线段的起点和所述相交点的连线作为行走路段;b根据所述目标单元格的相邻多边形的标识数据判断是否存在与所述目标单元格相邻的多边形单元格,若是,则将所述待寻路径的起点更新为所述相交点、将所述目标单元格更新为与所述目标单元格相邻的多边形单元格,若否,则将获取到的至少一个行走路段作为所述移动路径。4.根据权利要求1-3任一项所述的游戏寻路方法,其特征在于,所述多边形单元格包括规则多边形单元格和不规则多边形单元格。5.一种游戏寻路装置,其特征在于,包括:可行走区域数据获取模块,用于获取游戏运行指令...

【专利技术属性】
技术研发人员:刘璐
申请(专利权)人:北京像素软件科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1