虚拟角色的控制方法、装置、终端设备及存储介质与流程

专利2023-04-09  152



1.本发明涉及游戏技术领域,尤其是涉及一种虚拟角色的控制方法、装置、终端设备及存储介质。


背景技术:

2.在复杂的三维游戏场景中,npc(non-player character,非玩家角色)以多种方式增强玩家体验,是游戏中重要的组成部分。npc的寻路能力让其可以在游戏地图中进行移动,另外,为了模仿玩家在游戏中移动的方式,npc还需要绕过障碍物,通过攀爬、跳跃、移动技能等方式加快移动速度,使npc具备拟人的寻路策略。但是,现有游戏存在npc寻路成功率低和行为模式与游戏玩家差异较大等问题。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种虚拟角色的控制方法、装置、终端设备及存储介质,可以显著提高寻路成功率,还可以提高虚拟角色的拟人化程度。
4.第一方面,本发明实施例提供了一种虚拟角色的控制方法,包括:获取虚拟角色所处三维虚拟场景的目标体素数据,以及所述虚拟角色在所述三维虚拟场景中的状态参数;通过目标寻路模型基于所述目标体素数据和所述状态参数确定待执行动作;其中,所述目标训练模型是采用强化学习算法训练得到的;基于所述待执行动作,控制所述虚拟角色在所述三维虚拟场景中移动。
5.在一种实施方式中,所述状态参数包括当前位置参数和目标位置参数;所述通过目标寻路模型基于所述目标体素数据和所述状态参数确定待执行动作的步骤,包括:获取所述三维虚拟场景的深度图像,和所述当前位置参数的前一位置参数对应的历史动作;通过目标寻路模型基于所述目标体素数据、所述状态参数、所述深度图像和所述历史动作,确定所述当前位置参数对应的待执行动作。
6.在一种实施方式中,所述目标寻路模型包括多个输入端、多个处理子网络、多层感知器和多个输出端,所述输入端与所述处理子网络一一对应;所述通过目标寻路模型基于所述目标体素数据、所述状态参数、所述深度图像和所述历史动作,确定所述当前位置参数对应的待执行动作的步骤,包括:将所述目标体素数据、所述状态参数、所述深度图像和所述历史动作分别作为各个所述输入端的输入数据;通过各个处理子网络分别提取各个所述输入端的输入数据的特征信息,并对每个所述特征信息进行特征拼接处理得到拼接特征信息;通过所述多层感知器基于所述拼接特征信息,确定各个所述输出端的输出数据,并将各个所述输出端的所述输出数据作为所述待执行动作。
7.在一种实施方式中,所述输入端包括体素输入端、状态输入端、深度输入端和动作输入端,所述处理子网络包括体素处理子网络、全连接子网络、残差子网络和transformer子网络和所述体素输入端与所述体素处理子网络连接,所述状态输入端与所述全连接子网络连接,所述深度输入端与所述残差子网络连接,所述动作输入端与所述transformer子网
络连接;所述通过各个处理子网络分别提取各个所述输入端的输入数据的特征信息的步骤,包括:通过所述体素处理子网络连接提取所述目标体素数据的特征信息;以及,通过所述全连接子网络提取所述状态参数的特征信息;以及,通过所述残差子网络提取所述深度图像的特征信息;以及,通过所述transformer子网络提取所述历史动作的特征信息。
8.在一种实施方式中,所述方法还包括:获取多个第一场景集合和第二场景集合;其中,所述第二场景集合的场景复杂度大于所述第一场景集合的场景复杂度;利用所述强化学习算法,基于所述第一场景集合对初始寻路模型进行第一阶段训练,直至所述初始寻路模型满足第一预设要求;利用所述强化学习算法,基于所述第二场景集合对满足所述第一预设要求的所述初始寻路模型进行第二阶段训练,直至所述初始寻路模型满足第二预设要求得到目标寻路模型。
9.在一种实施方式中,所述利用所述强化学习算法,基于所述第一场景集合对初始寻路模型进行第一阶段训练的步骤,包括:将所述第一场景集合中第一预设场景的第一体素数据作为所述初始寻路模型的模型状态,以及将所述虚拟角色在所述第一预设场景中的第一动作作为所述初始寻路模型的模型动作;确定所述寻路模型对应的奖励函数,并利用所述强化学习算法,基于所述模型状态、所述模型动作和所述奖励函数对所述初始寻路模型进行第一阶段训练。
10.在一种实施方式中,所述确定所述初始寻路模型对应的奖励函数的步骤,包括:根据所述虚拟角色在所述第一预设场景中的当前点、所述当前点对应的前一点和目标点确定中间奖励;或者,根据所述虚拟角色从所述前一点移动至所述当前点所用的移动时间确定时间惩罚;或者,根据所述虚拟角色在所述第一预设场景中的初始点和所述目标点确定稀疏奖励;将所述中间奖励、所述时间惩罚和所述稀疏奖励中的一种或多种确定为所述初始寻路模型对应的奖励函数。
11.在一种实施方式中,所述待执行动作包括角色移动参数,所述移动参数包括角色移动方向和角色行为动作;所述基于所述待执行动作,控制所述虚拟角色在所述三维虚拟场景中移动的步骤,包括:触发所述虚拟角色执行所述角色行为动作,并按照所述角色移动方向在所述三维虚拟场景中移动。
12.在一种实施方式中,所述待执行动作还包括相机移动参数,所述相机移动参数包括相机水平移动方向和相机竖直移动方向;在所述基于所述待执行动作,控制所述虚拟角色在所述三维虚拟场景中移动的步骤之后,所述方法还包括:控制所述三维虚拟场景的虚拟相机按照所述相机水平移动方向和所述相机竖直移动方向,在所述三维虚拟场景中移动。
13.在一种实施方式中,所述获取虚拟角色所处三维虚拟场景的目标体素数据的步骤,包括:获取虚拟角色所处三维虚拟场景的初始体素数据;根据所述三维虚拟场景包含的物体材质,对所述初始体素数据中每个元素进行赋值得到目标体素数据;其中,所述目标体素数据中的元素用于表征所述元素对应的物体材质;或者,将所述初始体素数据分别与所述三维虚拟场景包含的物体材质进行关联,对于每个所述物体材质,将该物体材质关联的初始体素数据中与该物体材质匹配的元素进行赋值,得到该物体材质关联的目标体素数据。
14.第二方面,本发明实施例还提供一种虚拟角色的控制装置,包括:获取模块,用于
获取虚拟角色所处三维虚拟场景的目标体素数据,以及所述虚拟角色在所述三维虚拟场景中的状态参数;动作确定模块,用于通过目标寻路模型基于所述目标体素数据和所述状态参数确定待执行动作;其中,所述目标训练模型是采用强化学习算法训练得到的;控制模块,用于基于所述待执行动作,控制所述虚拟角色在所述三维虚拟场景中移动。
15.第三方面,本发明实施例还提供一种终端设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现第一方面提供的任一项所述的方法。
16.第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面提供的任一项所述的方法。
17.本发明实施例提供的一种虚拟角色的控制方法、装置、终端设备及存储介质,首先获取虚拟角色所处三维虚拟场景的目标体素数据,以及虚拟角色在三维虚拟场景中的状态参数,再通过目标寻路模型基于目标体素数据和状态参数确定待执行动作,最后基于待执行动作,控制虚拟角色在三维虚拟场景中移动。上述方法可以通过目标寻路模型基于三维虚拟场景的目标体素数据和状态参数确定待执行动作,其中,目标体素数据可以使虚拟角色对三维虚拟场景有更精细的感知能力,并在此基础上控制虚拟角色在三维虚拟场景中移动,从而显著提高寻路成功率,还可以提高虚拟角色的拟人化程度。
18.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
19.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
20.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明实施例提供的一种虚拟角色的控制方法的流程示意图;
22.图2为本发明实施例提供的一种三维虚拟游戏场景及其初始体素数据的示意图;
23.图3为本发明实施例提供的一种目标寻路模型的示意图;
24.图4为本发明实施例提供的一种体素处理子网络的结构示意图;
25.图5为本发明实施例提供的另一种三维虚拟游戏场景及其初始体素数据的示意图;
26.图6为本发明实施例提供的一种虚拟角色的控制装置的结构示意图;
27.图7为本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
28.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发
明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.目前,npc也可作为游戏中的ai(artificial intelligence,人工智能)伙伴,而ai伙伴的智能程度直接关系到一款游戏的娱乐性和生命周期。传统的游戏ai伙伴主要采用了基于规则的方法,其中典型代表包括:有限状态机(finite state machine)、行为树(behavior tree)等。时至今日,这些基于规则的方法仍被各类商业游戏广泛采用。a-star等传统的寻路算法大多适用于在一个类2d平面上的寻路,而由于三维场景在纵向上的巨大落差以及特有的动作例如飞行、瞬间传送等,包括攀爬、飞行动作模式,传统寻路算法的成功率不仅大打折扣,机器人的行为模式也会与其他人类玩家出现比较大的差别,从而更容易被玩家所发现。
30.具体的,现有三维场景寻路方案主要为以下两种,(1)使用图结构调用a-star等寻路算法,(2)通过行为树进行寻路。
31.对于上述方案(1),图的正式表达式是g=(v,e),v是代表顶点的集合,e和v是一种二元关系,可以理解为边,比如有条边从顶点u到顶点v结束,那么e可以用(u,v)来表示这条边。具体的有向图和无向图,也是边是否有方向来区分。
32.现有的技术方案一先把游戏里的地图建模成上述的图结构,然后针对建模好的图调用a-star等寻路算法来寻找最优路线。在a-star算法中,如果以g(n)表示从起点到任意顶点n的实际距离,h(n)表示任意顶点n到目标顶点的估算距离(根据所采用的评估函数的不同而变化),那么a-star算法的估算函数为:f(n)=g(n)+h(n)。这个公式遵循以下特性:(1)如果g(n)为0,即只计算任意顶点n到目标的评估函数h(n),而不计算起点到顶点n的距离,则算法转化为使用贪心策略的最良优先搜索,速度最快,但可能得不出最优解;(2)如果h(n)不大于顶点n到目标顶点的实际距离,则一定可以求出最优解,而且h(n)越小,需要计算的节点越多,算法效率越低,常见的评估函数有——欧几里得距离、曼哈顿距离、切比雪夫距离;(3)如果h(n)为0,即只需求出起点到任意顶点n的最短路径g(n),而不计算任何评估函数h(n),则转化为最短路问题问题,即dijkstra算法,此时需要计算最多的顶点。
33.实际使用中,我们通常取h(n)为两节点间的曼哈顿距离,这样估价函数f(n)会或多或少的受距离估计值h(n)的制约,节点距目标点近,h值小,f值相对就小,能保证最短路的搜索向终点的方向进行,效果明显优于dijkstra算法的毫无方向的向四周搜索。
34.方案(1)的流程包括:生成空的open表和close表;将起点s放入open表;如果open表为空则结束,如果open表不为空,则将open表中节点按照估价函数进行排序,得到估价函数值最小的节点u;将u从open表中移除,以及将u放入close表中;如果u是目标节点,则回溯close表得到路径并结束,如果u不是目标节点,则将u的所有邻接点按照邻接点规则加入到open表。
35.然而,上述方案(1)需要把游戏场景转换成图结构,这意味着要把场景划分成若干个多边形,这会导致ai伙伴寻路时只会在这些多边形的边上行走,而不会到达多边形的内部,路线会很单一。另外,在大型复杂3d场景中,划分的图结构可能并不连通,而诸如a-star等寻路算法只能在连通图中进行寻路,在多张不连通的图中无法使用。
36.对于上述方案(2),即人为编写规则使智能体在特定场景下具有一定的拟人行为,
例如在目标点与当前位置有高度差时使用跳跃,否则使用疾跑。但是,如果游戏中动作系统比较复杂,不但规则很难写得尽善尽美,而且ai伙伴会不能利用游戏中的快速移动动作找到真正的最快到达路径。
37.基于此,本发明实施提供了一种虚拟角色的控制方法、装置、终端设备及存储介质,可以显著提高寻路成功率,还可以提高虚拟角色的拟人化程度。
38.在本公开其中一种实施例中的虚拟角色的控制方法可以运行于本地终端设备或者是终端设备。当虚拟角色的控制方法运行于终端设备时,该方法则可以基于云交互系统来实现与执行,其中,云交互系统包括终端设备和客户端设备。
39.在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,游戏中信息的显示方法的储存与运行是在云游戏终端设备上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行信息处理的为云端的云游戏终端设备。在进行游戏时,玩家操作客户端设备向云游戏终端设备发送操作指令,云游戏终端设备根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
40.在一可选的实施方式中,以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
41.在一种可能的实施方式中,本公开实施例提供了一种虚拟角色的控制方法,通过终端设备提供图形用户界面,其中,终端设备可以是前述提到的本地终端设备,也可以是前述提到的云交互系统中的客户端设备。
42.下面以具体的实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
43.为便于对本实施例进行理解,首先对本发明实施例所公开的一种虚拟角色的控制方法进行详细介绍,参见图1所示的一种虚拟角色的控制方法的流程示意图,该方法主要包括以下步骤s102至步骤s106:
44.步骤s102,获取虚拟角色所处三维虚拟场景的目标体素数据,以及虚拟角色在三维虚拟场景中的状态参数。其中,虚拟角色可以为ai伙伴(也即,npc)或者玩家控制的游戏角色,目标体素数据也即三维矩阵或四位矩阵,矩阵中每个元素用于表征三维虚拟场景中某坐标的物体材质,状态参数可以包括当前位置参数和目标位置参数。在一种实施方式中,由于游戏本身包含体素信息,因此可以直接获取三维虚拟场景的初始体素数据,再对初始体素数据进行材质处理,即可得到用于表征三维虚拟场景中各坐标处物体材质的目标体素数据,此外,目标位置参数可预先配置,还可以直接读取虚拟角色在三维虚拟场景中的坐标
作为当前位置参数。
45.步骤s104,通过目标寻路模型基于目标体素数据和状态参数确定待执行动作。其中,待执行动作可以包括多种类型的动作,诸如包括角色类动作(也可称之为,角色移动参数)和/或相机类动作(也可称之为,相机移动参数),角色类动作又可以包括诸如角色移动方向和角色行为动作等,相机类动作又可以包括诸如相机水平移动方向和相机竖直移动方向等。另外,上述目标寻路模型可以采用强化学习训练得到。在一种实施方式中,目标寻路模型的输入包括目标体素数据和状态参数,还包括三维虚拟场景的深度图像和当前位置参数的前一位置参数对应的历史动作,输出为上述待执行动作。
46.步骤s106,基于待执行动作,控制虚拟角色在三维虚拟场景中移动。在一种实施方式中,可以根据待执行动作中的角色类动作控制虚拟角色在三维虚拟场景中移动。在另一种实施方式中,还可以根据待执行动作中的相机类动作控制虚拟相机在三维虚拟场景中移动,以通过虚拟相机拍摄虚拟角色在三维虚拟场景中移动的游戏画面。
47.本发明实施例提供的虚拟角色的控制方法,可以通过目标寻路模型基于三维虚拟场景的目标体素数据和状态参数确定待执行动作,其中,目标体素数据可以使虚拟角色对三维虚拟场景有更精细的感知能力,并在此基础上控制虚拟角色在三维虚拟场景中移动,从而显著提高寻路成功率,还可以提高虚拟角色的拟人化程度。
48.为便于对上述步骤s102进行理解,本发明实施例提供了一种获取虚拟角色所处三维虚拟场景的目标体素数据的实施方式,参见如下步骤(1)至(2):
49.(1)获取虚拟角色所处三维虚拟场景的初始体素数据。在实际应用中,体素数据可精细刻画四周环境,诸如图2所示的一种三维虚拟游戏场景及其初始体素数据的示意图,初始体素数据可通过不同颜色代表不同的物体材质,物体材质可以包括草地、石块、瓦片、木头等。体素数据是一种常用的三维数据表结构,用固定大小的立方块作为最小单元,是三维中的像素,由于其结构化的特性,因此体素数据可直接作为目标寻路模型的输入。进一步的,游戏中的体素数据去除了杂草等遮挡视线的无效信息,因此相较于现有技术中直接使用三维虚拟场景的场景图像或深度图像,本发明实施例可以更为高效地获取待执行动作。
50.(2)根据三维虚拟场景包含的物体材质和初始体素数据确定目标体素数据。在实际应用中,体素数据的材质表征及精度是影响准确率的重要精度,因此为更直观地体现体素数据的材质表征,需要对初始体素数据进行相应的材质处理,示例性的,以某三维虚拟场景为例,该游戏中物体材质共21种,假设在作为目标寻路模型的输入数据前,该初始体素数据为三维矩阵:m*n*p,并针对该三维矩阵进行材质处理,具体可参见如下方式一至方式二:
51.方式一:根据三维虚拟场景包含的物体材质,对初始体素数据中每个元素进行赋值得到目标体素数据。其中,目标体素数据中的元素用于表征元素对应的物体材质,赋予元素的每个数值分别对应有一个物体材质。
52.在一种实施方式中,使用数值0-20表征21种物体材质,例如,该三维矩阵中一元素对应的数值为“1”,表征其物体材质为木头,另一元素对应的数值为“2”,表征其物体材质为石块,通过对三维矩阵中每个元素进行赋值,即可确定各个元素所表征的物体材质,赋值后的三维矩阵即为目标体素数据,需要说明的是,上述物体材质的数量以及使用的数值可以根据实际需求而设定,本技术不作具体限定。
53.在另一种实施方式中,使用数值0-20表征21种物体材质,并对其进行归一化处理,
cnn可以采用resnet结构实现。
60.对于上述当前位置参数和目标位置参数,可以使用全连接层处理;对于上述历史动作,可以使用transformer子网络提取历史动作之间的关联性特征;对于上述深度图像,可以使用残差子网络对深度图像进行特征提取。
61.步骤3,通过多层感知器基于拼接特征信息,确定各个输出端的输出数据,并将各个输出端的输出数据作为待执行动作。请继续参见图3,图3示意出多层感知器可通过三个全连接层实现,多层感知器分别连接四个输出端,以分别输出角色移动方向(move)、角色行为动作(other)、相机水平移动方向(yaw)和相机竖直移动方向(pitch)4个动作,该4个动作构成了智能体的整个动作空间。在实际应注意,上述4个动作均为离散动作,其中,角色移动方向包括no-op(发呆)和向周围八个方向移动;相机水平移动方向包括使虚拟相机向左或向右移动;相机竖直移动方向包括使虚拟相机向上或向下移动;角色行为动作包括疾跑、跳跃、滑铲和使用道具快速移动等。
62.对于前述实施例提供的目标寻路模型,本发明实施例还提供了一种利用强化学习算法训练目标寻路模型的实施方式,具体可参见如下步骤a至步骤c:
63.步骤a,获取多个第一场景集合和第二场景集合。其中,第二场景集合的场景复杂度大于第一场景集合的场景复杂度。示例性的,第一场景集合可以包括指定数量的典型地形区域,诸如寺庙区域、沼泽区域、矿洞区域、草地区域等障碍物密度和形状差别不同的区域,第二场景集合可以包括游戏中的全全地图。
64.步骤b,利用强化学习算法,基于第一场景集合对初始寻路模型进行第一阶段训练,直至初始寻路模型满足第一预设要求。其中,第一预设要求可以为虚拟对象达到目标点的到达率,当利用该初始寻路模型控制虚拟对象在第一场景集合中进行移动且达到目标点的概率大于上述到达率时,即可确定初始寻路模型满足第一预设要求。
65.步骤c,利用强化学习算法,基于第二场景集合对满足第一预设要求的初始寻路模型进行第二阶段训练,直至初始寻路模型满足第二预设要求得到目标寻路模型。其中,第二预设要求也可以为虚拟对象达到目标点的到达率,当利用该初始寻路模型控制虚拟对象在第二场景集合中进行移动且达到目标点的概率大于上述到达率时,即可确定初始寻路模型满足第二预设要求,并将满足第二预设要求的初始寻路模型作为目标寻路模型。
66.在实际应用中,上述第一阶段训练和第二阶段训练的训练方案不同,仅存在细微区别,诸如第二阶段训练由于全地图地形较为复杂,因此任务的最大步长需要加大。
67.现已第一训练阶段为例,提供了一种对初始寻路模型进行训练的实施方式,参见如下步骤b1至步骤b2:
68.步骤b1,将第一场景集合中第一预设场景的第一体素数据作为初始寻路模型的模型状态,以及将虚拟角色在第一预设场景中的第一动作作为初始寻路模型的模型动作。在一种实施方式中,本发明实施例采用强化学习对初始寻路模型进行训练,其中,初始寻路模型的状态s为前述第一体素数据,该第一体素数据也即训练阶段的目标体素数据,初始寻路模型的状态a为第一动作,该第一动作也即训练阶段的待执行动作。
69.在实际应用中,由于体素数据的精度也对环境刻画产生影响,诸如图5所示的另一种三维虚拟游戏场景及其初始体素数据的示意图,相同大小m*n*p的三维矩阵,在精度不同时能表征的地形范围差异很大,精度越高的体素数据在相同矩阵大小时表征的地图范围越
小,细节越多;精度低的体素通过牺牲局部细节的方式提高了表征的地图范围。具体训练时体素精度的选择需要综合考虑实际问题所需要的视野和精度、神经网络处理的速度,对于寻路ai伙伴而言,优选地,可使用1m精度和0.5m精度,该精度足以让ai伙伴感知环境并具有周围视野。
70.步骤b2,确定初始寻路模型对应的奖励函数,并利用强化学习算法,基于模型状态、模型动作和奖励函数对初始寻路模型进行第一阶段训练。本发明实施例提供了一种确定奖励函数r的实施方式,具体的:(1)根据虚拟角色在第一预设场景中的当前点、当前点对应的前一点和目标点确定中间奖励;(2)根据虚拟角色从前一点移动至当前点所用的移动时间确定时间惩罚;(3)根据虚拟角色在第一预设场景中的初始点和目标点确定稀疏奖励;(4)将中间奖励、时间惩罚和稀疏奖励中的一种或多种确定为初始寻路模型对应的奖励函数。本发明实施例提供的奖励函数r采用稀疏奖励和中间奖励结合的方式,稀疏奖励是在智能体到达目标点时结束本回合给的最终奖励,为了避免奖励过于稀疏导致的学习难度过大,中间奖励采用即时的距离奖励,鼓励ai伙伴向目标点靠近,计算方式为当前点距离目标点的距离减去前一点距离目标点的距离。为了鼓励ai伙伴更快地到达目标点,学会使用快速移动道具进行远距离快速位移,中间奖励还添加了时间相关惩罚,每做一次决策都有少量的惩罚。本发明实施例使用的深度强化学习算法进行训练,使智能体能不断与游戏环境进行探索交互,通过最大化奖励函数r来自主学习寻路中的各种组合动作,以及避开障碍物,离开房子等封闭区域等。
71.在实际应用中,第二训练阶段的训练过程可参见前述第一训练阶段,本发明实施例对此不在进行赘述。本发明实施例提供的训练方法,在复杂的三维虚拟环境中,让ai伙伴一次性学会寻路的全部技巧往往是十分困难的,因此本发明实施例引入了课程学习的训练方式,让ai伙伴可以由易到难的学习到各种技巧。为了使ai伙伴学会使用特殊道具进行快速移动,本发明实施例采用了前期只要使用该道具就给出奖励来鼓励ai伙伴尝试该动作,但是在其使用率达到一定程度后提高奖励标准,即只有高质量的使用道具才会给出奖励的方式来逐步提高其对于该动作的掌握程度。
72.在一种实施方式中,在控制虚拟角色在三维虚拟场景中移动时,可以触发虚拟角色执行角色行为动作,并按照角色移动方向在三维虚拟场景中移动。示例性的,触发虚拟角色使用道具快速向角色移动方向进行移动。
73.在另一种实施方式中,还可以控制三维虚拟场景的虚拟相机按照相机水平移动方向和相机竖直移动方向,在三维虚拟场景中移动,从而通过虚拟相机采集虚拟角色在三维虚拟场景中移动的画面。
74.本发明实施例提供的虚拟角色的控制方法,通过应用深度强化学习算法,综合使用位置坐标等标量信息,使用游戏中的体素信息进行建模,使寻路ai伙伴能自主地在复杂三维场景中进行探索学习,相比于传统寻路算法,本发明实施例具有更高的寻路成功率,以及具有更高的拟人化程度。具体的,(1)使用游戏中的体素信息进行建模,使寻路ai伙伴对周围的三维虚拟环境有精细的感知能力,能获取地形地貌、材质等信息;(2)使用深度神经网络对状态感知进行处理:包括使用3d-cnn和resnet处理体素三维矩阵,使用transformer结构处理历史信息二维矩阵,使用fc对其他标量信息进行处理;(3)使用深度强化学习算法训练寻路ai伙伴,使其能在游戏中自主探索和学习寻路;(4)使用课程学习的方式,逐步扩
大ai可探索的区域,避免因为任务设置过难导致ai伙伴无法学会寻路。
75.综上所述,本发明实施例提供的虚拟角色的控制方法,在复杂三维场景中,本发明实施例的寻路到达率比与传统方案有较大提升,在游戏内设置任意远距离目标可以达到90%以上的寻路到达率,并且寻路ai伙伴能自主使用游戏中的特殊道具、装备和机制进行移动,具备一定的拟人能力。相比于现有技术方案而言,本发明实施例的寻路ai伙伴在到达率和表现上都有了大幅提升。具体的:(1)寻路成功率高:通过引入强化学习算法,ai寻路的平均成功率从59%提升至86%,更重要的是,在部分困难目标点上,寻路成功率从37%提升至74%,获得了一倍的性能提升;(2)行为拟人化程度高:除了量化指标方面的大幅提升外,通过强化学习算法训练得到的寻路ai在行为模式上会更接近人类,能够熟练的使用疾跑、跳跃等基本行为动作,可以自主调整视角并在跨越沟壑、攀爬建筑时合理的使用道具快速接近目标点,强化学习ai甚至学会了蓄力滑步、滑铲小跳等高阶操作。
76.对于前述实施例提供的虚拟角色的控制方法,本发明实施例提供了一种虚拟角色的控制装置,参见图6所示的一种虚拟角色的控制装置的结构示意图,该装置主要包括以下部分:
77.获取模块602,用于获取虚拟角色所处三维虚拟场景的目标体素数据,以及虚拟角色在三维虚拟场景中的状态参数;
78.动作确定模块604,用于通过目标寻路模型基于目标体素数据和状态参数确定待执行动作;其中,所述目标训练模型是采用强化学习算法训练得到的;
79.控制模块606,用于基于待执行动作,控制虚拟角色在三维虚拟场景中移动。
80.本发明实施例提供的虚拟角色的控制装置,可以通过目标寻路模型基于三维虚拟场景的目标体素数据和状态参数确定待执行动作,其中,目标体素数据可以使虚拟角色对三维虚拟场景有更精细的感知能力,并在此基础上控制虚拟角色在三维虚拟场景中移动,从而显著提高寻路成功率,还可以提高虚拟角色的拟人化程度。
81.在一种实施方式中,状态参数包括当前位置参数和目标位置参数;动作确定模块604还用于:获取三维虚拟场景的深度图像,和当前位置参数的前一位置参数对应的历史动作;通过目标寻路模型基于目标体素数据、状态参数、深度图像和历史动作,确定当前位置参数对应的待执行动作。
82.在一种实施方式中,目标寻路模型包括多个输入端、多个处理子网络、多层感知器和多个输出端,输入端与处理子网络一一对应;动作确定模块604还用于:将目标体素数据、状态参数、深度图像和历史动作分别作为各个输入端的输入数据;通过各个处理子网络分别提取各个输入端的输入数据的特征信息,并对每个特征信息进行特征拼接处理得到拼接特征信息;通过多层感知器基于拼接特征信息,确定各个输出端的输出数据,并将各个输出端的输出数据作为待执行动作。
83.在一种实施方式中,输入端包括体素输入端、状态输入端、深度输入端和动作输入端,处理子网络包括体素处理子网络、全连接子网络、残差子网络和transformer子网络和体素输入端与体素处理子网络连接,状态输入端与全连接子网络连接,深度输入端与残差子网络连接,动作输入端与transformer子网络连接;动作确定模块604还用于:通过体素处理子网络连接提取目标体素数据的特征信息;以及,通过全连接子网络提取状态参数的特征信息;以及,通过残差子网络提取深度图像的特征信息;以及,通过transformer子网络提
取历史动作的特征信息。
84.在一种实施方式中,上述装置还包括训练模块,用于:获取多个第一场景集合和第二场景集合;其中,第二场景集合的场景复杂度大于第一场景集合的场景复杂度;利用强化学习算法,基于第一场景集合对初始寻路模型进行第一阶段训练,直至初始寻路模型满足第一预设要求;利用强化学习算法,基于第二场景集合对满足第一预设要求的初始寻路模型进行第二阶段训练,直至初始寻路模型满足第二预设要求得到目标寻路模型。
85.在一种实施方式中,训练模块还用于:将第一场景集合中第一预设场景的第一体素数据作为初始寻路模型的模型状态,以及将虚拟角色在第一预设场景中的第一动作作为初始寻路模型的模型动作;确定初始寻路模型对应的奖励函数,并利用强化学习算法,基于模型状态、模型动作和奖励函数对初始寻路模型进行第一阶段训练。
86.在一种实施方式中,训练模块还用于:根据虚拟角色在第一预设场景中的当前点、当前点对应的前一点和目标点确定中间奖励;或者,根据虚拟角色从前一点移动至当前点所用的移动时间确定时间惩罚;或者,根据虚拟角色在第一预设场景中的初始点和目标点确定稀疏奖励;将中间奖励、时间惩罚和稀疏奖励中的一种或多种确定为初始寻路模型对应的奖励函数。
87.在一种实施方式中,待执行动作包括角色移动参数,移动参数包括角色移动方向和角色行为动作;控制模块606还用于:触发虚拟角色执行角色行为动作,并按照角色移动方向在三维虚拟场景中移动。
88.在一种实施方式中,待执行动作还包括相机移动参数,相机移动参数包括相机水平移动方向和相机竖直移动方向;控制模块606还用于:控制三维虚拟场景的虚拟相机按照相机水平移动方向和相机竖直移动方向,在三维虚拟场景中移动。
89.在一种实施方式中,获取模块602还用于:获取虚拟角色所处三维虚拟场景的初始体素数据;根据三维虚拟场景包含的物体材质,对初始体素数据中每个元素进行赋值得到目标体素数据;其中,目标体素数据中的元素用于表征元素对应的物体材质;或者,将初始体素数据分别与三维虚拟场景包含的物体材质进行关联,对于每个物体材质,将该物体材质关联的初始体素数据中与该物体材质匹配的元素进行赋值,得到该物体材质关联的目标体素数据。
90.本公开实施例提供了一种终端设备,具体的,该终端设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行:
91.获取虚拟角色所处三维虚拟场景的目标体素数据,以及虚拟角色在三维虚拟场景中的状态参数;通过目标寻路模型基于目标体素数据和状态参数确定待执行动作;其中,所述目标训练模型是采用强化学习算法训练得到的;基于待执行动作,控制虚拟角色在三维虚拟场景中移动。
92.在一种实施方式中,状态参数包括当前位置参数和目标位置参数;通过目标寻路模型基于目标体素数据和状态参数确定待执行动作的步骤,包括:获取三维虚拟场景的深度图像,和当前位置参数的前一位置参数对应的历史动作;通过目标寻路模型,基于目标体素数据、状态参数、深度图像和历史动作,确定当前位置参数对应的待执行动作。
93.在一种实施方式中,目标寻路模型包括多个输入端、多个处理子网络、多层感知器和多个输出端,输入端与处理子网络一一对应;通过目标寻路模型,基于目标体素数据、状
态参数、深度图像和历史动作,确定当前位置参数对应的待执行动作的步骤,包括:将目标体素数据、状态参数、深度图像和历史动作分别作为各个输入端的输入数据;通过各个处理子网络分别提取各个输入端的输入数据的特征信息,并对每个特征信息进行特征拼接处理得到拼接特征信息;通过多层感知器基于拼接特征信息,确定各个输出端的输出数据,并将各个输出端的输出数据作为待执行动作。
94.在一种实施方式中,输入端包括体素输入端、状态输入端、深度输入端和动作输入端,处理子网络包括体素处理子网络、全连接子网络、残差子网络和transformer子网络和体素输入端与体素处理子网络连接,状态输入端与全连接子网络连接,深度输入端与残差子网络连接,动作输入端与transformer子网络连接;通过各个处理子网络分别提取各个输入端的输入数据的特征信息的步骤,包括:通过体素处理子网络连接提取目标体素数据的特征信息;以及,通过全连接子网络提取状态参数的特征信息;以及,通过残差子网络提取深度图像的特征信息;以及,通过transformer子网络提取历史动作的特征信息。
95.在一种实施方式中,方法还包括:获取多个第一场景集合和第二场景集合;其中,第二场景集合的场景复杂度大于第一场景集合的场景复杂度;利用强化学习算法,基于第一场景集合对初始寻路模型进行第一阶段训练,直至初始寻路模型满足第一预设要求;利用强化学习算法,基于第二场景集合对满足第一预设要求的初始寻路模型进行第二阶段训练,直至初始寻路模型满足第二预设要求得到目标训练模型。
96.在一种实施方式中,基于第一场景集合对初始寻路模型进行第一阶段训练的步骤,包括:将第一场景集合中第一预设场景的第一体素数据作为初始寻路模型的模型状态,以及将虚拟角色在第一预设场景中的第一动作作为初始寻路模型的模型动作;确定初始寻路模型对应的奖励函数,并利用强化学习算法,基于模型状态、模型动作和奖励函数对初始寻路模型进行第一阶段训练。
97.在一种实施方式中,确定初始寻路模型对应的奖励函数的步骤,包括:根据虚拟角色在第一预设场景中的当前点、当前点对应的前一点和目标点确定中间奖励;或者,根据虚拟角色从前一点移动至当前点所用的移动时间确定时间惩罚;或者,根据虚拟角色在第一预设场景中的初始点和目标点确定稀疏奖励;将中间奖励、时间惩罚和稀疏奖励中的一种或多种确定为初始寻路模型对应的奖励函数。
98.在一种实施方式中,待执行动作包括角色移动参数,移动参数包括角色移动方向和角色行为动作;基于待执行动作,控制虚拟角色在三维虚拟场景中移动的步骤,包括:触发虚拟角色执行角色行为动作,并按照角色移动方向在三维虚拟场景中移动。
99.在一种实施方式中,待执行动作还包括相机移动参数,相机移动参数包括相机水平移动方向和相机竖直移动方向;在基于待执行动作,控制虚拟角色在三维虚拟场景中移动的步骤之后,方法还包括:控制三维虚拟场景的虚拟相机按照相机水平移动方向和相机竖直移动方向,在三维虚拟场景中移动。
100.在一种实施方式中,获取虚拟角色所处三维虚拟场景的目标体素数据的步骤,包括:获取虚拟角色所处三维虚拟场景的初始体素数据;根据三维虚拟场景包含的物体材质,对初始体素数据中每个元素进行赋值得到目标体素数据;其中,目标体素数据中的元素用于表征元素对应的物体材质;或者,将初始体素数据分别与三维虚拟场景包含的物体材质进行关联,对于每个物体材质,将该物体材质关联的初始体素数据中与该物体材质匹配的
元素进行赋值,得到该物体材质关联的目标体素数据。
101.本发明实施例提供的终端设备,可以通过目标寻路模型基于三维虚拟场景的目标体素数据和状态参数确定待执行动作,其中,目标体素数据可以使虚拟角色对三维虚拟场景有更精细的感知能力,并在此基础上控制虚拟角色在三维虚拟场景中移动,从而显著提高寻路成功率,还可以提高虚拟角色的拟人化程度。
102.本实施例运行的计算机程序的具体实施例内容,同样适用于前述虚拟角色的控制方法的实施例内容,故在此不做赘述。
103.本发明实施例提供了一种终端设备,具体的,该终端设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法。
104.图7为本发明实施例提供的一种终端设备的结构示意图,该终端设备100包括:处理器70,存储器71,总线72和通信接口73,所述处理器70、通信接口73和存储器71通过总线72连接;处理器70用于执行存储器71中存储的可执行模块,例如计算机程序。
105.其中,存储器71可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口73(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
106.总线72可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
107.其中,存储器71用于存储程序,所述处理器70在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器70中,或者由处理器70实现。
108.处理器70可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器70中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器70可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器71,处理器70读取存储器71中的信息,结合其硬件完成上述方法的步骤。
109.本公开实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行:
110.获取虚拟角色所处三维虚拟场景的目标体素数据,以及虚拟角色在三维虚拟场景
中的状态参数;通过目标寻路模型基于目标体素数据和状态参数确定待执行动作;其中,所述目标训练模型是采用强化学习算法训练得到的;基于待执行动作,控制虚拟角色在三维虚拟场景中移动。
111.在一种实施方式中,状态参数包括当前位置参数和目标位置参数;通过目标寻路模型基于目标体素数据和状态参数确定待执行动作的步骤,包括:获取三维虚拟场景的深度图像,和当前位置参数的前一位置参数对应的历史动作;通过目标寻路模型,基于目标体素数据、状态参数、深度图像和历史动作,确定当前位置参数对应的待执行动作。
112.在一种实施方式中,目标寻路模型包括多个输入端、多个处理子网络、多层感知器和多个输出端,输入端与处理子网络一一对应;通过目标寻路模型,基于目标体素数据、状态参数、深度图像和历史动作,确定当前位置参数对应的待执行动作的步骤,包括:将目标体素数据、状态参数、深度图像和历史动作分别作为各个输入端的输入数据;通过各个处理子网络分别提取各个输入端的输入数据的特征信息,并对每个特征信息进行特征拼接处理得到拼接特征信息;通过多层感知器基于拼接特征信息,确定各个输出端的输出数据,并将各个输出端的输出数据作为待执行动作。
113.在一种实施方式中,输入端包括体素输入端、状态输入端、深度输入端和动作输入端,处理子网络包括体素处理子网络、全连接子网络、残差子网络和transformer子网络和体素输入端与体素处理子网络连接,状态输入端与全连接子网络连接,深度输入端与残差子网络连接,动作输入端与transformer子网络连接;通过各个处理子网络分别提取各个输入端的输入数据的特征信息的步骤,包括:通过体素处理子网络连接提取目标体素数据的特征信息;以及,通过全连接子网络提取状态参数的特征信息;以及,通过残差子网络提取深度图像的特征信息;以及,通过transformer子网络提取历史动作的特征信息。
114.在一种实施方式中,方法还包括:获取多个第一场景集合和第二场景集合;其中,第二场景集合的场景复杂度大于第一场景集合的场景复杂度;利用强化学习算法,基于第一场景集合对初始寻路模型进行第一阶段训练,直至初始寻路模型满足第一预设要求;利用强化学习算法,基于第二场景集合对满足第一预设要求的初始寻路模型进行第二阶段训练,直至初始寻路模型满足第二预设要求得到目标训练模型。
115.在一种实施方式中,利用强化学习算法,基于第一场景集合对初始寻路模型进行第一阶段训练的步骤,包括:将第一场景集合中第一预设场景的第一体素数据作为初始寻路模型的模型状态,以及将虚拟角色在第一预设场景中的第一动作作为初始寻路模型的模型动作;确定初始寻路模型对应的奖励函数,并利用强化学习算法,基于模型状态、模型动作和奖励函数对初始寻路模型进行第一阶段训练。
116.在一种实施方式中,确定初始寻路模型对应的奖励函数的步骤,包括:根据虚拟角色在第一预设场景中的当前点、当前点对应的前一点和目标点确定中间奖励;或者,根据虚拟角色从前一点移动至当前点所用的移动时间确定时间惩罚;或者,根据虚拟角色在第一预设场景中的初始点和目标点确定稀疏奖励;将中间奖励、时间惩罚和稀疏奖励中的一种或多种确定为初始寻路模型对应的奖励函数。
117.在一种实施方式中,待执行动作包括角色移动参数,移动参数包括角色移动方向和角色行为动作;基于待执行动作,控制虚拟角色在三维虚拟场景中移动的步骤,包括:触发虚拟角色执行角色行为动作,并按照角色移动方向在三维虚拟场景中移动。
118.在一种实施方式中,待执行动作还包括相机移动参数,相机移动参数包括相机水平移动方向和相机竖直移动方向;在基于待执行动作,控制虚拟角色在三维虚拟场景中移动的步骤之后,方法还包括:控制三维虚拟场景的虚拟相机按照相机水平移动方向和相机竖直移动方向,在三维虚拟场景中移动。
119.在一种实施方式中,获取虚拟角色所处三维虚拟场景的目标体素数据的步骤,包括:获取虚拟角色所处三维虚拟场景的初始体素数据;根据三维虚拟场景包含的物体材质,对初始体素数据中每个元素进行赋值得到目标体素数据;其中,目标体素数据中的元素用于表征元素对应的物体材质;或者,将初始体素数据分别与三维虚拟场景包含的物体材质进行关联,对于每个物体材质,将该物体材质关联的初始体素数据中与该物体材质匹配的元素进行赋值,得到该物体材质关联的目标体素数据。
120.本发明实施例提供的可读存储介质,可以通过目标寻路模型基于三维虚拟场景的目标体素数据和状态参数确定待执行动作,其中,目标体素数据可以使虚拟角色对三维虚拟场景有更精细的感知能力,并在此基础上控制虚拟角色在三维虚拟场景中移动,从而显著提高寻路成功率,还可以提高虚拟角色的拟人化程度。
121.本实施例运行的程序代码具体实施例内容,同样适用于前述虚拟角色的控制方法的实施例内容,故在此不做赘述。
122.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
123.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

技术特征:
1.一种虚拟角色的控制方法,其特征在于,包括:获取虚拟角色所处三维虚拟场景的目标体素数据,以及所述虚拟角色在所述三维虚拟场景中的状态参数;通过目标寻路模型基于所述目标体素数据和所述状态参数确定待执行动作;其中,所述目标训练模型是采用强化学习算法训练得到的;基于所述待执行动作,控制所述虚拟角色在所述三维虚拟场景中移动。2.根据权利要求1所述的方法,其特征在于,所述状态参数包括当前位置参数和目标位置参数;所述通过目标寻路模型基于所述目标体素数据和所述状态参数确定待执行动作的步骤,包括:获取所述三维虚拟场景的深度图像,和所述当前位置参数的前一位置参数对应的历史动作;通过目标寻路模型基于所述目标体素数据、所述状态参数、所述深度图像和所述历史动作,确定所述当前位置参数对应的待执行动作。3.根据权利要求2所述的方法,其特征在于,所述目标寻路模型包括多个输入端、多个处理子网络、多层感知器和多个输出端,所述输入端与所述处理子网络一一对应;所述通过目标寻路模型基于所述目标体素数据、所述状态参数、所述深度图像和所述历史动作,确定所述当前位置参数对应的待执行动作的步骤,包括:将所述目标体素数据、所述状态参数、所述深度图像和所述历史动作分别作为各个所述输入端的输入数据;通过各个处理子网络分别提取各个所述输入端的输入数据的特征信息,并对每个所述特征信息进行特征拼接处理得到拼接特征信息;通过所述多层感知器基于所述拼接特征信息,确定各个所述输出端的输出数据,并将各个所述输出端的所述输出数据作为所述待执行动作。4.根据权利要求3所述的方法,其特征在于,所述输入端包括体素输入端、状态输入端、深度输入端和动作输入端,所述处理子网络包括体素处理子网络、全连接子网络、残差子网络和transformer子网络和所述体素输入端与所述体素处理子网络连接,所述状态输入端与所述全连接子网络连接,所述深度输入端与所述残差子网络连接,所述动作输入端与所述transformer子网络连接;所述通过各个处理子网络分别提取各个所述输入端的输入数据的特征信息的步骤,包括:通过所述体素处理子网络连接提取所述目标体素数据的特征信息;以及,通过所述全连接子网络提取所述状态参数的特征信息;以及,通过所述残差子网络提取所述深度图像的特征信息;以及,通过所述transformer子网络提取所述历史动作的特征信息。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取多个第一场景集合和第二场景集合;其中,所述第二场景集合的场景复杂度大于所述第一场景集合的场景复杂度;利用所述强化学习算法,基于所述第一场景集合对初始寻路模型进行第一阶段训练,直至所述初始寻路模型满足第一预设要求;利用所述强化学习算法,基于所述第二场景集合对满足所述第一预设要求的所述初始
寻路模型进行第二阶段训练,直至所述初始寻路模型满足第二预设要求得到目标寻路模型。6.根据权利要求5所述的方法,其特征在于,所述利用所述强化学习算法,基于所述第一场景集合对初始寻路模型进行第一阶段训练的步骤,包括:将所述第一场景集合中第一预设场景的第一体素数据作为所述初始寻路模型的模型状态,以及将所述虚拟角色在所述第一预设场景中的第一动作作为所述初始寻路模型的模型动作;确定所述初始寻路模型对应的奖励函数,并利用所述强化学习算法,基于所述模型状态、所述模型动作和所述奖励函数对所述初始寻路模型进行第一阶段训练。7.根据权利要求6所述的方法,其特征在于,所述确定所述初始寻路模型对应的奖励函数的步骤,包括:根据所述虚拟角色在所述第一预设场景中的当前点、所述当前点对应的前一点和目标点确定中间奖励;或者,根据所述虚拟角色从所述前一点移动至所述当前点所用的移动时间确定时间惩罚;或者,根据所述虚拟角色在所述第一预设场景中的初始点和所述目标点确定稀疏奖励;将所述中间奖励、所述时间惩罚和所述稀疏奖励中的一种或多种确定为所述初始寻路模型对应的奖励函数。8.根据权利要求1所述的方法,其特征在于,所述待执行动作包括角色移动参数,所述移动参数包括角色移动方向和角色行为动作;所述基于所述待执行动作,控制所述虚拟角色在所述三维虚拟场景中移动的步骤,包括:触发所述虚拟角色执行所述角色行为动作,并按照所述角色移动方向在所述三维虚拟场景中移动。9.根据权利要求8所述的方法,其特征在于,所述待执行动作还包括相机移动参数,所述相机移动参数包括相机水平移动方向和相机竖直移动方向;在所述基于所述待执行动作,控制所述虚拟角色在所述三维虚拟场景中移动的步骤之后,所述方法还包括:控制所述三维虚拟场景的虚拟相机按照所述相机水平移动方向和所述相机竖直移动方向,在所述三维虚拟场景中移动。10.根据权利要求1所述的方法,其特征在于,所述获取虚拟角色所处三维虚拟场景的目标体素数据的步骤,包括:获取虚拟角色所处三维虚拟场景的初始体素数据;根据所述三维虚拟场景包含的物体材质,对所述初始体素数据中每个元素进行赋值得到目标体素数据;其中,所述目标体素数据中的元素用于表征所述元素对应的物体材质;或者,将所述初始体素数据分别与所述三维虚拟场景包含的物体材质进行关联,对于每个所述物体材质,将该物体材质关联的初始体素数据中与该物体材质匹配的元素进行赋值,得到该物体材质关联的目标体素数据。11.一种虚拟角色的控制装置,其特征在于,包括:获取模块,用于获取虚拟角色所处三维虚拟场景的目标体素数据,以及所述虚拟角色在所述三维虚拟场景中的状态参数;动作确定模块,用于通过目标寻路模型基于所述目标体素数据和所述状态参数确定待
执行动作;其中,所述目标训练模型是采用强化学习算法训练得到的;控制模块,用于基于所述待执行动作,控制所述虚拟角色在所述三维虚拟场景中移动。12.一种终端设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至10任一项所述的方法。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至10任一项所述的方法。

技术总结
本发明提供了一种虚拟角色的控制方法、装置、终端设备及存储介质,包括:获取虚拟角色所处三维虚拟场景的目标体素数据,以及所述虚拟角色在所述三维虚拟场景中的状态参数;通过目标寻路模型基于所述目标体素数据和所述状态参数确定待执行动作;其中,目标训练模型是采用强化学习算法训练得到的;基于所述待执行动作,控制所述虚拟角色在所述三维虚拟场景中移动。本发明可以显著提高寻路成功率,还可以提高虚拟角色的拟人化程度。高虚拟角色的拟人化程度。高虚拟角色的拟人化程度。


技术研发人员:黄叶 王蒙 关凯 范长杰 胡志鹏
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2022.07.20
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-2268.html

最新回复(0)