本技术涉及计算机,特别是涉及一种移动路线确定方法、装置、电子设备及存储介质。
背景技术:
1、在第一人称射击游戏(first-person shooting,fps)等游戏过程中,玩家需要操作虚拟角色,如人工智能(artificial intelligence,ai)机器人在设计好的游戏地图中移动。这些移动路线是游戏开发人员设计和验证得到的。
2、相关技术中,游戏开发人员可以通过构建行为树的方式设计移动路线,这使得设计得到的移动路线相对固定。例如,当虚拟角色面前有一堵墙时,游戏开发人员设计的移动路线指示虚拟角色进行翻墙操作,则玩家在游戏过程中只能操作虚拟角色进行翻墙操作,并不能在此位置进行其他操作,这严重影响确定出的移动路线的灵活性。
技术实现思路
1、本技术实施例的目的在于提供一种移动路线确定方法、装置、电子设备及存储介质,以提高确定出的移动路线的灵活性。具体技术方案如下:
2、第一方面,为了达到上述目的,本技术实施例提供了一种移动路线确定方法,所述方法包括:
3、获取预设地图中目标人员当前时刻的第一位置;
4、在预先构建的k维kd森林中,确定与所述第一位置匹配的目标kd树,所述kd森林中包括多个kd树,每一kd树中的节点是根据所述预设地图中多组样本人员中每一人员对应的真实移动路线确定的;
5、基于所述第一位置,利用最邻近查找算法,在所述目标kd树中确定所述目标人员在下一时刻移动至的第二位置。
6、可选的,所述方法还包括:
7、获取多组样本人员中每一人员在所述预设地图中的真实移动路线;
8、针对每组样本人员,根据该组样本人员的真实移动路线中同一时刻人员所在的位置坐标,生成多个第一位置特征向量;
9、根据目标向量元素相同的第一位置特征向量进行kd树的构建,得到kd森林,所述目标向量元素为所述第一位置特征向量中指示首个位置的向量元素。
10、可选的,所述获取预设地图中目标人员当前时刻的第一位置的步骤,包括:
11、获取预设地图中目标人员当前时刻所在的位置坐标,作为所述目标人员的第一位置;
12、或者,
13、获取预设地图中目标人员当前时刻所在的位置坐标;
14、根据所述预设地图均匀分割得到的每一区域块与区域块标识间的对应关系,确定所述目标人员的位置坐标所对应目标区域块标识;
15、基于所述目标区域块标识,生成指示预设地图中所述目标人员当前时刻所在第一位置的第二位置特征向量。
16、可选的,所述基于所述目标区域块标识,生成指示预设地图中所述目标人员当前时刻所在第一位置的第二位置特征向量的步骤,包括:
17、生成包括所述目标区域块标识的第三位置特征向量;
18、针对所述第三位置特征向量中的每一向量元素,根据第一数量和第二数量,对该向量元素进行坐标转换,得到指示预设地图中所述目标人员当前时刻所在第一位置的第二位置特征向量;其中,所述第一数量为所述预设地图进行均匀分割后每一行包括的区域块的数量,所述第二数量为所述预设地图进行均匀分割后每一列包括的区域块的数量。
19、可选的,所述针对所述第三位置特征向量中的每一向量元素,根据第一数量和第二数量,对该向量元素进行坐标转换,得到指示预设地图中所述目标人员当前时刻所在第一位置的第二位置特征向量的步骤,包括:
20、针对所述第三位置特征向量中的每一向量元素,利用以下公式,对该向量元素进行坐标转换,得到指示预设地图中所述目标人员当前时刻所在第一位置的第二位置特征向量;
21、;
22、;
23、其中,为转换后的横坐标值,为所述第三位置特征向量中的第i个向量元素,为取余操作,为所述第一数量,为转换后的纵坐标值,为所述第二数量。
24、可选的,若所述目标人员为至少两个队伍中的组队人员,则所述第二位置特征向量中包括指示每一组队人员当前所在位置对应的向量元素。
25、可选的,所述基于所述第一位置,利用最邻近查找算法,在所述目标kd树中确定所述目标人员在下一时刻移动至的第二位置的步骤,包括:
26、利用最邻近查找算法,在所述目标kd树中确定与所述第一位置最邻近的预设数量个第四位置;
27、随机从所述预设数量个第四位置中选取一个第四位置,作为所述目标人员下一时刻移动至的第二位置。
28、可选的,所述在预先构建的kd森林中,确定与所述第一位置匹配的目标kd树,所述kd森林中包括多个kd树的步骤,包括:
29、根据预先建立的kd树与区域块标识间的对应关系,将所述区域块标识与所述第一位置匹配的kd树确定为目标kd树;
30、其中,所述区域块标识与所述第一位置匹配表示为:所述第一位置在所述区域块标识所对应的区域块中,或者,所述区域块标识所对应的区域块与所述第一位置间的距离最小。
31、第二方面,为了达到上述目的,本技术实施例提供了一种移动路线确定装置,所述装置包括:
32、第一获取模块,用于获取预设地图中目标人员当前时刻的第一位置;
33、第一确定模块,用于在预先构建的k维kd森林中,确定与所述第一位置匹配的目标kd树,所述kd森林中包括多个kd树,每一kd树中的节点是根据所述预设地图中多组样本人员中每一人员对应的真实移动路线确定的;
34、第二确定模块,用于基于所述第一位置,利用最邻近查找算法,在所述目标kd树中确定所述目标人员在下一时刻移动至的第二位置。
35、可选的,所述装置还包括:
36、第二获取模块,用于获取多组样本人员中每一人员在所述预设地图中的真实移动路线;
37、生成模块,用于针对每组样本人员,根据该组样本人员的真实移动路线中同一时刻人员所在的位置坐标,生成多个第一位置特征向量;
38、构建模块,用于根据目标向量元素相同的第一位置特征向量进行kd树的构建,得到kd森林,所述目标向量元素为所述第一位置特征向量中指示首个位置的向量元素。
39、可选的,所述第一获取模块,包括:
40、第一获取子模块,用于获取预设地图中目标人员当前时刻所在的位置坐标,作为所述目标人员的第一位置;
41、或者,所述第一获取模块,包括:
42、第二获取子模块,用于获取预设地图中目标人员当前时刻所在的位置坐标;
43、确定子模块,用于根据所述预设地图均匀分割得到的每一区域块与区域块标识间的对应关系,确定所述目标人员的位置坐标所对应目标区域块标识;
44、生成子模块,用于基于所述目标区域块标识,生成指示预设地图中所述目标人员当前时刻所在第一位置的第二位置特征向量。
45、可选的,所述生成子模块,具体用于生成包括所述目标区域块标识的第三位置特征向量;
46、针对所述第三位置特征向量中的每一向量元素,根据第一数量和第二数量,对该向量元素进行坐标转换,得到指示预设地图中所述目标人员当前时刻所在第一位置的第二位置特征向量;其中,所述第一数量为所述预设地图进行均匀分割后每一行包括的区域块的数量,所述第二数量为所述预设地图进行均匀分割后每一列包括的区域块的数量。
47、可选的,所述生成子模块,具体用于针对所述第三位置特征向量中的每一向量元素,利用以下公式,对该向量元素进行坐标转换,得到指示预设地图中所述目标人员当前时刻所在第一位置的第二位置特征向量;
48、;
49、;
50、其中,为转换后的横坐标值,为所述第三位置特征向量中的第i个向量元素,为取余操作,为所述第一数量,为转换后的纵坐标值,为所述第二数量。
51、可选的,若所述目标人员为至少两个队伍中的组队人员,则所述第二位置特征向量中包括指示每一组队人员当前所在位置对应的向量元素。
52、可选的,所述第二确定模块,具体用于利用最邻近查找算法,在所述目标kd树中确定与所述第一位置最邻近的预设数量个第四位置;
53、随机从所述预设数量个第四位置中选取一个第四位置,作为所述目标人员下一时刻移动至的第二位置。
54、可选的,所述第一确定模块,具体用于根据预先建立的kd树与区域块标识间的对应关系,将所述区域块标识与所述第一位置匹配的kd树确定为目标kd树;其中,所述区域块标识与所述第一位置匹配表示为:所述第一位置在所述区域块标识所对应的区域块中,或者,所述区域块标识所对应的区域块与所述第一位置间的距离最小。
55、本技术实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
56、存储器,用于存放计算机程序;
57、处理器,用于执行存储器上所存放的程序时,实现上述任一所述的移动路线确定方法步骤。
58、本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的移动路线确定方法步骤。
59、本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的移动路线确定方法。
60、本技术实施例有益效果:
61、本技术实施例提供的技术方案,可以预先根据多组样本人员在预设地图中的真实移动路线生成多个kd树,得到kd森林,从而在获得目标人员在该预设地图中当前时刻所在的第一位置后,在kd森林中确定出与该第一位置匹配的目标kd树,基于第一位置,利用最邻近查找算法,在目标kd树中确定目标人员在下一时刻移动到的第二位置。
62、相比于相关技术,根据样本人员在预设地图中的真实移动路线所生成的kd树中的移动路线,每一移动路线均是根据人员的真实移动路线确定的,因此,基于该真实移动路线确定出的从第一位置移动到第二位置的移动路线与人员移动过程中的真实情况匹配,从而使得确定出的移动路线不再相对固定,符合自然人的真实选择。
63、另外,由于确定出的移动路线是根据人员的真实移动路线确定的,对于预设地图中的同一位置,根据人员的选择不同所形成的真实移动路线也将有所不同,这使得基于第一位置确定出的第二位置存在多种可能,提高了确定出的移动路线的多样性以及灵活性。
64、当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。