虚拟角的运动控制方法、装置及电子设备与流程



1.本发明涉及游戏ai技术领域,具体而言,涉及一种虚拟角的运动控制方法、装置及电子设备。


背景技术:



2.在非对称式竞技的网络游戏中,两组虚拟角为相互对抗的关系,其中处于优势的一组虚拟角的技能,通常比处于劣势的一组虚拟角的技能强大,为了避免处于劣势的虚拟角很快被击杀出局,需要处于弱势的虚拟角在与对手博弈的过程中,充分利用游戏场景中的地形或道具进行躲藏或逃跑,以占据先机,提高胜出的概率。
3.相关技术中,当参与游戏的真实玩家数量不足时,通常采用ai玩家参与游戏,ai玩家也称为虚拟玩家。通常由服务器控制ai玩家对应虚拟角的行为。当ai玩家的虚拟角为处于弱势的虚拟角时,虚拟角依靠预先设置的比较规则化的行动路径进行移动、逃跑,同时,ai玩家难以像真实玩家一样,充分利用道具和地形,与处于强势的虚拟角进行周旋,并给对方造成困扰;ai玩家的虚拟角的控制方式,其拟人化及智能化程度较差,容易被真实玩家识破为ai玩家控制的虚拟角,导致玩家的体验较差。


技术实现要素:



4.有鉴于此,本发明的目的在于提供一种虚拟角的运动控制方法、装置及电子设备,以提高游戏ai拟人化及智能化程度,从而提高玩家的游戏体验。
5.第一方面,本发明实施例提供了一种虚拟角的运动控制方法,该方法包括:获取受控虚拟角在虚拟场景中的当前位置;基于当前位置确定受控虚拟角是否位于虚拟场景中的目标区域;其中,目标区域预先基于历史对局记录中,与受控虚拟角的角属性相同的第一虚拟角在虚拟场景中的位置确定;如果受控虚拟角位于目标区域,基于受控虚拟角的当前位置,从目标区域预设的关键位置中确定目标位置;其中,关键位置基于目标区域中的障碍物的位置,以及历史对局记录中,第一虚拟角在虚拟场景中的位置确定;控制受控虚拟角从当前位置移动至目标位置。
6.上述目标区域具体通过以下方式确定:从历史对局记录中,获取第一虚拟角的满足预设条件的第一位置;其中,预设条件包括:第一虚拟角位于第一位置时,第二虚拟角与第一虚拟角的距离小于第一距离阈值;第二虚拟角与第一虚拟角具有对抗关系;基于第一位置确定目标区域。
7.上述第一位置包括多个;基于第一位置确定目标区域的步骤,包括:对第一位置进行聚类处理,得到第一聚类结果;其中,第一聚类结果包括至少一组初始位置组合;每组初始位置组合包括聚类中心以及至少一个第一位置;基于第一聚类结果确定目标区域。
8.上述基于第一聚类结果确定目标区域的步骤,包括:对至少一组初始位置组合进行筛选处理,和/或,对初始位置组合中的第一位置进行筛选处理,得到至少一组最终位置组合;基于每组最终位置组合的聚类中心,以及最终位置组合中第一位置,确定目标区域。
9.上述关键位置具体通过以下方式确定:对位于目标区域中的第一位置进行聚类处理,得到第二聚类结果;其中,第二聚类结果包括至少一组位置小组;每组位置小组包括聚类中心以及至少一个第一位置;目标区域中的第一位置基于历史对局记录中,第一虚拟角的位置确定;基于目标区域中的障碍物的位置及第二聚类结果,确定关键位置。
10.上述基于目标区域中的障碍物的位置及第二聚类结果,确定关键位置的步骤,包括:基于目标区域中的障碍物的位置,确定障碍物的轮廓区域;其中,轮廓区域包括:障碍物的边缘线条,和/或,距离障碍物预设距离范围内的区域;在障碍物轮廓区域进行位置采样,得到多个采样位置;基于第二聚类结果,从多个采样位置中确定关键位置。
11.上述基于第二聚类结果,从多个采样位置中确定关键位置的步骤,包括:从多个采样位置中确定当前采样位置;针对当前采样位置,从第二聚类结果中查设定数量的相邻位置;相邻位置包括:与当前采样位置的距离小于预设的第二距离阈值的第一位置;如果查到当前采样位置的设定数量的相邻位置,基于相邻位置和当前采样位置确定关键位置。
12.上述基于所述相邻位置和所述当前采样位置确定关键位置的步骤,包括:基于相邻位置所属的位置小组,确定当前采样位置所属的位置小组;从第二聚类结果中剔除当前采样位置所属的位置小组;继续执行从多个采样位置中确定当前采样位置的步骤,直至第二聚类结果中不存在任一位置小组;将第二聚类结果中,各个位置小组对应的采样位置确定为关键位置。
13.上述基于目标区域中的障碍物的位置及第二聚类结果,确定关键位置的步骤之后,上述方法还包括:从历史对局记录中,获取第一虚拟角在目标区域中的每个第一位置之间的移动顺序信息;基于移动顺序信息,以及第一位置与关键位置之间的距离关系,确定目标区域中关键位置之间的移动顺序信息;基于关键位置之间的移动顺序信息,统计任意两个关键位置之间发生移动关系的次数;其中,任意两个关键位置包括第一关键位置和第二关键位置;任意两个关键位置之间发生移动关系,包括:第一虚拟角从第一关键位置直接移动至第二关键位置,或者,从第二关键位置直接移动至第一关键位置。
14.上述关键位置包括多个;关键位置预设有移动关系统计结果;移动关系统计结果包括:任意两个关键位置之间发生移动关系的次数;基于受控虚拟角的当前位置,从目标区域预设的关键位置中确定目标位置的步骤,包括:基于受控虚拟角的当前位置,从多个关键位置中确定距离受控虚拟角最近的最近关键位置;从移动关系统计结果中,确定受控虚拟角从最近关键位置,移动至最近关键位置以外的关键位置的概率;基于概率,从最近关键位置以外的关键位置中确定目标位置。
15.上述控制受控虚拟角从当前位置移动至目标位置的步骤,包括:控制受控虚拟角从当前位置移动至距离当前位置最近的关键位置,再从距离当前位置最近的关键位置移动至目标位置。
16.第二方面,本发明实施例提供了一种虚拟角的运动控制装置,该装置包括:当前位置获取模块,用于获取受控虚拟角在虚拟场景中的当前位置;当前位置区域确定模块,用于基于当前位置确定受控虚拟角是否位于虚拟场景中的目标区域;其中,目标区域预先基于历史对局记录中,与受控虚拟角的角属性相同的第一虚拟角在虚拟场景中的位置确定;目标位置确定模块,用于如果受控虚拟角位于目标区域,基于受控虚拟角的当前位置,从目标区域预设的关键位置中确定目标位置;其中,关键位置基于目标区域中的
障碍物的位置,以及历史对局记录中,第一虚拟角在虚拟场景中的位置确定;移动控制模块,用于控制受控虚拟角从当前位置移动至目标位置。
17.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述的虚拟角的运动控制方法。
18.第四方面,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述的虚拟角的运动控制方法。
19.本发明实施例带来了以下有益效果:
20.上述一种虚拟角的运动控制方法、装置及电子设备,获取受控虚拟角在虚拟场景中的当前位置;基于当前位置确定受控虚拟角是否位于虚拟场景中的目标区域;如果受控虚拟角位于目标区域,基于受控虚拟角的当前位置,从目标区域预设的关键位置中确定目标位置;其中,关键位置基于目标区域中的障碍物的位置,以及历史对局记录中,第一虚拟角在虚拟场景中的位置确定;控制受控虚拟角从当前位置移动至目标位置。上述方式中,关键位置基于历史对局记录中与受控虚拟角的角属性相同的虚拟角在虚拟场景中的位置确定,基于从关键位置中确定的目标位置控制虚拟角运动,提高了游戏ai的拟人化及智能化程度,从而提高了玩家的游戏体验。
21.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
22.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
23.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1为本发明实施例提供的一种虚拟角的运动控制方法的流程图;
25.图2为本发明实施例提供的一种包括第一虚拟角的位置的游戏地图示意图;
26.图3为本发明实施例提供的一种包括位置的聚类结果的游戏地图示意图;
27.图4为本发明实施例提供的一种包括目标区域中位置的聚类结果的游戏地图示意图;
28.图5为本发明实施例提供的一种虚拟角的运动控制装置的结构示意图;
29.图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
30.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是
全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.在非对称式竞技的网络游戏中,可以设置两组虚拟角,这两组虚拟角的关系为相互对抗。例如,某个非对称式竞技的网络游戏是一款一对四(也称为“1v4”)的游戏,即一个监管者与四个求生者进行对抗,求生者的主要任务是在最短的时间内修完密码机后,开启大门逃出庄园获得最终胜利。但是修密码机的时间是靠和监管者产生直接对抗的求生者来争取的。由于非对称式竞技的天然不平衡性,即监管者具有直接伤害求生者的强大技能,而求生者对监管者的伤害技能较弱,或不具有伤害监管者的技能。作为监管者追击目标的求生者需要通过板窗、地形尽可能多的拖延追击自己监管者的时间。
32.由于监管者被板子砸的恢复时间以及踩板子的花费时间较长,求生者可以充分利用板窗以及地形给团队争取更多的时间。但每一局游戏中,板子数量有限,且无法再生只能消耗,因此需要“节约”每一块板子,尽可能让每一块板子的利益最大化。而绕板就是其中的重要方法之一,先以简单的单独一块长板子场景为例,长板一般由较长一边地形和较短一边地形组成,由于屠夫会忌惮求生者下板导致自己被砸,求生者可以通过绕较长的一边与屠夫进行博弈。
33.如果场景更为复杂化,还可以在博弈过程中,“消失”在屠夫的视野中。在博弈过程中求生者一般会贴着模型绕着板子或者地形走,这样可以使得更快的走完一圈,避免过快的被屠夫追上。
34.在多人在线竞技的网络游戏中,当参与游戏的真实玩家数量不足时,通常采用ai(artificial intelligence,人工智能)玩家(也称为“游戏ai”或“虚拟玩家”)参与游戏。针对对称式竞技的网络游戏,由于游戏天然的平衡性,游戏ai在与玩家一对一(也称为“1v1”)的对抗过程中,并不需要过多的去考虑依靠地形拖延时间,避免过快被对面干掉。而相关技术中,在非对称式竞技中,如果在追逃阶段ai玩家只会根据预设的规则进行一味的逃避,对于固定场景表现较为单一,比如使用完这块板子就跑到下一块未使用的板子附近,无法充分的利用各种道具以及地形给强势的一方造成困扰,例如未下板时给屠夫造成压力,拟人化程度较低,难以给真实的玩家感受到博弈的感觉,拟人化层面高度不够,容易被玩家识别出是ai玩家。
35.在对游戏ai的运动过程的研究中,可以采用强化学习、迁移学习的方式的确避免无法充分利用地形、道具的问题,但是由于工期较长,落地后计算资源消耗巨大的原因,对于游戏更新换代日益加快的今天,基本大部分都停留在实验、理论阶段,不能满足快速落地的需求。
36.基于此,本发明实施例提供的一种虚拟角的运动控制方法、装置及电子设备,该技术可以应用于各种需要游戏ai玩家作为虚拟玩家的运动控制场景。
37.为便于对本实施例进行理解,首先对本发明实施例所公开的一种虚拟角的运动控制方法进行详细介绍,如图1所示,该方法包括如下步骤:
38.步骤s102,获取受控虚拟角在虚拟场景中的当前位置。
39.上述受控虚拟角通常为ai玩家,在游戏对局中,如果参与游戏的实际玩家数量不够,游戏系统需要在游戏对局中加入ai玩家,以满足游戏对局中双方玩家(或多方玩家)的数量需求。上述虚拟场景通常为游戏系统提供的游戏场景,所有玩家均在该虚拟场景中
活动及互动。上述当前位置通常为在当前时刻受控虚拟角在虚拟场景中的位置,当前位置可以以虚拟场景中的位置坐标表示。
40.步骤s104,基于当前位置确定受控虚拟角是否位于虚拟场景中的目标区域;其中,目标区域预先基于历史对局记录中,与受控虚拟角的角属性相同的第一虚拟角在虚拟场景中的位置确定。
41.上述目标区域通常设置有障碍物。由于游戏中处于不同角属性或角阵营的虚拟角之间通常为对抗关系,在非对称竞技游戏中,处于弱势的虚拟角在与对手博弈的过程中,需要利用游戏场景中的障碍物进行躲藏或逃跑,以提高胜出的概率。该障碍物可以为较大的建筑物,可以遮挡受控虚拟角,避免被对手发现;该障碍物也可以为某种位置固定机关或武器,受控虚拟角围绕该障碍物与对手周旋时,可以对对手造成一定的威慑作用。
42.上述历史对局记录通常包括多局真实玩家的游戏记录。真实玩家在操控处于弱势的虚拟角与处于优势的虚拟角进行周旋的过程中,通常会充分利用游戏场景中的障碍物,并在障碍物的周围停留较长的时间,从而在对局记录中保存了障碍物周围较多的位置。由于处于弱势的虚拟角与处于优势的虚拟角的周旋过程中,二者之间的距离通常小于一定的距离阈值。可以根据历史对局记录进行解析,得到虚拟场景中上述第一虚拟角的位置,并从这些位置中筛选得到和与受控虚拟角的角属性不同的虚拟角的位置之间的距离小于距离阈值的位置,基于这些位置的分布情况,来确定具有障碍物的目标区域。其中,位置的分布情况可以通过聚类算法确定。
43.上述目标区域可以以虚拟场景中的位置坐标范围表示。在确定受控虚拟角是否位于虚拟场景中的目标区域时,可以判断受控虚拟角的当前位置是否位于目标区域内,即当前位置的位置坐标是否在目标区域对应的位置坐标范围内,如果在,则受控虚拟角位于目标区域中;如果不在则受控虚拟角没有在目标区域中。
44.步骤s106,如果受控虚拟角位于目标区域,基于受控虚拟角的当前位置,从目标区域预设的关键位置中确定目标位置;其中,关键位置基于目标区域中的障碍物的位置,以及历史对局记录中,第一虚拟角在虚拟场景中的位置确定。
45.如果受控虚拟角位于目标区域,为了提高受控虚拟角的胜率,需要控制受控虚拟角沿着目标区域中的障碍物进行运动。而在历史对局记录中,由真实玩家控制的第一虚拟角在目标区域中的位置以及各个位置之间的移动关系可以为受控虚拟角的运动过程提供参考。
46.在由真实玩家控制虚拟角围绕目标区域中的障碍物进行运动时,当虚拟角贴近障碍物运动,其运动效率较高。可以基于目标区域中障碍物的位置及轮廓参数预先确定效率较高的移动区域,然后再从移动区域选取一些位置;该选取过程可以通过位置采样实现。由于障碍物的轮廓通常是不规则的,如具有拐角等位置,可以基于障碍物轮廓将移动区域划分为几个区域部分,各个区域部分中均需要选取移动位置。此外,还可以基于历史对局记录中真实玩家控制第一虚拟角在目标区域中的位置分布情况将移动区域划分为几个区域部分,具体而言可以对第一虚拟角在目标区域中的位置进行聚类处理,基于不同类别的位置所在的区域将移动区域划分为多个区域部分。
47.在移动区域选取多个位置时,可以采用采样的方式,这些位置在下文中简称为“采
样位置”。在采样过程中,同时需要控制采样得到的各个位置之间应具有一定的距离,以较为全面地覆盖移动区域的各个区域部分。由于采样位置可能与真实玩家控制的第一虚拟角移动过程中会走的位置相差较大,如果后续过程中,受游戏ai控制的与第一虚拟角的角相同的受控虚拟角直接基于采样位置在移动区域进行移动,躲藏或周旋的效率较低,因此还需要参考第一虚拟角在目标区域中的位置,从移动区域中的多个采样位置中确定出关键位置。
48.在具体实现时,在确定了真实玩家控制的第一虚拟角在目标区域中的位置对应的类别之后,可以基于采样位置与第一虚拟角在目标区域中的位置之间的距离,确定采样位置所属于的类别,通常一个类别对应于障碍物周围的移动区域中的一个区域部分,通常可以针对每个区域部分确定一个属于对应的类别的采样位置,将确定出的采样位置作为关键位置,也可以根据需求设置多个。
49.当将通过真实玩家控制的第一虚拟角的对局记录确定的关键位置应用于游戏ai控制的受控虚拟角的运动过程中时,如果受控虚拟角位于目标区域,可以将多个关键位置中与该受控虚拟角距离最近的关键位置作为受控虚拟角需要移动至的下一位置,即目标位置。当受控虚拟角移动至该目标位置后,还可以基于该目标位置继续确定受控虚拟角需要移动至的下一目标位置,通常也为关键位置中的一个。
50.由于需要真实玩家控制的第一虚拟角在目标区域中的位置以及各个位置之间的移动关系为受控虚拟角的移动过程提供参考,在确定关键位置之后还需要基于历史对局记录中第一虚拟角在目标区域的位置之间的移动关系,确定关键位置之间的移动关系。首先可以将历史对局记录中第一虚拟角在目标区域的位置与关键位置进行匹配,然后将第一虚拟角在目标区域的位置之间的移动关系映射为关键位置之间的移动关系,如第一位置匹配于第一关键位置,第二位置匹配于第二关键位置;第一位置与第二位置之间的移动关系为第一位置移动到第二位置,则第一关键位置与第二关键位置之间的移动关系为第一关键位置移动到第二关键位置。由于同一关键位置在不同的对局记录中可能对应于不同的移动关系,如在十个对局记录中,第一关键位置移动到第二关键位置3次,移动到第三关键位置5次,移动到第七关键位置2次,则可以基于各个移动关系的次数,确定当受控虚拟角位于第一关键位置时,移动到其他关键位置的概率。在将确定出的关键位置应用于游戏ai控制的受控虚拟角的移动过程中时,当受控虚拟角位于当前目标位置,该当前目标位置为一个关键位置,可以基于该目标位置移动到其他关键位置的概率,从关键位置中需要移动的下一目标位置。
51.步骤s108,控制受控虚拟角从当前位置移动至目标位置。
52.在控制受控虚拟角从当前位置移动目标位置时,可以基于预设的受控虚拟角的速度,可以基于受控虚拟角的移动状态,如奔跑或走路,控制受控虚拟角到达对应的目标位置。上述目标位置可以为多个,相邻两个目标位置之间具有已经确定的移动关系,控制受控虚拟角基于目标位置在目标区域进行运动,可以进行效率较高的躲藏或周旋。
53.上述一种虚拟角的运动控制方法,获取受控虚拟角在虚拟场景中的当前位置;基于当前位置确定受控虚拟角是否位于虚拟场景中的目标区域;如果受控虚拟角位于目标区域,基于受控虚拟角的当前位置,从目标区域预设的关键位置中确定目标位置;其中,关键位置基于目标区域中的障碍物的位置,以及历史对局记录中,第一虚拟角
在虚拟场景中的位置确定;控制受控虚拟角从当前位置移动至目标位置。上述方式中,关键位置基于历史对局记录中与受控虚拟角的角属性相同的虚拟角在虚拟场景中的位置确定,基于从关键位置中确定的目标位置控制虚拟角运动,提高了游戏ai的拟人化及智能化程度,从而提高了玩家的游戏体验。
54.下实施例提供确定目标区域及目标区域的关键位置的具体实现方式。
55.上述目标区域通常为与受控虚拟角属性相同的虚拟角躲避对方的攻击或与对方周旋的区域,通常具有遮挡物、机关等障碍物。具体而言,目标区域可以通过以下方式确定:
56.(1)从历史对局记录中,获取第一虚拟角的满足预设条件的第一位置;其中,预设条件包括:第一虚拟角位于第一位置时,第二虚拟角与第一虚拟角的距离小于第一距离阈值;第二虚拟角与第一虚拟角具有对抗关系。
57.上述第一虚拟角通常为处于弱势的一方,需要躲避第二虚拟角的追击,或与第二虚拟角进行周旋。对局记录中通常包括多种信息,如各个虚拟角的位置信息,轨迹信息、虚拟角的技能操作信息等,需要对对局记录进行解析,得到各个虚拟角的位置信息。由于当第二虚拟角距离第一虚拟角较近时,第一虚拟角才需要进行躲避或周旋,因此需要控制第一虚拟角位于第一位置时,与第二虚拟角的距离小于第一距离阈值,从而才能得到位于目标区域中的第一位置。如图2所示,在具有障碍物的目标区域可以得到分布较为密集的第一虚拟角的第一位置。
58.(2)基于第一位置确定目标区域。
59.由于需要多个历史对局记录进行解析,以降低确定得到的目标区域的偶然性,获得较为通用的目标区域。通过上述方式得到第一位置通常包括多个。可以对第一位置进行聚类处理,得到第一聚类结果;其中,第一聚类结果包括至少一组初始位置组合;每组初始位置组合包括聚类中心以及至少一个第一位置,然后再基于第一聚类结果确定目标区域。
60.在对第一位置进行聚类处理的过程中,可以采用k-means算法对第一位置进行聚类,首先初始化k个第一位置作为聚类中心,计算其余每个第一位置到聚类中心的欧式距离,将其归于欧式距离最小的聚类中心,针对每个新的类别,重新计算聚类中心,重复上述操作,直到每个第一位置的类别不再变化为止。如图3所示,通过聚类处理后,可以得到多个聚类区域,其中位于一个圆形区域中的第一位置属于同一初始位置组合。
61.在基于第一聚类结果确定目标区域时,如果仅有一组初始位置组合则无需筛选;如果第一聚类结果中包括多个初始位置组合,对初始位置组合进行筛选处理,如可以将初始位置组合中包含第一位置小于预设的数量阈值的初始位置组合剔除,然后对初始位置组合中的多个第一位置进行筛选处理,得到至少一组最终位置组合,通常可以将筛选得到初始位置组合中距离聚类中心较远的第一位置与聚类中心确定为最终位置组合;基于每组最终位置组合的聚类中心,以及最终位置组合中第一位置,确定目标区域。
62.具体而言,根据k-means算法的结果,得到如图3所示的四种初始位置组合后,考虑到数据噪声的影响,可以舍弃类别中点数较少的初始位置组合(图3中标注3的圆形区域中的初始位置组合)以及离聚类中心过于远的点(图3中在各个圆形区域外的点)。以聚类中心为圆心,聚类中心到该类别未被舍弃的位置(即上述最终位置组合中的第一位置)的最远距离为半径做圆。每个圆形区域,即确定得到的目标区域。
63.当确定了目标区域后,可以通过以下方式确定目标区域中的关键位置:
64.(1)对位于目标区域中的第一位置进行聚类处理,得到第二聚类结果;其中,第二聚类结果包括至少一组位置小组;每组位置小组包括聚类中心以及至少一个第一位置;目标区域中的第一位置基于历史对局记录中,第一虚拟角的位置确定。
65.具体而言,可以对目标区域内的第一位置再次做k-means聚类处理,得到聚类结果。聚类结果中的不同位置小组可以表示目标区域中的不同躲藏区域。图4所示为对图3中标注1的圆形区域中的第一位置进行聚类的结果,同一灰度颜的点表示处于同一位置小组的第一位置。
66.(2)基于目标区域中的障碍物的位置及第二聚类结果,确定关键位置。
67.具体而言,基于目标区域中的障碍物的位置,确定障碍物的轮廓区域;由于障碍物通常不能看做一个点,障碍物的位置可以包括障碍物的中心所在位置以及边缘所在位置,边缘所在位置连接起来可以形成障碍物的轮廓,为障碍物与路块的交界处,可以将距离障碍物预设距离范围内的区域作为轮廓区域,该轮廓区域还可以包括障碍物的边缘线条;然后在障碍物轮廓区域进行位置采样,得到多个采样位置;进一步基于第二聚类结果,从多个采样位置中确定关键位置。
68.在从多个采样位置中确定关键位置时,可以从多个采样位置中确定当前采样位置;然后针对当前采样位置,从第二聚类结果中查设定数量的相邻位置;相邻位置包括与当前采样位置的距离小于预设的第二距离阈值的第一位置;如果查到设定数量的当前采样位置的相邻位置,再基于相邻位置和当前采样位置确定关键位置。
69.上述方式主要利用有监督聚类的临近算法(knn,k-nearest neighbor)实现。在判别点集中的点的类别时,knn算法思路是一个样本在特征空间中的k个最相似(即在特征空间中最相近)的样本中的大多数属于一类别,则该样本也属于这个类别。上述相邻位置即为采样位置的相似样本。
70.为了提高受控虚拟对象的运动效率,对应一个聚类中心通常仅确定一个关键位置。因此,可以基于相邻位置所属的位置小组,确定当前采样位置所属的位置小组,即如果相邻位置均属于同一位置小组,则当前采样位置也属于该位置小组;如果相邻位置属于不同的位置小组,则将数量最多的相邻位置所属于的小组确定为采样位置属于的小组;然后从第二聚类结果中剔除当前采样位置所属的位置小组;继续执行从多个采样位置中确定当前采样位置的步骤,直至第二聚类结果中不存在任一位置小组,最后将第二聚类结果中,各个位置小组对应的采样位置确定为关键位置。该方式可以使一个聚类中心仅对应于一个关键位置。
71.下实施例提供从目标区域预设的关键位置中确定目标位置的具体实现方式。
72.通常而言,目标区域中包括多个关键位置,并且关键位置预设有移动关系统计结果;该移动关系统计结果包括:任意两个关键位置之间发生移动关系的次数。在从目标区域预设的关键位置中确定目标位置时,首先基于受控虚拟角的当前位置,从多个关键位置中确定距离受控虚拟角最近的最近关键位置;然后从移动关系统计结果中,确定受控虚拟角从最近关键位置,移动至最近关键位置以外的关键位置的概率;再基于概率,从最近关键位置以外的关键位置中确定目标位置;进一步还可以根据确定出的目标位置移动至除该目标位置以外的关键位置的概率,确定下一目标位置。在确定了受控虚拟角运动的目
标位置后,可以控制受控虚拟角从当前位置移动至距离当前位置最近的关键位置,再从距离当前位置最近的关键位置移动至目标位置。
73.上述移动关系统计结果可以通过以下方式获得:从历史对局记录中,获取第一虚拟角在目标区域中的每个第一位置之间的移动顺序信息;移动顺序信息通常为从某个第一位置直接移动到另一个第一位置;然后基于移动顺序信息,以及第一位置与关键位置之间的距离关系,确定目标区域中关键位置之间的移动顺序信息;基于关键位置之间的移动顺序信息,统计任意两个关键位置之间发生移动关系的次数;其中,任意两个关键位置包括第一关键位置和第二关键位置;任意两个关键位置之间发生移动关系,包括:第一虚拟角从第一关键位置直接移动至第二关键位置,或者,从第二关键位置直接移动至第一关键位置。
74.具体而言,历史对局中第一虚拟角的位置变化为从a-》b-》c-》d

,其中,a、b、c、d分别为第一虚拟角的位置。分别计算第一虚拟角的每个位置变化点与关键位置点之间的两两距离(具体可以以欧氏距离计算),然后与每个位置距离最小的关键位置与该位置对应。
75.当a-》b-》c-》d

对应的关键位置(当障碍物为板子时,关键位置也称为“绕板关键点”)为z-》y-》x-》w

。在移动关系统计结果中,分别增将z-》y、y-》x、x-》w

的移动关系的数量加1。当确定从当前的关键位置移动到下一关键位置的概率时,可以分别计算当前的关键位置与其他关键位置之间的移动关系占当前的关键位置的移动关系总和的比例,将计算得到的比例确定为从当前的关键位置移动到对应的关键位置的概率。如关键位置x具有与关键位置w、关键位置l及关键位置n的移动关系,且移动关系的次数分别为3、7、10,则从关键位置x移动到关键位置w的概率为0.15,移动到关键位置l的概率为0.35,移动到关键位置n的概率为0.5。
76.本发明实施例还提供了另一种虚拟角的运动控制方法。该方法在图1所示的方法基础上完成,该方法提供了确定目标区域及关键位置,并控制虚拟角运动的具体实现方式。该方法中,目标区域中的障碍物具体为板子,因此目标区域也称为绕板区域;基于受控虚拟角的角属性,受控虚拟角可以被称为平民玩家或求生者;与受控虚拟角的角属性不同的虚拟角可以被称为屠夫玩家或监管者;历史对局记录具体以录像的方式记录。
77.该方法主要通过以下方式实现:
78.(1)绕板区域确定:对真实玩家的录像进行解析,提取平民玩家与屠夫玩家距离在一定范围内的平民玩家坐标(相当于上述“第一位置”),采用无监督聚类算法k-means对坐标进行聚类,得到适合于平民进行绕板的区域(相当于上述“目标区域”)。
79.具体而言,首先对玩家的录像进行解析,提取平民玩家与屠夫玩家距离在一定范围内的平民玩家坐标。由于平民在恐惧半径范围内会出现心跳,此时能感受到屠夫在自己周围,近而进入躲避的状态,因此,可以将一定范围设置为恐惧半径即380码,即获得如图2所示的在游戏地图中标注的平面玩家坐标。
80.然后采用k-means算法对得到的平面玩家坐标进行聚类,并根据k-means算法结果,可以得到如图3中四种圆形区域内的聚类结果(不同圆形区域内的点属于不同的类别),考虑到数据噪声的影响,舍弃类别中点数较少的区域(图3中)以及离聚类中心过于远的点
(图中圆形区域外的点)。以聚类中心为圆心,聚类中心到该类别未被舍弃点最远的距离为半径做圆。每个圆内区域,即为绕板区域。位于绕板区域内点的集合可记为{n1,n2,n3,

,nm}。
81.(2)绕板关键点(相当于上述“关键位置”)确定:对每个绕板区域内的平民玩家坐标再次做k-means聚类处理。预先获取每张地图中,所有障碍物的轮廓信息后,可以基于绕板区域中的障碍物的位置,获得其轮廓信息。在该障碍物的轮廓上按一定的方式取点,利用knn有监督聚类算法判别点集中点的类别,每确定一个点集中点的类别,便在k-means聚类中剔除该类别,重复上述步骤,直到点集中的点被分配完毕或者类别被分配完毕。
82.具体而言,在确定了绕板区域后,还需要在绕板区域内确定一系列关键点,作为组成该区域中绕板路径上的一系列点。因此对于每个绕板区域内再次做k-means聚类,以图2中标注序号1的圆形区域为例,可以得到如图3所示的聚类结果,其中不同灰度的点属于不同的类别。
83.每个类别均有自己的聚类中心点ci。由于贴模行走距离最短,一般而言都贴着障碍物模型确定关键点di,因此可以在贴模区域上寻可以作为关键点的位置点。从数据上而言,作为关键点的di一定与某个聚类中心ci距离不会很远。其中,障碍物与路块交界处的一定范围内的区域可以作为贴模区域。
84.在绕板区域中的障碍物轮廓上按一定的方式取点,但彼此最近间隔不得小于ε取点,点集为{p1,p2,p3,

,pn}。利用knn有监督聚类算法判别点集中点的类别,knn的算法思路是一个样本在特征空间中的k个最相似(即在特征空间中最相近)的样本中的大多数属于一类别,则该样本也属于这个类别。
85.在这里,取k=3。考虑到pi与ci距离不会很远,点ci为聚类中心,则作为该类的ni距离pi也不会很远,因此与p1点最相近的点ni需要保证:
[0086][0087]
其中,α为常数。d(p1,ni)即为p1与点ni之间的欧式距离。若在平民玩家坐标无法到k=3个ni,则将该pi点舍弃。
[0088]
接着根据knn算法计算点所属类别,如果与p1点最相近的3个点中2个点属于第一类别,1个点属于第二类别,则p1点属于第一类别。
[0089]
游戏场景中,模型轮廓上存在的关键点数量有限,一般而言每一类别对应的关键点只有1个,因此当类别确定后,在计算类别时,剔除该采样点的所属类别。重复上述步骤,直到点集中的点被分配完毕或者类别被分配完毕。
[0090]
(3)绕板路径确定:利用在获取绕板区域时平民坐标的序列化信息,根据序列化信息分别计算平民的每个位置变化与绕板关键点之间的两两欧式距离,取每个位置对应的欧式距离最小的绕板关键点。将序列化信息对应的关键点路径在数据库中分别数量自增1。在模型使用过程中,根据平民ai位置是否在绕板区域内,若在绕板区域内,计算与当前平民ai位置最近的绕板关键点,让平民ai抵达该关键点之后,绕板路径的下一个关键点的概率与
数据库中关键点到下一个关键点的数量成正比。
[0091]
针对某个绕板区域,选取该区域内的平民玩家坐标点集{q1,q2,q3,

,qm}。该点集的序列化信息包括:在某一个录像数据中,平民的位置变化为从q
1-》q
3-》q
5-》

,分别计算平民的每个位置变化点与绕板关键点之间的两两欧式距离,取每个位置对应的欧式距离最小的绕板关键点。
[0092]
如果确定q
1-》q
3-》q
5-》

对应的绕板关键点为p
7-》p
3-》p
1-》

。在数据库中,分别增将p
7-》p3、p
3-》p1、p
1-》

数量加1,其中,p
7-》p3、p
3-》p1、p
1-》

分别视为一种移动关系,该移动关系的数量统计是基于平民玩家坐标点集的序列化信息完成。
[0093]
当平民ai抵达距离当前位置最近的关键点pi之后,移动到绕板路径中下一个绕板关键点(p
x
,py或pz)的概率与数据库中pi到此位置(即pi与p
x
,py或pz的移动关系)的数量成正比。如统计后,pi到达p
x
的次数为3,pi到达py的次数为7,pi到达pz的次数为10,则确定p
x
为下一绕板关键点的概率为0.15,确定py为下一绕板关键点的概率为0.35,确定pz为下一绕板关键点的概率为0.5。按以上方式重复以上步骤,直到被平民ai屠夫击中或者绕板区域的板子均被使用为止。
[0094]
该方法将玩家录像数据利用聚类算法进行无“显式”训练,避免专业的策划去写大量的人工规则去频繁修改调整行为树,让游戏ai在拟人化层面与玩家较为相似,还可以让监管者玩家体验到博弈的快感。即使固定场景表现也可以较为多样,不容易被玩家识别出是ai;相较于强化学习、迁移学习等因算力要求高、工期长的方式,可以更快速、更高效的落地。
[0095]
对于上述方法实施例,参见图5所示的一种虚拟角的运动控制装置,该装置包括:
[0096]
当前位置获取模块502,用于获取受控虚拟角在虚拟场景中的当前位置;
[0097]
当前位置区域确定模块504,用于基于当前位置确定受控虚拟角是否位于虚拟场景中的目标区域;其中,目标区域预先基于历史对局记录中,与受控虚拟角的角属性相同的第一虚拟角在虚拟场景中的位置确定;
[0098]
目标位置确定模块506,用于如果受控虚拟角位于目标区域,基于受控虚拟角的当前位置,从目标区域预设的关键位置中确定目标位置;其中,关键位置基于目标区域中的障碍物的位置,以及历史对局记录中,第一虚拟角在虚拟场景中的位置确定;
[0099]
移动控制模块508,用于控制受控虚拟角从当前位置移动至目标位置。
[0100]
上述一种虚拟角的运动控制装置,获取受控虚拟角在虚拟场景中的当前位置;基于当前位置确定受控虚拟角是否位于虚拟场景中的目标区域;如果受控虚拟角位于目标区域,基于受控虚拟角的当前位置,从目标区域预设的关键位置中确定目标位置;其中,关键位置基于目标区域中的障碍物的位置,以及历史对局记录中,第一虚拟角在虚拟场景中的位置确定;控制受控虚拟角从当前位置移动至目标位置。上述方式中,关键位置基于历史对局记录中与受控虚拟角的角属性相同的虚拟角在虚拟场景中的位置确定,基于从关键位置中确定的目标位置控制虚拟角运动,提高了游戏ai的拟人化及智能化程度,从而提高了玩家的游戏体验。
[0101]
上述装置还包括目标区域确定模块,目标区域确定模块包括:第一位置确定单元,用于从历史对局记录中,获取第一虚拟角的满足预设条件的第一位置;其中,预设条件包
括:第一虚拟角位于第一位置时,第二虚拟角与第一虚拟角的距离小于第一距离阈值;第二虚拟角与第一虚拟角具有对抗关系;目标区域确定单元,用于基于第一位置确定目标区域。
[0102]
上述第一位置包括多个;上述目标区域确定单元还用于:对第一位置进行聚类处理,得到第一聚类结果;其中,第一聚类结果包括至少一组初始位置组合;每组初始位置组合包括聚类中心以及至少一个第一位置;基于第一聚类结果确定目标区域。
[0103]
上述目标区域确定单元还用于:对至少一组初始位置组合进行筛选处理,和/或,对初始位置组合中的第一位置进行筛选处理,得到至少一组最终位置组合;基于每组最终位置组合的聚类中心,以及最终位置组合中第一位置,确定目标区域。
[0104]
上述装置还包括关键位置确定模块,关键位置确定模块包括:聚类单元,用于对位于目标区域中的第一位置进行聚类处理,得到第二聚类结果;其中,第二聚类结果包括至少一组位置小组;每组位置小组包括聚类中心以及至少一个第一位置;目标区域中的第一位置基于历史对局记录中,第一虚拟角的位置确定;关键位置确定单元,用于基于目标区域中的障碍物的位置及第二聚类结果,确定关键位置。
[0105]
上述关键位置确定单元还用于:基于目标区域中的障碍物的位置,确定障碍物的轮廓区域;其中,轮廓区域包括:障碍物的边缘线条,和/或,距离障碍物预设距离范围内的区域;在障碍物轮廓区域进行位置采样,得到多个采样位置;基于第二聚类结果,从多个采样位置中确定关键位置。
[0106]
上述关键位置确定单元还用于:从多个采样位置中确定当前采样位置;针对当前采样位置,从第二聚类结果中查设定数量的相邻位置;相邻位置包括:与当前采样位置的距离小于预设的第二距离阈值的第一位置;如果查到当前采样位置的设定数量的相邻位置,基于相邻位置和当前采样位置确定关键位置。
[0107]
上述关键位置确定单元还用于:基于相邻位置所属的位置小组,确定当前采样位置所属的位置小组;位置小组剔除模块,用于从第二聚类结果中剔除当前采样位置所属的位置小组;继续执行从多个采样位置中确定当前采样位置的步骤,直至第二聚类结果中不存在任一位置小组;将第二聚类结果中,各个位置小组对应的采样位置确定为关键位置。
[0108]
上述装置还包括:顺序信息获取模块,用于从历史对局记录中,获取第一虚拟角在目标区域中的每个第一位置之间的移动顺序信息;移动顺序确定模块,用于基于移动顺序信息,以及第一位置与关键位置之间的距离关系,确定目标区域中关键位置之间的移动顺序信息;移动关系统计模块,用于基于关键位置之间的移动顺序信息,统计任意两个关键位置之间发生移动关系的次数;其中,任意两个关键位置包括第一关键位置和第二关键位置;任意两个关键位置之间发生移动关系,包括:第一虚拟角从第一关键位置直接移动至第二关键位置,或者,从第二关键位置直接移动至第一关键位置。
[0109]
上述关键位置包括多个;关键位置预设有移动关系统计结果;移动关系统计结果包括:任意两个关键位置之间发生移动关系的次数;上述目标位置确定模块还用于:基于受控虚拟角的当前位置,从多个关键位置中确定距离受控虚拟角最近的最近关键位置;从移动关系统计结果中,确定受控虚拟角从最近关键位置,移动至最近关键位置以外的关键位置的概率;基于概率,从最近关键位置以外的关键位置中确定目标位置。
[0110]
上述移动控制模块还用于:控制受控虚拟角从当前位置移动至距离当前位置最
近的关键位置,再从距离当前位置最近的关键位置移动至目标位置。
[0111]
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述虚拟角的运动控制方法。
[0112]
参见图6所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述虚拟角的运动控制方法。
[0113]
进一步地,图6所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
[0114]
其中,存储器101可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0115]
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
[0116]
本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述虚拟角的运动控制方法。
[0117]
本发明实施例所提供的一种虚拟角的运动控制方法、装置以及电子设备,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
[0118]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0119]
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是
两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0120]
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者技术方案的部分可以以软件产品的形式体现出来,计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0121]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0122]
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:


1.一种虚拟角的运动控制方法,其特征在于,方法包括:获取受控虚拟角在虚拟场景中的当前位置;基于所述当前位置确定所述受控虚拟角是否位于所述虚拟场景中的目标区域;其中,所述目标区域预先基于历史对局记录中,与所述受控虚拟角的角属性相同的第一虚拟角在所述虚拟场景中的位置确定;如果所述受控虚拟角位于所述目标区域,基于所述受控虚拟角的当前位置,从所述目标区域预设的关键位置中确定目标位置;其中,所述关键位置基于所述目标区域中的障碍物的位置,以及历史对局记录中,所述第一虚拟角在所述虚拟场景中的位置确定;控制所述受控虚拟角从所述当前位置移动至所述目标位置。2.根据权利要求1所述的方法,其特征在于,所述目标区域具体通过以下方式确定:从所述历史对局记录中,获取所述第一虚拟角的满足预设条件的第一位置;其中,所述预设条件包括:所述第一虚拟角位于所述第一位置时,第二虚拟角与所述第一虚拟角的距离小于第一距离阈值;所述第二虚拟角与所述第一虚拟角具有对抗关系;基于所述第一位置确定所述目标区域。3.根据权利要求2所述的方法,其特征在于,所述第一位置包括多个;所述基于所述第一位置确定所述目标区域的步骤,包括:对所述第一位置进行聚类处理,得到第一聚类结果;其中,所述第一聚类结果包括至少一组初始位置组合;每组所述初始位置组合包括聚类中心以及至少一个第一位置;基于所述第一聚类结果确定所述目标区域。4.根据权利要求3所述的方法,其特征在于,基于所述第一聚类结果确定所述目标区域的步骤,包括:对所述至少一组初始位置组合进行筛选处理,和/或,对所述初始位置组合中的第一位置进行筛选处理,得到至少一组最终位置组合;基于每组所述最终位置组合的聚类中心,以及所述最终位置组合中第一位置,确定所述目标区域。5.根据权利要求1所述的方法,其特征在于,所述关键位置具体通过以下方式确定:对位于所述目标区域中的第一位置进行聚类处理,得到第二聚类结果;其中,所述第二聚类结果包括至少一组位置小组;每组所述位置小组包括聚类中心以及至少一个第一位置;所述目标区域中的第一位置基于所述历史对局记录中,所述第一虚拟角的位置确定;基于所述目标区域中的障碍物的位置及所述第二聚类结果,确定所述关键位置。6.根据权利要求5所述的方法,其特征在于,基于所述目标区域中的障碍物的位置及所述第二聚类结果,确定所述关键位置的步骤,包括:基于目标区域中的障碍物的位置,确定所述障碍物的轮廓区域;其中,所述轮廓区域包括:所述障碍物的边缘线条,和/或,距离所述障碍物预设距离范围内的区域;在所述障碍物轮廓区域进行位置采样,得到多个采样位置;基于所述第二聚类结果,从所述多个采样位置中确定关键位置。7.根据权利要求6所述的方法,其特征在于,基于所述第二聚类结果,从所述多个采样位置中确定关键位置的步骤,包括:从所述多个采样位置中确定当前采样位置;
针对所述当前采样位置,从所述第二聚类结果中查设定数量的相邻位置;所述相邻位置包括:与所述当前采样位置的距离小于预设的第二距离阈值的第一位置;如果查到所述当前采样位置的设定数量的相邻位置,基于所述相邻位置和所述当前采样位置确定关键位置。8.根据权利要求7所述的方法,其特征在于,基于所述相邻位置和所述当前采样位置确定关键位置的步骤,包括:基于所述相邻位置所属的位置小组,确定所述当前采样位置所属的位置小组;从所述第二聚类结果中剔除所述当前采样位置所属的位置小组;继续执行从所述多个采样位置中确定当前采样位置的步骤,直至所述第二聚类结果中不存在任一位置小组;将所述第二聚类结果中,各个位置小组对应的采样位置确定为关键位置。9.根据权利要求5所述的方法,其特征在于,基于所述目标区域中的障碍物的位置及所述第二聚类结果,确定所述关键位置的步骤之后,所述方法还包括:从所述历史对局记录中,获取所述第一虚拟角在所述目标区域中的每个所述第一位置之间的移动顺序信息;基于所述移动顺序信息,以及所述第一位置与所述关键位置之间的距离关系,确定所述目标区域中所述关键位置之间的移动顺序信息;基于所述关键位置之间的移动顺序信息,统计任意两个所述关键位置之间发生移动关系的次数;其中,任意两个所述关键位置包括第一关键位置和第二关键位置;任意两个所述关键位置之间发生移动关系,包括:所述第一虚拟角从所述第一关键位置直接移动至所述第二关键位置,或者,从所述第二关键位置直接移动至所述第一关键位置。10.根据权利要求1所述的方法,其特征在于,所述关键位置包括多个;所述关键位置预设有移动关系统计结果;所述移动关系统计结果包括:任意两个所述关键位置之间发生移动关系的次数;所述基于所述受控虚拟角的当前位置,从所述目标区域预设的关键位置中确定目标位置的步骤,包括:基于所述受控虚拟角的当前位置,从多个所述关键位置中确定距离所述受控虚拟角最近的最近关键位置;从所述移动关系统计结果中,确定所述受控虚拟角从所述最近关键位置,移动至所述最近关键位置以外的关键位置的概率;基于所述概率,从最近关键位置以外的关键位置中确定所述目标位置。11.根据权利要求1所述的方法,其特征在于,控制所述受控虚拟角从所述当前位置移动至所述目标位置的步骤,包括:控制所述受控虚拟角从所述当前位置移动至距离所述当前位置最近的关键位置,再从距离所述当前位置最近的关键位置移动至所述目标位置。12.一种虚拟角的运动控制装置,其特征在于,所述装置包括:当前位置获取模块,用于获取受控虚拟角在虚拟场景中的当前位置;当前位置区域确定模块,用于基于所述当前位置确定所述受控虚拟角是否位于所述虚拟场景中的目标区域;其中,所述目标区域预先基于历史对局记录中,与所述受控虚拟角
的角属性相同的第一虚拟角在所述虚拟场景中的位置确定;目标位置确定模块,用于如果所述受控虚拟角位于所述目标区域,基于所述受控虚拟角的当前位置,从所述目标区域预设的关键位置中确定目标位置;其中,所述关键位置基于所述目标区域中的障碍物的位置,以及历史对局记录中,所述第一虚拟角在所述虚拟场景中的位置确定;移动控制模块,用于控制所述受控虚拟角从所述当前位置移动至所述目标位置。13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行机器可执行指令以实现权利要求1-11任一项所述的虚拟角的运动控制方法。14.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使处理器实现权利要求1-11任一项的虚拟角的运动控制方法。

技术总结


本发明提供了一种虚拟角的运动控制方法、装置及电子设备,获取受控虚拟角在虚拟场景中的当前位置;基于当前位置确定受控虚拟角是否位于虚拟场景中的目标区域;如果受控虚拟角位于目标区域,基于受控虚拟角的当前位置,从目标区域预设的关键位置中确定目标位置;其中,关键位置基于目标区域中的障碍物的位置,以及历史对局记录中,第一虚拟角在虚拟场景中的位置确定;控制受控虚拟角从当前位置移动至目标位置。上述方式中,关键位置基于历史对局记录中与受控虚拟角的角属性相同的虚拟角在虚拟场景中的位置确定,基于从关键位置中确定的目标位置控制虚拟角运动,提高了游戏AI的拟人化及智能化程度,提高了玩家的游戏体验。高了玩家的游戏体验。高了玩家的游戏体验。


技术研发人员:

徐侃 徐博磊 叶均杰

受保护的技术使用者:

网易(杭州)网络有限公司

技术研发日:

2022.05.12

技术公布日:

2022/9/30

本文发布于:2024-09-20 13:34:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/3446.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:位置   角色   关键   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议