游戏建筑的寻路方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37136273 阅读:13 留言:0更新日期:2023-04-06 21:35
本发明专利技术涉及网络游戏技术领域,提供一种游戏建筑的寻路方法、装置、电子设备及存储介质。通过获取游戏建筑中每个组件的位置;并根据每个组件的位置生成游戏建筑的图数据,图数据包括多个组件之间的连通关系;然后根据预设算法和图数据进行路径规划,获得每个路径中全部途经组件的行走区域,得到每个行走区域集合;最后对于每个行走区域集合,根据行走区域集合中每个行走区域确定多个路径点获得对应的路线,得到每个行走区域集合对应的路线。通过采用与游戏建筑场景更贴合的图数据结构来存储组件之间的连通关系,降低计算的复杂度,从而提高了游戏的运行效率并优化了游戏体验。了游戏的运行效率并优化了游戏体验。了游戏的运行效率并优化了游戏体验。

【技术实现步骤摘要】
游戏建筑的寻路方法、装置、电子设备及存储介质


[0001]本专利技术涉及网络游戏
,具体而言,涉及一种游戏建筑的寻路方法、装置、电子设备及存储介质。

技术介绍

[0002]在网络游戏中,玩家可以使用游戏提供的组件自由地摆放来创造建筑。在建筑中可以寻路来为NPC(Non

Player Character,非玩家控制角色)提供行走的路线。目前通常使用导航网格(Navigation Mesh)这种数据结构来描述建筑中可行走的区域,如果玩家改变建筑的外观,采用导航网格进行寻路的计算过程复杂、会占用过多的计算资源、导致运行效率低并且会影响玩家的游戏体验。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种游戏建筑的寻路方法、装置、电子设备及存储介质。
[0004]为了实现上述目的,本专利技术采用的技术方案如下:
[0005]第一方面,本专利技术提供一种游戏建筑的寻路方法,所述方法包括:
[0006]获取游戏建筑中每个组件的位置;
[0007]根据每个所述组件的位置,生成所述游戏建筑的图数据,所述图数据包括多个组件之间的连通关系;
[0008]根据预设算法和所述图数据进行路径规划,获得每个路径中全部途经组件的行走区域,得到每个行走区域集合;
[0009]对于每个所述行走区域集合,根据所述行走区域集合中每个行走区域确定多个路径点获得对应的路线,得到每个所述行走区域集合对应的路线。
[0010]在可选的实施方式中,所述组件包括地基组件、层板组件和斜顶组件;
[0011]所述根据每个所述组件的位置,生成所述游戏建筑的图数据的步骤,包括:
[0012]将任意一个所述地基组件作为目标地基组件;
[0013]根据所述目标地基组件的位置,得到所述目标地基组件的全部连通组件;其中,所述目标地基组件的全部连通组件包括与所述目标地基组件连通的每个地基组件、每个层板组件和每个斜顶组件;
[0014]遍历每个所述地基组件,得到每个所述地基组件的全部连通组件;
[0015]根据每个所述地基组件的全部连通组件,生成所述游戏建筑的图数据。
[0016]在可选的实施方式中,所述组件还包括墙壁组件;一个所述组件属于所述游戏建筑中的一个体素;
[0017]所述根据所述目标地基组件的位置,得到所述目标地基组件的全部连通组件的步骤,包括:
[0018]将所述目标地基组件上方的体素作为第一体素,并获取每个预设方向;
[0019]对于每个所述预设方向,若所述第一体素在所述预设方向上不存在所述墙壁组件,则将所述第一体素在所述预设方向上相邻的体素作为第二体素和将所述预设方向作为所述第二体素对应的目标方向,得到每个第二体素及其对应的目标方向;
[0020]根据每个所述第二体素及其对应的目标方向,确定所述目标地基组件在每个所述目标方向上的所有连通组件,得到所述目标地基组件的全部连通组件。
[0021]在可选的实施方式中,所述根据每个所述第二体素及其对应的目标方向,确定所述目标地基组件在每个所述目标方向上的所有连通组件的步骤,包括:
[0022]将任意一个所述第二体素作为目标体素和将所述目标体素对应的目标方向作为待处理方向,并将与所述待处理方向相对的方向作为参考方向;
[0023]获取位于所述目标体素上方的第三体素,若所述第三体素在所述参考方向上无所述墙壁组件且存在所述斜顶组件,则得到第一连通组件;
[0024]若所述目标体素在所述参考方向上无所述墙壁组件且存在所述斜顶组件,则得到第二连通组件;
[0025]若所述目标体素在所述参考方向上无所述墙壁组件且所述目标体素中存在所述层板组件,则得到第三连通组件,并将所述第一连通组件、所述第二连通组件和所述第三连通组件作为所述目标地基组件在所述待处理方向上的所有连通组件;
[0026]若所述目标体素在所述目标方向上无所述墙壁组件且所述目标体素中存在所述地基组件,则得到第四连通组件,并将所述第一连通组件和所述第四连通组件作为所述目标地基组件在所述待处理方向上的所有连通组件;
[0027]遍历每个所述第二体素,得到所述目标地基组件在每个所述目标方向上的所有连通组件。
[0028]在可选的实施方式中,所述行走区域集合中全部行走区域按照预设行走顺序排列;
[0029]所述根据所述行走区域集合中每个行走区域确定多个路径点获得对应的路线的步骤,包括:
[0030]从所述行走区域集合中获取首行走区域和尾行走区域,并将所述首行走区域的中心点作为起点和将所述尾行走区域的中心点作为终点;
[0031]按照所述预设行走顺序,根据每个所述行走区域确定从所述起点至所述终点的每个拐角点,得到全部路径点;全部路径点包括所述起点、所述终点和每个所述拐角点;
[0032]按照所述预设行走顺序依次连接每个所述路径点,获得所述行走区域集合对应的路线。
[0033]在可选的实施方式中,所述行走区域包括两个出口端点;
[0034]所述根据每个所述行走区域确定从所述起点至所述终点的每个拐角点的步骤,包括:
[0035]将所述首行走区域作为第一目标区域和将所述起点作为参考点;
[0036]连接所述参考点与所述第一目标区域的两个出口端点得到两个参考线段;
[0037]获取所述第一目标区域的后一个行走区域得到第二目标区域;
[0038]获取所述第二目标区域的两个出口端点得到两个待定点;
[0039]判断所述两个待定点中是否存在位于所述两个参考线段所覆盖区域之外的目标
点;
[0040]若存在所述目标点且所述第二目标区域非所述尾行走区域,则将靠近所述目标点的参考线段中的出口端点作为所述拐角点,并将所述拐角点作为所述参考点和将所述第二目标区域作为所述第一目标区域后,重复执行上述连接所述参考点与所述第一目标区域的两个出口端点得到两个参考线段的步骤,直至所述第二目标区域为所述尾行走区域得到每个所述拐角点;
[0041]若不存在所述目标点且所述第二目标区域非所述尾行走区域,则将所述第二目标区域作为所述第一目标区域后,重复执行上述获取所述第一目标区域的后一个行走区域得到第二目标区域的步骤,直至所述第二目标区域为所述尾行走区域得到每个所述拐角点。
[0042]第二方面,本专利技术提供一种游戏建筑的寻路装置,所述装置包括:
[0043]获取模块,用于获取游戏建筑中每个组件的位置;
[0044]生成模块,用于根据每个所述组件的位置,生成所述游戏建筑的图数据,所述图数据包括多个组件之间的连通关系;
[0045]规划模块,用于根据预设算法和所述图数据进行路径规划,获得每个路径中全部途经组件的行走区域,得到每个行走区域集合;
[0046]寻路模块,用于对于每个所述行走区域集合,根据所述行走区域集合中每个行走区域确定多个路径点获得对应的路线,得到每个所述行走区域集合本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种游戏建筑的寻路方法,其特征在于,所述方法包括:获取游戏建筑中每个组件的位置;根据每个所述组件的位置,生成所述游戏建筑的图数据,所述图数据包括多个组件之间的连通关系;根据预设算法和所述图数据进行路径规划,获得每个路径中全部途经组件的行走区域,得到每个行走区域集合;对于每个所述行走区域集合,根据所述行走区域集合中每个行走区域确定多个路径点获得对应的路线,得到每个所述行走区域集合对应的路线。2.根据权利要求1所述的方法,其特征在于,所述组件包括地基组件、层板组件和斜顶组件;所述根据每个所述组件的位置,生成所述游戏建筑的图数据的步骤,包括:将任意一个所述地基组件作为目标地基组件;根据所述目标地基组件的位置,得到所述目标地基组件的全部连通组件;其中,所述目标地基组件的全部连通组件包括与所述目标地基组件连通的每个地基组件、每个层板组件和每个斜顶组件;遍历每个所述地基组件,得到每个所述地基组件的全部连通组件;根据每个所述地基组件的全部连通组件,生成所述游戏建筑的图数据。3.根据权利要求2所述的方法,其特征在于,所述组件还包括墙壁组件;一个所述组件属于所述游戏建筑中的一个体素;所述根据所述目标地基组件的位置,得到所述目标地基组件的全部连通组件的步骤,包括:将所述目标地基组件上方的体素作为第一体素,并获取每个预设方向;对于每个所述预设方向,若所述第一体素在所述预设方向上不存在所述墙壁组件,则将所述第一体素在所述预设方向上相邻的体素作为第二体素和将所述预设方向作为所述第二体素对应的目标方向,得到每个第二体素及其对应的目标方向;根据每个所述第二体素及其对应的目标方向,确定所述目标地基组件在每个所述目标方向上的所有连通组件,得到所述目标地基组件的全部连通组件。4.根据权利要求3所述的方法,其特征在于,所述根据每个所述第二体素及其对应的目标方向,确定所述目标地基组件在每个所述目标方向上的所有连通组件的步骤,包括:将任意一个所述第二体素作为目标体素和将所述目标体素对应的目标方向作为待处理方向,并将与所述待处理方向相对的方向作为参考方向;获取位于所述目标体素上方的第三体素,若所述第三体素在所述参考方向上无所述墙壁组件且存在所述斜顶组件,则得到第一连通组件;若所述目标体素在所述参考方向上无所述墙壁组件且存在所述斜顶组件,则得到第二连通组件;若所述目标体素在所述参考方向上无所述墙壁组件且所述目标体素中存在所述层板组件,则得到第三连通组件,并将所述第一连通组件、所述第二连通组件和所述第三连通组件作为所述目标地基组件在所述待处理方向上的所有连通组件;若所述目标体素在所述目标方向上无所述墙壁组件且所述目标体素中存在所述地基
组件,则得到第四连通组件,并将所述第一连通组件和所述第四连通组件作为所述目标地基组件在所述待处理方向上的所有连通组件;遍历每个所述第二体素,得到所述目标地基组件在每个所述目标方向上的所有连通组件。5.根据权利要求1所述的方法,其特征在于,所述行走区域集合中全部行走区域按照预设行走顺序排列;所述根据所述行走区域集合中每个行...

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

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

1