建立导航网格连接的方法、设备、介质和计算机程序产品与流程

文档序号:37242445发布日期:2024-03-06 17:11阅读:61来源:国知局
建立导航网格连接的方法、设备、介质和计算机程序产品与流程

本发明涉及计算机,特别涉及建立导航网格连接的方法、设备、介质和计算机程序产品。


背景技术:

1、游戏中常常出现虚拟角色需要由地图中起始点寻路至目标点的情况,寻路是基于地图特征,将地图抽象成数据结构,通过合适的算法求出可行路径的过程。这个过程分为两个步骤:1)建模:将地图抽象为数据结构;2)寻路:通过算法求出路径。其中,建模包括将地图转为多边形的网格,即,导航网格(navmesh)。由于该建模方式能更准确的反映地图特征,且适用于3d地图,因此成为目前游戏中自动寻路采用的主流建模方式。

2、对于建模为导航网格格式的地图,当虚拟角色需要在多个导航网格表面之间移动时,必须用导航网格连接(navmesh link)将不同导航网格连接在一起。例如,跨越沟渠、跳上或从稍高的台阶落下等行为所经过的导航捷径均需要通过导航网格连接来表示。目前,导航网格连接可通过手动添加及自动生成实现。其中自动生成的方法是,生成一个虚拟代理沿着地图中的各导航网格的边缘行走,并检查跳跃/下落的着陆位置是否在导航网格上,如果是,并且跳跃/下落的轨迹中没有障碍物,则在此跳跃/下落的起点和终点间创建导航网格连接。这种自动生成导航网格连接的方法需要遍历导航网格边缘,时间复杂度高。另外,这种方法支持的游戏人物行为仅有水平跳跃及下落两种情况,且仅支持相邻的不同导航网格间的导航网格连接生成。


技术实现思路

1、本发明的目的在于提供建立导航网格连接的方法、设备、介质和计算机程序产品,解决现有技术中建立导航网格连接时间复杂度高、支持的情形少的技术问题。

2、本发明的第一实施方式公开了一种建立导航网格连接的方法,用于电子设备,所述方法包括:

3、将导航网格格式的目标地图转化为目标图数据,所述目标图数据包括第一邻接矩阵;

4、将所述目标图数据输入预先训练的连接图神经网络,其中,所述连接图神经网络生成所述目标图数据的第二邻接矩阵;

5、确定所述第二邻接矩阵相比所述第一邻接矩阵多出的边;

6、基于所述多出的边,在相应的导航网格之间添加导航网格连接。

7、可选地,所述连接图神经网络是通过以下训练步骤得到的:

8、获取导航网格格式的第一样本地图、第二样本地图,所述第一样本地图和所述第二样本地图具有相同的导航网格,所述第二样本地图具有样本导航网格连接;

9、将所述第一样本地图转化为第一样本图数据;

10、将所述第二样本地图转化为第二样本图数据,所述第二样本图数据包括第二样本邻接矩阵;

11、使用梯度下降法,重复以下训练子步骤:将所述第一样本图数据输入被训练的图神经网络,所述被训练的图神经网络输出第一样本邻接矩阵,直到满足以下收敛条件:所述第一样本邻接矩阵与所述第二样本邻接矩阵之间的一致性达到第一预定阈值,得到所述连接图神经网络。

12、可选地,所述连接图神经网络包括:

13、连接编码器,所述连接编码器学习所述目标图数据的隐藏表示;

14、连接解码器,所述连接解码器基于所述隐藏表示生成所述第二邻接矩阵。

15、可选地,所述连接图神经网络还包括边分类器,所述边分类器基于所述多出的边连接的两个节点的信息的隐藏表示,对所述多出的边进行分类。

16、可选地,所述对所述多出的边进行分类,包括:

17、为每条多出的边分别添加“向上”标记、“向下”标记、“水平”标记和“远距离”标记中的一个或多个标记。

18、可选地,

19、所述将所述第一样本图数据输入被训练的图神经网络,所述被训练的图神经网络输出第一样本邻接矩阵,包括:将所述第一样本图数据输入所述被训练的图神经网络的被训练的编码器,所述被训练的编码器输出所述第一样本图数据的隐藏表示,并且将所述第一样本图数据的隐藏表示输入所述被训练的图神经网络的被训练的解码器,所述被训练的解码器输出第一样本邻接矩阵;

20、所述得到所述连接图神经网络,包括:得到所述连接编码器和所述连接解码器。

21、可选地,所述第一样本图数据包括第三样本邻接矩阵;所述训练步骤还包括:

22、根据每个所述样本导航网格连接所连接的两个导航网格之间的高度信息和距离信息,为所述第二样本图数据中与所述样本导航网格连接对应的每条边分别添加“向上”标记、“向下”标记、“水平”标记和“远距离”标记中的一个或多个标记;

23、所述训练子步骤还包括:确定所述第一样本邻接矩阵相比所述第三样本邻接矩阵多出的边,将所述多出的边连接的两个节点的隐藏表示输入所述被训练的图神经网络的被训练的分类器,所述被训练的分类器输出所述多出的边的标记,

24、所述收敛条件还包括:所述多出的边的标记与所述第二样本图数据中与所述样本导航网格连接对应的边的标记之间的一致性达到第二预定阈值,

25、所述得到所述连接图神经网络,还包括:得到所述边分类器。

26、可选地,所述根据每个所述样本导航网格连接所连接的两个导航网格之间的高度信息和距离信息,为所述第二样本图数据中与所述样本导航网格连接对应的每条边分别添加“向上”标记、“向下”标记、“水平”标记和“远距离”标记中的一个或多个标记,包括:

27、如果所述样本导航网格连接所连接的两个导航网格之间的距离大于预定距离阈值,则为与所述样本导航网格连接对应的边添加所述“远距离”标记;否则:

28、如果hs-he≥th,则为与所述样本导航网格连接对应的边添加所述“向下”标记,

29、如果hs-he≤-th,则为与所述样本导航网格连接对应的边添加所述“向上”标记,

30、如果hs-he<th,则为与所述样本导航网格连接对应的边添加所述“水平”标记,其中,

31、hs为所述样本导航网格连接所连接的起始导航网格的高度,he为所述样本导航网格连接所连接的终点导航网格的高度,th为预定高度阈值。

32、可选地,所述基于所述多出的边,在相应的导航网格之间添加导航网格连接,包括:

33、在所述多出的边具有所述“远距离”或所述“水平”标记的情况下,将所述多出的边连接的两个节点中任一个节点对应的导航网格添加至另一个节点对应的导航网格的邻接网格列表中;

34、在所述多出的边具有所述“向上”标记的情况下,将所述多出的边连接的两个节点对应的两个导航网格中高度较高的导航网格添加至另一个导航网格的邻接网格列表中;

35、在所述多出的边具有所述“向下”标记的情况下,将所述多出的边连接的两个节点对应的两个导航网格中高度较低的导航网格添加至另一个导航网格的邻接网格列表中。

36、可选地,所述连接编码器为vgae的编码器,所述连接解码器为vgae的解码器。

37、本发明的第二实施方式公开了一种电子设备,所述电子设备包括存储有计算机可执行指令的存储器和处理器,当所述指令被所述处理器执行时,使得所述电子设备实施根据本发明的第一实施方式的建立导航网格连接的方法。

38、本发明的第三实施方式公开了一种计算机存储介质,在所述计算机存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行根据本发明的第一实施方式的建立导航网格连接的方法。

39、本发明的第四实施方式公开了一种计算机程序产品,包括计算机可执行指令,所述指令被处理器执行以实施根据本发明的第一实施方式的建立导航网格连接的方法。

40、本发明实施方式与现有技术相比,主要区别及其效果在于:

41、在本发明中,建立导航网格连接的方法基于图神经网络,可通过一次gpu并行计算生成所有可能存在的导航网格连接,因此比现有技术的遍历所有导航网格边缘的方法时间复杂度低、速度更快;得益于图神经网络的表示能力及学习能力,所建立的导航网格连接可支持更多类型的虚拟角色行为,例如,远距离传送、向上跳跃、向下跳跃等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1