一种游戏场景中的路径拟合方法及装置制造方法及图纸

技术编号:25741164 阅读:21 留言:0更新日期:2020-09-25 20:54
本发明专利技术实施例提供了一种游戏场景中的路径拟合方法及装置,其中,所述的方法包括:获取所述游戏场景中的多个关键路点;根据所述多个关键路点确定多条分段路径;对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点;根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点。使得通过分段的方式对关键路点进行处理,可以保证所得的寻路路径的误差在可控范围内,同时,通过对分段路径间的拐角进行平滑处理,避免拐角过小的路点中,寻路路径太突兀,避免虚拟对象在该位置前进时不顺畅,表现过于机械。

【技术实现步骤摘要】
一种游戏场景中的路径拟合方法及装置
本专利技术涉及游戏
,特别是涉及一种游戏场景中的路径拟合方法,以及一种游戏场景中的路径拟合装置。
技术介绍
在游戏领域,玩家以及怪物的行进路线的计算以及显示是一个重要的问题。首先,在游戏场景中布置的用于寻路的关键路点是不均匀的,特别是一些野外场景中的关键路点非常稀疏,所以,需要利用已有的路点在小地图上均匀显示,用于怪物或者玩家寻路指引。另外,在人工智能领域,给定几个关键路点,怎么让机器人更加流畅且合乎常理地前进是一个重要的课题,为了降低路径可达性计算消耗的性能,通常给定的点集是一些稀疏的关键路点。如果单纯地在这些关键路点上面设置位置,会导致采用设置的这些位置来寻路的机器人表现得非常突兀而不顺畅。因此,需要对这些关键路点进行进一步的指引并且均匀,然后再让机器人在这些点集上面行进。目前,解决这类路径指引计算与显示问题,通常使用一般的线性拟合或者指数拟合方法。具体就是,根据给定的点集拟合出一条经过所有点的线性函数。然后根据拟合出的线性函数,扩充点集。然而,这种方法对于路径的拟合有一些明显的缺陷:多项式拟合需要确定拟合幂函数次数;另外还需要考虑误差,例如,路线往往是多样化的,可能会回头,交叉等等,因此,利用拟合的方法来扩充点集局限性非常大。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种游戏场景中的路径拟合方法和相应的一种游戏场景中的路径拟合装置。本专利技术实施例公开了一种游戏场景中的路径拟合方法,包括:获取所述游戏场景中的多个关键路点;根据所述多个关键路点确定多条分段路径;对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点;根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点。可选地,还包括:采用所述目标拟合路点和目标关键路点,生成寻路路径;控制所述游戏场景中的虚拟对象按照所述寻路路径前进。可选地,所述对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点,包括:依次从所述多条分段路径中确定待操作的分段路径;计算所述待操作的分段路径中的插值步长;根据所述插值步长对所述待操作的分段路径进行插值,得到所述待操作的分段路径中的多个拟合路点。可选地,所述计算所述待操作的分段路径中的插值步长,包括:计算所述待操作的分段路径的长度;根据所述待操作的分段路径的长度和预设数量,确定待操作的分段路径中的插值步长。可选地,所述根据所述插值步长对所述待操作的分段路径进行插值,得到所述待操作的分段路径中的多个拟合路点,包括:根据所述插值步长,确定所述待操作的分段路径中每一个点对应的拟合路点的位置;其中,所述拟合路点的位置与所述拟合路点在所述待操作的分段路径上,对应点的位置的误差不超过预设误差。可选地,所述根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点,包括:依次从所述多个关键路点中确定待处理的关键路点;根据所述各分段路径中的多个拟合路点,确定所述待处理的关键路点对应的两条分段路径间的拐角的角度;当所述两条分段路径间的拐角的角度小于预设角度时,从所述两条分段路径中,确定与所述待处理的关键路点邻近的一对或多对拟合路点;从两条分段路径对应的多个拟合路点中,删除所述邻近的一对或多对拟合路点得到目标拟合路点;计算所述邻近的一对或多对拟合路点的中点;采用所述中点替换所述待处理的关键路点,得到目标关键路点。可选地,所述根据所述多个关键路点确定多条分段路径,包括:依次按照预设方向确定所述多个关键路点中的两个关键路点;根据所述两个关键路点生成分段路径。本专利技术实施例还公开了一种游戏场景中的路径拟合装置,包括:关键路点获取模块,用于获取所述游戏场景中的多个关键路点;分段路径确定模块,用于根据所述多个关键路点确定多条分段路径;分段路径插值模块,用于对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点;平滑处理模块,用于根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点。可选地,所述装置还包括:寻路路径生成模块,用于采用所述目标拟合路点和目标关键路点,生成寻路路径;寻路控制模块,用于控制所述游戏场景中的虚拟对象按照所述寻路路径前进。可选地,所述分段路径插值模块,包括:分段路径确定子模块,用于依次从所述多条分段路径中确定待操作的分段路径;插值步长计算子模块,用于计算所述待操作的分段路径中的插值步长;路点插值子模块,用于根据所述插值步长对所述待操作的分段路径进行插值,得到所述待操作的分段路径中的多个拟合路点。可选地,所述插值步长计算子模块,包括:长度计算单元,用于计算所述待操作的分段路径的长度;插值步长计算单元,用于根据所述待操作的分段路径的长度和预设数量,确定待操作的分段路径中的插值步长。可选地,所述路点插值子模块,包括:拟合路点的位置确定单元,用于根据所述插值步长,确定所述待操作的分段路径中每一个点对应的拟合路点的位置;其中,所述拟合路点的位置与所述拟合路点在所述待操作的分段路径上,对应点的位置的误差不超过预设误差。可选地,所述平滑处理模块,包括:关键路点确定子模块,用于依次从所述多个关键路点中确定待处理的关键路点;拐角的角度确定子模块,用于根据所述各分段路径中的多个拟合路点,确定所述待处理的关键路点对应的两条分段路径间的拐角的角度;拟合路点确定子模块,用于当所述两条分段路径间的拐角的角度小于预设角度时,从所述两条分段路径中,确定与所述待处理的关键路点邻近的一对或多对拟合路点;拟合路点删除子模块,用于从两条分段路径对应的多个拟合路点中,删除所述邻近的一对或多对拟合路点得到目标拟合路点;中点计算子模块,用于计算所述邻近的一对或多对拟合路点的中点;关键路点替换子模块,用于采用所述中点替换所述待处理的关键路点,得到目标关键路点。可选地,所述分段路径确定模块,包括:关键路点确定子模块,用于依次按照预设方向确定所述多个关键路点中的两个关键路点;分段路径生成子模块,用于根据所述两个关键路点生成分段路径。本专利技术实施例还公开了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本专利技术实施例所述的一个或多个的方法。本专利技术实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本专利技术实施例所述的一个或多个的方法。本专利技术实施例包括以下优本文档来自技高网...

【技术保护点】
1.一种游戏场景中的路径拟合方法,其特征在于,包括:/n获取所述游戏场景中的多个关键路点;/n根据所述多个关键路点确定多条分段路径;/n对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点;/n根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点。/n

【技术特征摘要】
1.一种游戏场景中的路径拟合方法,其特征在于,包括:
获取所述游戏场景中的多个关键路点;
根据所述多个关键路点确定多条分段路径;
对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点;
根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平滑处理,得到目标拟合路点和目标关键路点。


2.根据权利要求1所述的方法,其特征在于,还包括:
采用所述目标拟合路点和目标关键路点,生成寻路路径;
控制所述游戏场景中的虚拟对象按照所述寻路路径前进。


3.根据权利要求1所述的方法,其特征在于,所述对所述多条分段路径进行插值,得到各分段路径中的多个拟合路点,包括:
依次从所述多条分段路径中确定待操作的分段路径;
计算所述待操作的分段路径中的插值步长;
根据所述插值步长对所述待操作的分段路径进行插值,得到所述待操作的分段路径中的多个拟合路点。


4.根据权利要求3所述的方法,其特征在于,所述计算所述待操作的分段路径中的插值步长,包括:
计算所述待操作的分段路径的长度;
根据所述待操作的分段路径的长度和预设数量,确定待操作的分段路径中的插值步长。


5.根据权利要求3所述的方法,其特征在于,所述根据所述插值步长对所述待操作的分段路径进行插值,得到所述待操作的分段路径中的多个拟合路点,包括:
根据所述插值步长,确定所述待操作的分段路径中每一个点对应的拟合路点的位置;其中,所述拟合路点的位置与所述拟合路点在所述待操作的分段路径上,对应点的位置的误差不超过预设误差。


6.根据权利要求1所述的方法,其特征在于,所述根据所述各分段路径中的多个拟合路点,对所述多条分段路径间的拐角进行平...

【专利技术属性】
技术研发人员:吴家宏冯帆
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

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

1