首页 / 专利分类库 / 运动;游戏;娱乐活动 / 一种虚拟角色的控制方法和相关装置

一种虚拟色的控制方法和相关装置

申请号 CN202410307517.9 申请日 2024-03-18 公开(公告)号 CN117899478A 公开(公告)日 2024-04-19
申请人 腾讯科技(深圳)有限公司; 发明人 俞涛; 王亮; 付强;
摘要 本 申请 实施例 公开了一种虚拟 角 色的控制方法和相关装置,可应用 机器学习 、预训练模型技术等技术领域,获取针对第一虚拟角色的历史事件序列,历史事件序列包括在n个历史阶段分别执行的事件,即指示第一虚拟角色执行对应动作,且n个事件按照时间先后顺序排列。根据针对第一虚拟角色的历史事件序列进行预测,得到预测概率分布,即预测得到的第n+1个阶段触发各个事件的概率。对预测概率分布进行 采样 ,得到目标事件,根据目标事件,控制第一虚拟角色执行目标事件对应的动作。由此,通过预测和采样结合,以及结合历史事件序列进行预测,使得预测过程具有时序 感知 ,能够提高控制虚拟角色的多样性和一致性,提高用户体验感。
权利要求

1.一种虚拟色的控制方法,其特征在于,所述方法包括:
获取针对第一虚拟角色的历史事件序列,所述历史事件序列包括在n个阶段分别执行的事件,且n个所述事件按照时间先后顺序排列,所述事件用于指示所述第一虚拟角色执行对应动作,n为大于1的整数;
根据针对所述第一虚拟角色的历史事件序列进行预测,得到预测概率分布,所述预测概率分布包括预测所述第一虚拟角色在第n+1个阶段触发各个事件的概率;
基于所述预测概率分布进行采样,得到目标事件,所述目标事件为所述第一虚拟角色在第n+1个阶段触发的多个事件中的一个事件;
根据所述目标事件,控制所述第一虚拟角色执行所述目标事件对应的动作。
2.根据权利要求1所述的方法,其特征在于,所述根据针对所述第一虚拟角色的历史事件序列进行预测,得到预测概率分布,包括:
根据针对所述第一虚拟角色的历史事件,通过预测模型进行预测,得到所述预测概率分布;
所述预测模型的训练方式如下:
获取针对第二虚拟角色的训练事件序列,所述训练事件序列包括m个阶段分别执行的事件,且m个所述事件按照时间先后顺序排列,m为大于1的整数,针对所述第二虚拟角色的训练事件序列具有第一标签,所述第一标签用于标识所述第二虚拟角色在第m+1个阶段真实触发各个事件的概率;
根据针对所述第二虚拟角色的训练事件序列,通过初始预测模型进行预测,得到训练概率分布,所述训练概率分布用于预测所述第二虚拟角色在第m+1个阶段触发各个事件的概率;
根据虚拟资源值最大化,以及所述训练概率分布和所述第一标签之间差异最小化的训练方向,调整所述初始预测模型的模型参数,得到所述预测模型,所述虚拟资源值用于提升所述第二虚拟角色的能
3.根据权利要求2所述的方法,其特征在于,所述根据虚拟资源值最大化,以及所述训练概率分布和所述第一标签之间差异最小化的训练方向,调整所述初始预测模型的模型参数,得到所述预测模型,包括:
根据所述虚拟资源值最大化和所述训练概率分布和所述第一标签之间差异最小化的训练方向,调整所述初始预测模型的模型参数,得到待定预测模型;
获取第一待定事件序列和真实事件序列,所述第一待定事件序列包括第一预设时间段内通过所述待定预测模型预测得到的p个待定事件,所述真实事件序列包括p个所述待定事件分别对应的真实事件,p为大于1的整数;
根据所述第一待定事件序列和所述真实事件序列之间差异最小化的训练方向,调整所述待定预测模型的模型参数,得到所述预测模型。
4.根据权利要求2所述的方法,其特征在于,所述根据虚拟资源值最大化,以及所述训练概率分布和所述第一标签之间差异最小化的训练方向,调整所述初始预测模型的模型参数,得到所述预测模型,包括:
根据所述虚拟资源值最大化和所述训练概率分布和所述第一标签之间差异最小化的训练方向,调整所述初始预测模型的模型参数,得到待定预测模型;
获取第二待定事件序列,所述第二待定事件序列包括第二预设时间段内通过所述待定预测模型预测得到的k个待定事件,k为大于1的整数;
基于所述第二待定事件序列控制所述第二虚拟角色执行对应事件,得到第一角色属性数据;
根据所述第一角色属性数据,通过反馈模型进行量化处理,得到基于所述第二待定事件控制所述第二虚拟角色对应的量化拟人程度;
根据所述基于所述第二待定事件控制所述第二虚拟角色对应的量化拟人程度,调整所述待定预测模型的模型参数,得到所述预测模型;
所述反馈模型的训练方式如下:
获取第三待定事件序列,所述第三待定事件序列包括所述第二预设时间段内通过所述待定预测模型预测得到的q个待定事件,q为大于1的整数,所述第三待定事件序列具有第二标签,所述第二标签用于描述基于所述第三待定事件序列控制所述第二虚拟角色执行对应事件对应的真实拟人程度;
基于所述第三待定事件序列控制所述第二虚拟角色执行对应事件,得到第二角色属性数据;
根据所述第二角色属性数据,通过初始反馈模型进行量化处理,得到基于所述第三待定事件序列控制所述第二虚拟角色对应的量化拟人程度;
基于所述第二标签和所述基于所述第三待定事件序列控制所述第二虚拟角色对应的量化拟人程度之间差异最小化的训练方向,调整所述初始反馈模型的模型参数,得到反馈模型。
5.根据权利要求2‑4任意一项所述的方法,其特征在于,所述训练事件序列包括的m个事件的多样性大于预设多样性阈值
6.根据权利要求2‑4任意一项所述的方法,其特征在于,所述预测模型为生成式模型。
7.根据权利要求1所述的方法,其特征在于,若虚拟场景包括属于多个阵营的虚拟角色,所述第一虚拟角色为多个所述虚拟角色中的一个所述虚拟角色,则所述方法还包括:
获取针对其他虚拟角色的历史事件序列,所述其他虚拟角色为与所述第一虚拟角色属于同一阵营的虚拟角色,或所述其他虚拟角色为与所述第一虚拟角色属于不同阵营的虚拟角色,或所述其他虚拟角色为多个所述虚拟角色中除所述第一虚拟角色之外的虚拟角色;
所述根据针对所述第一虚拟角色的历史事件序列进行预测,得到预测概率分布,包括:
根据所述针对第一虚拟角色的历史事件序列和所述针对其他虚拟角色的历史事件序列进行预测,得到预测概率分布。
8.根据权利要求1所述的方法,其特征在于,若所述事件用于指示所述第一虚拟角色向对应位置移动,则所述方法还包括:
获取所述第一虚拟角色所在的虚拟场景包括的多个位置;
对多个所述位置分别进行编码,得到多个离散地点编码;
对多个所述离散地点编码进行映射,得到多个连续地点编码;
根据多个所述连续地点编码,确定所述历史事件序列。
9.根据权利要求1所述的方法,其特征在于,若所述事件用于指示所述第一虚拟角色移动至对应位置执行对应任务,则所述方法还包括:
获取虚拟场景中i个位置和j个任务,i和j为正整数;
根据i个所述位置和j个所述任务,得到i*j个所述事件;
对i*j个所述事件分别进行编码,得到i*j个离散事件编码;
对i*j个所述离散事件编码进行映射,得到i*j个连续事件编码;
根据i*j个所述连续事件编码,确定所述历史事件序列。
10.根据权利要求9所述的方法,其特征在于,所述根据所述目标事件,控制所述第一虚拟角色执行所述目标事件对应的动作,包括:
获取所述第一虚拟角色所在虚拟场景的状态数据;
根据所述目标事件和所述状态数据,确定执行所述目标事件指示的任务对应的虚拟技能;
控制所述第一虚拟角色向所述目标事件指示的位置移动,并释放所述目标事件指示的任务对应的虚拟技能,以完成所述目标事件指示的任务。
11.根据权利要求1所述的方法,其特征在于,若所述事件用于指示所述第一虚拟角色移动至对应位置通过释放对应虚拟技能执行对应任务,则所述方法还包括:
获取虚拟场景中i个位置、j个任务和t个虚拟技能;
根据i个所述位置、j个所述任务和t个所述虚拟技能,得到i*j*t个所述事件;
对i*j*t个所述事件分别进行编码,得到i*j*t个离散事件编码;
对i*j*t个所述离散事件编码进行映射,得到i*j*t个连续事件编码;
根据i*j*t个所述连续事件编码,确定所述历史事件序列。
12.一种虚拟角色的控制装置,其特征在于,所述装置包括:获取单元、预测单元、采样单元和控制单元;
所述获取单元,用于获取针对第一虚拟角色的历史事件序列,所述历史事件序列包括在n个阶段分别执行的事件,且n个所述事件按照时间先后顺序排列,所述事件用于指示所述第一虚拟角色执行对应动作,n为大于1的整数;
所述预测单元,用于根据针对所述第一虚拟角色的历史事件序列进行预测,得到预测概率分布,所述预测概率分布包括预测所述第一虚拟角色在第n+1个阶段触发各个事件的概率;
所述采样单元,用于基于所述预测概率分布进行采样,得到目标事件,所述目标事件为所述第一虚拟角色在第n+1个阶段触发的多个事件中的一个事件;
所述控制单元,用于根据所述目标事件,控制所述第一虚拟角色执行所述目标事件对应的动作。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序执行权利要求1‑11中任意一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1‑11中任意一项所述的方法。
15.一种包括计算机程序的计算机程序产品,其特征在于,当其在计算机设备上运行时,使得所述计算机设备执行权利要求1‑11中任意一项所述的方法。

说明书全文

一种虚拟色的控制方法和相关装置

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种虚拟角色的控制方法和相关装置。

背景技术

[0002] 随着人工智能(Artificial Intelligence,AI)技术的发展,可以通过AI控制虚拟角色执行各种拟人化的动作。例如,AI技术可以应用在复杂战术竞技游戏上,如通过AI技术预测虚拟角色即将执行的事件,从而实现虚拟角色的自动控制。
[0003] 虽然通过AI技术控制的虚拟角色可以战胜用户控制的虚拟角色,但其在游戏中的策略和行为往往单一且难以理解。例如,通过AI技术控制的虚拟角色A当遇到生命值低于预设生命值阈值的虚拟角色B,必然会优先触发针对虚拟角色B的攻击技能,即AI技术控制的虚拟角色满足预设条件就会执行固定事件,固定且单一,又不看当前游戏环境,拟人程度较低。
[0004] 也就是说,通过AI技术控制虚拟角色很难模拟用户控制的虚拟角色,限制了AI技术控制虚拟角色的吸引和可玩性,导致用户体验感较低。发明内容
[0005] 为了解决上述技术问题,本申请提供了一种虚拟角色的控制方法和相关装置,用于提高控制虚拟角色的多样性和一致性,提高用户体验感。
[0006] 本申请实施例公开了如下技术方案:一方面,本申请实施例提供一种虚拟角色的控制方法,所述方法包括:
获取针对第一虚拟角色的历史事件序列,所述历史事件序列包括在n个阶段分别执行的事件,且n个所述事件按照时间先后顺序排列,所述事件用于指示所述第一虚拟角色执行对应动作,n为大于1的整数;
根据针对所述第一虚拟角色的历史事件序列进行预测,得到预测概率分布,所述预测概率分布包括预测所述第一虚拟角色在第n+1个阶段触发各个事件的概率;
基于所述预测概率分布进行采样,得到目标事件,所述目标事件为所述第一虚拟角色在第n+1个阶段触发的多个事件中的一个事件;
根据所述目标事件,控制所述第一虚拟角色执行所述目标事件对应的动作。
[0007] 另一方面,本申请实施例提供一种虚拟角色的控制装置,所述装置包括:获取单元、预测单元、采样单元和控制单元;所述获取单元,用于获取针对第一虚拟角色的历史事件序列,所述历史事件序列包括在n个阶段分别执行的事件,且n个所述事件按照时间先后顺序排列,所述事件用于指示所述第一虚拟角色执行对应动作,n为大于1的整数;
所述预测单元,用于根据针对所述第一虚拟角色的历史事件序列进行预测,得到预测概率分布,所述预测概率分布包括预测所述第一虚拟角色在第n+1个阶段触发各个事件的概率;
所述采样单元,用于基于所述预测概率分布进行采样,得到目标事件,所述目标事件为所述第一虚拟角色在第n+1个阶段触发的多个事件中的一个事件;
所述控制单元,用于根据所述目标事件,控制所述第一虚拟角色执行所述目标事件对应的动作。
[0008] 另一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器以及存储器:所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行上述方面所述的方法。
[0009] 另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。
[0010] 另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面所述的方法。
[0011] 由上述技术方案可以看出,获取针对第一虚拟角色的历史事件序列,历史事件序列包括在n个历史阶段分别执行的事件,即指示第一虚拟角色执行对应动作,且n个事件按照时间先后顺序排列。根据针对第一虚拟角色的历史事件序列进行预测,得到预测概率分布,即预测得到的第n+1个阶段触发各个事件的概率。对预测概率分布进行采样,得到目标事件,根据目标事件,控制第一虚拟角色执行目标事件对应的动作。
[0012] 由此,相比于仅预测得到一个控制方式,本申请通过预测得到多个事件以及触发各个事件的概率,即第一虚拟角色可能会执行的事件均会被预测得到。而且针对预测概率分布进行采样得到的目标事件是随机的,使得针对同一游戏环境多次采样可能会得到不同的事件,从而增加第一虚拟角色执行动作的多样性,提高了虚拟角色控制的拟人程度。而且,结合历史事件序列进行预测,使得预测过程可以具有时序感知,使得第n+1个阶段的事件与前n个阶段的事件之间的一致性较高,提高了虚拟角色控制的拟人程度。故此,通过提高控制虚拟角色的多样性和一致性,提高用户体验感。附图说明
[0013] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014] 图1为本申请实施例提供的一种虚拟角色的控制方法的应用场景示意图;图2为本申请实施例提供的一种虚拟角色的控制方法的流程示意图;
图3为本申请实施例提供的一种得到目标事件的示意图;
图4为本申请实施例提供的一种得到目标事件的示意图;
图5为本申请实施例提供的一种虚拟角色的控制装置的结构示意图;
图6为本申请实施例提供的服务器的结构示意图;
图7为本申请实施例提供的终端设备的结构示意图。

具体实施方式

[0015] 下面结合附图,对本申请的实施例进行描述。
[0016] 本申请的说明书权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应”于以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0017] 由前述可知,通过AI技术控制的虚拟角色在游戏中的策略和行为往往单一且难以理解。经过研究发现,原因主要集中在当前预测模型的学习机制上。相关技术中,一般基于强化学习(Reinforcement Learning,RL)的方式来训练预测模型如何控制虚拟角色。RL通过人为设定的奖励(Reward)信号来引导预测模型朝着奖励最大化的方向学习,即基于奖励最大化的训练方向训练预测模型,从而在与游戏环境充分交互之后,预测模型通常会收敛到最大奖励对应的控制方式上。
[0018] 然而,这种学习机制会导致预测模型只关注如何获得最大奖励而忽略控制方式的多样性。例如,在多人在线战术竞技(Multiplayer Online Battle Arena,MOBA)游戏中,面对一种游戏环境时,用户通常有多种多样的控制方式去控制虚拟角色,而预测模型往往只会预测得到一种控制方式,即能让其实现最大奖励的控制方式,随着上述游戏环境出现的次数增多,每次都是基于一种控制方式控制该虚拟角色,拟人程度较低。
[0019] 但是,为了提高控制方式的多样性,相关技术中,会根据当前游戏环境,预测虚拟角色即将要去的目标虚拟位置,将与目标虚拟位置之间差值最小化以及奖励最大化作为总的训练方向,即显式地鼓励预测模型向目标虚拟位置方向移动,从而使得预测模型可以在尽可能获取虚拟角色能力相关的最大奖励的同时,也在活动路径上更接近用户,提高控制方式的多样性。
[0020] 上述方式虽然增加了虚拟角色即将要去的目标虚拟位置,但是预测模型依然只能输出一种控制方式,而非像用户一样有多种多样的控制方式去控制虚拟角色,从而导致预测模型难以模拟出用户控制虚拟角色时的多样性,拟人程度较低,用户体验感较差。
[0021] 此外,用户在一段时间内对虚拟角色的控制格往往具有很强的一致性和连续性,或者说,虚拟角色在一段时间内执行的动作一般具有一致性和连续性,使得用户控制的虚拟角色在各个阶段的控制方式往往具有高度相关性,如一局游戏中,虚拟角色的控制方式一般相似。但是,上述方式没有参考历史控制方式,使得预测过程缺乏时序感知,从而容易造成前后控制方式风格不一致、策略变化突兀等不拟人现象,最终影响用户体验。
[0022] 为了提高用户体验感,可以提高针对虚拟角色的控制方式的多样性和一致性。基于此,本申请实施例提供一种虚拟角色的控制方法和相关装置,通过预测得到多个事件以及触发各个事件的概率,即第一虚拟角色可能会执行的事件均会被预测得到。而且针对预测概率分布进行采样得到的目标事件是随机的,使得针对同一游戏环境多次采样可能会得到不同的事件,从而增加第一虚拟角色执行动作的多样性,提高了虚拟角色控制的拟人程度。而且,结合历史事件序列进行预测,使得预测过程可以具有时序感知,使得第n+1个阶段的事件与前n个阶段的事件之间的一致性较高,且较为合理,提高了虚拟角色控制的拟人程度。故此,通过提高控制虚拟角色的多样性和一致性,提高用户体验感。
[0023] 针对本申请提供的虚拟角色的控制方法可以应用于各种场景,包括但不限于技术、人工智能、智能家居、智能穿戴设备、虚拟助理、智能音箱、无人驾驶、自动驾驶、无人机、数字孪生、虚拟人、机器人、人工智能生成内容、对话式交互、智能客服、游戏AI等。下面以三个场景为例。
[0024] 场景一,游戏AI。
[0025] 在游戏中,通常会提供组队形式(即和其他虚拟角色一起完成游戏)、对抗形式(如多个虚拟角色构成两个阵营,打败对方阵营即可获取胜利)等多种游戏形式,本申请提供的虚拟角色的控制方法可以控制游戏中的任一个游戏角色,从而与用户控制的游戏角色共同完成游戏,本申请通过提高控制虚拟角色的多样性和一致性,提高用户体验感。
[0026] 场景二,机器人。
[0027] 目前,酒店、饭店、行等场所中,经常会有机器人提供各种自动服务,如酒店中的机器人可以提供自动送餐服务。但是,机器人面对一种问题只会机械的提供一种回应,如酒店中的机器人在送餐过程中若遇到客人挡路,只会停下来,并且发出“请让一让,我过不去了”的提示。采用本申请提供的虚拟角色的控制方法控制机器人后,在面对同一场景,机器人会做出多种多样且一致性较高的回应,例如,酒店中的机器人在送餐过程中若遇到客人挡路,还可以放慢速度前进,并耐心等待客人先走等,提高用户的体验感。
[0028] 场景三,智能客服。
[0029] 目前,在购物、官方服务等场景中,通过语音识别自然语言处理等技术,识别用户的关键词后,智能客服会自动回答客户咨询、提供产品信息讲解等,但是,一般面对同一关键词,智能客服只会提供一种固定回答。通过采用本申请提供的虚拟角色的控制方法控制智能客服后,面对同一关键词,不仅可以结合用户之前的提问等历史事件序列,综合看待用户问题,还能够提供多种回答,拟人程度较高,从而提高用户的体验感。
[0030] 需要说明的是,上述应用场景仅为示例,本实施例提供的虚拟角色的控制方法还可以应用于其他场景中,此处不做限定。
[0031] 本申请提供的虚拟角色的控制方法可以应用于具有虚拟角色的控制能力的计算机设备,如终端设备、服务器。
[0032] 其中,终端设备具体可以为台式计算机、笔记本电脑、智能手机、平板电脑物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等,智能车载设备可以车载导航终端和车载电脑等,便携式可穿戴设备可为智能手表、智能手环、头戴设备等,但并不局限于此。
[0033] 服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
[0034] 为了便于理解本申请实施例提供的虚拟角色的控制方法,下面以该虚拟角色的控制方法的执行主体为服务器为例,对该虚拟角色的控制方法的应用场景进行示例性介绍。
[0035] 参见图1,该图为本申请实施例提供的一种虚拟角色的控制方法的应用场景示意图。如图1所示,该应用场景中包括终端设备110、终端设备120、终端设备130、终端设备140和服务器150,终端设备110‑终端设备140均与服务器150之间可以通过通信网络进行通信。其中,通信网络使用标准通信技术和/或协议,通常为因特网,但也可以是任何网络,包括但不限于蓝牙、局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、广域网(wide area network,WAN)、移动、专用网络或者虚拟专用网络的任何组合)。
在一些实施例中,可使用定制或专用数据通信技术取代或者补充上述数据通信技术。
[0036] 终端设备110中安装有游戏客户端,用户可以通过游戏客户端登陆游戏,然后通过终端设备110向服务器150发送控制指令,从而控制游戏中的虚拟角色A参加多人竞技游戏。服务器150用于支持游戏运行,接收来自游戏客户端的控制指令。
[0037] 若本局多人竞技游戏需要5个虚拟角色参加,当满足时间阈值后,即使参与本局多人竞技游戏数量不足5个,如只有4个,即除虚拟角色A外的另外3个虚拟角色分别通过终端设备120‑终端设备140控制。为了缩短用户的等待时间,也会开启本局多人竞技游戏,服务器150会通过执行本申请实施例提供的虚拟角色的控制方法控制1个虚拟角色B参与至本局多人竞技游戏中,从而满足本局多人竞技游戏的虚拟角色数量。下面具体进行说明。
[0038] 服务器150获取针对第一虚拟角色(即虚拟角色B)的历史事件序列,如{在中路清兵、去下路支援队友、去中路清兵},即第一阶段在中路清兵、第二阶段去下路支援队友,以第三阶段去中路清兵。根据针对第一虚拟角色的历史事件序列进行预测,得到预测概率分布。该预测概率分布包括预测第四个阶段触发各个事件的概率,如第四阶段在中路清兵的概率为50%、去上路支援队友的概率为30%、去野区支援队友的概率为20%。结合历史事件序列进行预测,使得预测过程可以具有时序感知,使得第n+1个阶段的事件与前n个阶段的事件之间的一致性较高,提高了虚拟角色控制的拟人程度。
[0039] 通过预测得到多个事件以及触发各个事件的概率,即第一虚拟角色可能会执行的事件均会被预测得到。服务器150从预测概率分布中进行采样,得到目标事件,根据目标事件,控制第一虚拟角色执行目标事件对应的动作。如通过采样得到的目标事件为去上路支援队友,从而控制第一虚拟角色在第四阶段去上路支援队友。由于针对预测概率分布进行采样得到的目标事件是随机的,使得针对同一游戏环境多次采样可能会得到不同的事件,如预测概率分布包括的多个事件均会被采样得到,只有不过随着采样次数增多,各个事件出现的频率才会逐渐趋近于它们的概率值。也就是说,通过采样方式增加第一虚拟角色执行动作的多样性,提高了虚拟角色控制的拟人程度。
[0040] 由此,通过提高控制虚拟角色的多样性和一致性,提高用户体验感。
[0041] 本申请实施例所提供的虚拟角色的控制方法可以由服务器执行。但是,在本申请的其它实施例中,终端设备也可以与服务器具有相似的功能,从而执行本申请实施例所提供的虚拟角色的控制方法,或者由终端设备和服务器共同执行本申请实施例所提供的虚拟角色的控制方法,本实施例对此不做限定。
[0042] 下面通过方法实施例对本申请提供的一种虚拟角色的控制方法进行详细介绍。
[0043] 参见图2,该图为本申请实施例提供的一种虚拟角色的控制方法的流程示意图。为了便于描述,下述实施例仍以该虚拟角色的控制方法的执行主体为服务器为例进行介绍。如图2所示,该虚拟角色的控制方法包括S201‑S204。
[0044] S201:获取针对第一虚拟角色的历史事件序列。
[0045] 第一虚拟角色是多个虚拟角色中的一个虚拟角色,虚拟角色是通过非实体扮演的形象,形象可以是人物形态,还可以是动物、卡通或者其它形态,本申请实施例对此不作限定。虚拟角色可以三维形式展示,也可以二维形式展示,本申请实施例对此不作限定。虚拟角色可以是游戏中的游戏角色,也可以是机器人中安装的程序扮演的形象,如对话机器人、送餐机器人等。
[0046] 示例性的,根据控制虚拟角色的方式不同,可以将虚拟角色分为用户控制的虚拟角色和服务器控制的虚拟角色,其中,用户控制的虚拟角色是由客户端控制的在虚拟场景中可活动的对象。服务器控制的虚拟角色是由客户端或服务器上执行虚拟角色的控制方法控制的虚拟角色。
[0047] 事件用于指示第一虚拟角色执行对应动作。以游戏场景为例,事件可以为移动至哪个虚拟位置。还可以为移动至哪个虚拟位置执行哪一个任务,又可以为移动至哪个虚拟位置执行哪一个任务释放什么虚拟技能等,本申请实施例不具体限定动作的数量。
[0048] 历史事件序列包括在n个阶段分别执行的事件,且n个事件按照时间先后顺序排列,n为大于1的整数。阶段是指虚拟角色在发展过程中根据不同特点划分的段落。例如,以20分钟一局的游戏为例,可以将10秒作为一个阶段,如0‑10秒为第一个阶段,11‑20秒为第二个阶段,依次类推。以事件为移动至哪个虚拟位置执行哪一个任务为例,历史事件序列可以表示为{去中路清兵,去下路支援队友,去中路清兵,去上路支援队友},在该历史事件序列中包括4个阶段分别执行的事件,如第三阶段执行去中路清兵。
[0049] 可以理解的是,在本申请的具体实施方式中,涉及到从用户的客户端获取控制指令等与用户相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户单独许可或者单独同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0050] S202:根据针对第一虚拟角色的历史事件序列进行预测,得到预测概率分布。
[0051] 由于在一段时间内,用户控制的虚拟角色在控制方式上具有连续性,如用户控制的虚拟角色在游戏中控制方式风格一致,不会出现策略变化突兀等情况。而且,针对第一虚拟角色的历史事件序列可以表示第一虚拟角色在一段时间内(即前n个阶段)分别执行的事件,且多个事件具有连续性,故可以基于针对第一虚拟角色的历史事件序列进行预测,得到针对第一虚拟角色的预测概率分布,即第一虚拟角色在第n+1个阶段触发各个事件的概率。
[0052] 其中,由于历史事件序列包括的多个事件具有连续性和时序性,使得预测过程可以具有时序感知,故结合历史事件序列进行预测得到的各个事件是第一虚拟角色在第n+1个阶段可能执行的事件。也就是说,本申请实施例中的预测操作,不再只预测得到并只输出一个最可能触发的事件,而是输出多个可能触发的事件以及触发各个事件的概率,以便后续可以基于多个可能触发的事件提高控制虚拟角色的多样性。
[0053] 本申请实施例不具体限定预测方式,本领域技术人员可以根据实际需要进行设置。例如,通过统计方式,分析历史事件序列中事件的规律,从而得到预测概率分布,又如,可以根据针对第一虚拟角色的历史事件序列,通过预测模型进行预测,得到针对第一虚拟角色的预测概率分布。
[0054] 参见图3,该图为本申请实施例提供的一种得到目标事件的示意图。在图3中,将历史事件序列 输入至预测模型中,通过预测模型进行预测,得到针对第一虚拟角色的预测概率分布,即第一虚拟角色在第n+1个阶段触发各个事件的概率,可以表示为。后续会对预测模型的训练过程进行说明,在此不再赘述。
[0055] 作为一种可能的实现方式,由于模型可以分为生成式模型和判别式模型两类模型。虽然采用判别式模型进行预测,可以在得到一个最可能触发的事件之前,得到各个事件的概率。但是,经过分析发现,判别式模型关注如何直接从输入数据预测输出类别,而不关心数据是如何生成的以及预测的概率分布是否跟训练数据的概率分布是否吻合。在分类任务中,判别式模型会学习一个决策边界或决策函数,将数据映射到不同的类别。对于输出类别概率,判别式模型通常会直接学习一个映射函数,将输入数据映射到类别概率。这意味着判别式模型主要关注类别之间的边界,而不是输入数据的整体分布。
[0056] 而生成式模型主要关注数据生成的过程,即尝试去模拟或建模数据是如何生成的。在分类任务中,生成式模型会为每个类别分别建模,然后基于这些模型来预测新数据的类别。对于输出类别概率,生成式模型通常会计算每个类别下数据的概率分布,然后根据贝叶斯定理计算给定数据属于每个类别的后验概率。这意味着生成式模型会考虑数据的整体分布,而不仅仅是类别之间的边界。换句话说,生成式模型可以还原出真实的训练数据的分布。
[0057] 基于此,可以采用生成式模型作为预测模型,以便生成式模型能够模拟数据的真实分布,即通过生成式模型得到的预测概率分布中,触发各个事件的概率均是真实可靠的,能够模拟数据的真实分布,从而提高后续目标事件的准确性,提高用户体验感。
[0058] S203:基于预测概率分布进行采样,得到目标事件。
[0059] 预测概率分布不仅可以指示第一虚拟角色在第n+1个阶段可能会触发的多个事件,还会得到触发各个事件的概率。或者说,预测概率分布指示的多个事件均可能被执行,区别在于各个事件被执行的可能性不同。
[0060] 故此,对预测概率分布进行采样,可以得到第一虚拟角色在第n+1个阶段触发的多个事件中的一个事件,即目标事件,目标事件在预测概率分布中的概率可能高,也可能低,采样结果(即目标事件)的出现概率由预测概率分布决定。继续参见图3,从预测概率分布中进行采样,得到目标事件,可以表示为 。
[0061] 也就是说,预测概率分布中的每个事件都有可能被采样成为目标事件,从而针对同一历史事件序列,如同一游戏环境,通过预测和采样,可能会得到多样事件均成为目标事件,丰富了虚拟角色的控制方式。
[0062] S204:根据目标事件,控制第一虚拟角色执行目标事件对应的动作。
[0063] 不同的事件指示第一虚拟角色执行不同的动作,故可以在得到目标事件后,控制第一虚拟角色执行目标事件对应的动作。从而在针对同一历史事件序列,通过预测和采样,第一虚拟角色可能会执行不同的动作,从而提高了虚拟角色的控制方式的多样性。
[0064] 由上述技术方案可以看出,获取针对第一虚拟角色的历史事件序列,历史事件序列包括在n个历史阶段分别执行的事件,即指示第一虚拟角色执行对应动作,且n个事件按照时间先后顺序排列。根据针对第一虚拟角色的历史事件序列进行预测,得到预测概率分布,即预测得到的第n+1个阶段触发各个事件的概率。对预测概率分布进行采样,得到目标事件,根据目标事件,控制第一虚拟角色执行目标事件对应的动作。
[0065] 由此,相比于仅预测得到一个控制方式,本申请通过预测得到多个事件以及触发各个事件的概率,即第一虚拟角色可能会执行的事件均会被预测得到。而且针对预测概率分布进行采样得到的目标事件是随机的,使得针对同一游戏环境多次采样可能会得到不同的事件,从而增加第一虚拟角色执行动作的多样性,提高了虚拟角色控制的拟人程度。而且,结合历史事件序列进行预测,使得预测过程可以具有时序感知,使得第n+1个阶段的事件与前n个阶段的事件之间的一致性较高,且较为合理,提高了虚拟角色控制的拟人程度。故此,通过提高控制虚拟角色的多样性和一致性,提高用户体验感。
[0066] 作为一种可能的实现方式,可以通过人工智能技术训练得到预测模型。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0067] 人工智能技术是一综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0068] 在本申请实施例中,主要涉及的人工智能技术包括上述机器学习技术、预训练模型技术方向。
[0069] 机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。
[0070] 其中,预训练模型(Pre‑training model,PTM),也称基石模型、大模型,指具有大参量的深度神经网络(Deep Neural Networ,DNN),在海量未标记的数据上对其进行训练,利用大参量DNN的函数近似能力使PTM在数据上提取共性特征,经微调(Fine‑tuning)、参数高效微调(Parameter Efficient Fine‑tuning,PEFT)、提示学习(Prompt tuning)等技术,适用于下游任务。因此,预训练模型可以在小样本(Few‑shot)或零样本(Zero‑shot)场景下达到理想效果。PTM按照处理的数据模态可以分为语言模型(如ELMO、BERT、GPT等)、视觉模型(如Swin‑transformer、ViT、V‑MOE等)、语音模型(如VALL‑E)、多模态模型(如ViBERT、CLIP、Flamingo、Gato等)等,其中多模态模型指建立两种或以上数据模态特征表示的模型。预训练模型是输出人工智能生成内容(Artificial Intelligence Generated Content ,AIGC)重要工具,也可以作为连接多个具体任务模型的通用接口
[0071] 在本申请实施例中,预测模型可以是基于预训练模型微调得到的,也可以是通过强化学习训练得到,还可以采用类似基于Transformer架构的自然语言生成模型(Generative Pre‑trained Transformer 2,GPT‑2)的自回归训练,使用交叉熵损失进行训练得到,本申请对此不做具体限定。下面对预测模型的训练方式进行说明,具体参见A1‑A3。
[0072] A1:获取针对第二虚拟角色的训练事件序列。
[0073] 第二虚拟角色是多个虚拟角色中的一个虚拟角色,可以与第一虚拟角色为同一虚拟角色,也可以与第一虚拟角色为不同的虚拟角色。需要说明的是,若第二虚拟角色与第一虚拟角色为同一虚拟角色,使得预测模型是针对一个虚拟角色的特定模型,从而可以提高预测的准确性。若第二虚拟角色与第一虚拟角色为不同的虚拟角色,则预测模型是具有普适性的模型,适用场景更多,使用更加方便。
[0074] 训练事件序列包括m个阶段分别执行的事件,且m个事件按照时间先后顺序排列,m为大于1的整数。针对第二虚拟角色的训练事件序列包括的m个事件是第二虚拟角色执行的事件,其用于训练得到预测模型。而且,针对第二虚拟角色的训练事件序列具有第一标签,第一标签用于标识第二虚拟角色在第m+1个阶段真实执行的事件。例如,针对第二虚拟角色的训练事件序列可以表示为{去中路清兵,去下路支援队友,去中路清兵},第一标签可以为“去上路支援队友”。
[0075] 作为一种可能的实现方式,可以提高输入数据的多样性,如训练事件序列包括的m个事件的多样性大于预设多样性阈值,从而使得后续训练得到的预测模型预测得到的事件的多样性更高,提高控制虚拟角色的拟人程度。
[0076] 本申请实施例不具体限定预设多样性阈值的大小,本领域技术人员可以根据实际需要进行设置。例如,采集用户控制虚拟角色得到的多个事件,用户控制虚拟角色执行的多个事件的多样性一般较高,根据用户控制的虚拟角色得到的多个事件构建训练事件序列,从而使得m个事件的多样性大于预设多样性阈值。
[0077] A2:根据针对第二虚拟角色的训练事件序列,通过初始预测模型进行预测,得到训练概率分布。
[0078] 相比于预测模型,初始预测模型的模型参数还未训练完成,其输出得到的训练概率分布的准确性可能较低。作为一种可能的实现方式,可以采用如语言模型是无监督的多任务学习者(Language models are unsupervised multitask learners,GPT‑2)等生成式模型构建初始预测模型,借助生成式模型的特性,初始预测模型可以较为精确还原训练数据的真实分布,从而有效根据训练事件序列来预测下一个阶段的事件的训练概率分布,提高预测的准确性。
[0079] 例如,将训练事件序列作为训练数据,输入至初始预测模型中进行预测,得到训练概率分布,训练概率分布用于预测第二虚拟角色在第m+1个阶段触发各个事件的概率。
[0080] 同理,由于训练事件序列包括的多个事件具有连续性和时序性,故结合训练事件序列训练的初始预测模型可以逐渐增强时序感知能力,进而通过不断训练,初始预测模型输出的训练概率分布包括的各个事件是第二虚拟角色在第m+1个阶段可能执行的事件,准确性越来越高。也就是说,本申请实施例中的预测模型,不再只预测得到并只输出一个最可能触发的事件,而是输出多个可能触发的事件以及触发各个事件的概率,以便后续可以基于多个可能触发的事件提高控制虚拟角色的多样性。
[0081] A3:根据虚拟资源值最大化,以及训练概率分布和第一标签之间差异最小化的训练方向,调整初始预测模型的模型参数,得到预测模型。
[0082] 虚拟资源值用于提升第二虚拟角色的能力,继续以游戏为例,虚拟资源值可以是基于虚拟角色在游戏内获取的虚拟资源确定的,虚拟资源可以是得分、生命值、虚拟道具等。
[0083] 训练概率分布是预测得到的、第二虚拟角色在第m+1个阶段可能执行的各个事件中的概率,第一标签用于标识第二虚拟角色在第m+1个阶段真实触发各个事件的概率。
[0084] 基于虚拟资源值最大化,以及训练概率分布和第一标签之间差异最小化的训练方向训练初始预测模型,得到预测模型,从而使得预测模型不仅可以在尽可能使得第二虚拟角色获取最大奖励的同时,还可以使得执行的事件的准确性越来越高。
[0085] 由此,相比于仅基于奖励最大化(即虚拟资源值最大化)作为训练方向,通过引入目标完成度奖励(即待定事件和第一标签之间差异最小化),在训练初始预测模型的过程中,同时考虑两个奖励,这样可以在促进预测模型提高虚拟角色能力的同时,完成给出的目标完成度奖励,即显示地鼓励第二虚拟角色执行待定事件,如在活动路径上更加接近用户控制的虚拟角色,从而使得第二虚拟角色的控制方式,仅提高控制方式的多样性,还提高控制方式的拟人化。
[0086] 本申请实施例不具体限定A4的具体实现方式,即根据虚拟资源值最大化,以及待定事件和第一标签之间差异最小化的训练方向,调整初始预测模型的模型参数,得到预测模型的具体实现方式。下面以三种方式为例进行说明。
[0087] 方式一,直接训练得到预测模型。
[0088] 在训练初始预测模型的过程中,只采用一个训练目标,即将虚拟资源值最大化,以及待定事件和第一标签之间差异最小化作为训练目标,调整初始预测模型的模型参数,直接得到预测模型。
[0089] 方式二,两阶段训练得到预测模型,第二阶段训练为全局调参。
[0090] 在训练初始预测模型的过程中,采用两个训练目标,分两阶段训练得到预测模型。
[0091] 第一阶段,根据虚拟资源值最大化和训练概率分布和标签之间差异最小化的训练方向,调整初始预测模型的模型参数,得到待定预测模型,待定预测模型是第一阶段训练得到的模型。
[0092] 第二阶段,获取第一待定事件序列和真实事件序列,根据第一待定事件序列和真实事件序列之间差异最小化的训练方向,调整待定预测模型的模型参数,得到预测模型。
[0093] 其中,第一待定事件序列包括第一预设时间段内通过待定预测模型预测得到p个待定事件,真实事件序列包括p个待定事件分别对应的真实事件,p为大于1的整数。
[0094] 继续以游戏为例,第一预设时间段可以为一局游戏的时长,然后将一局游戏的时长划分为p个阶段,则第一待定时间序列为通过待定预测模型预测得到p个待定事件,如将前3个阶段的待定事件,输入至待定预测模型进行预测,得到第4个阶段的待定事件,然后将前4个阶段的待定事件,输入至待定预测模型进行预测,得到第5个阶段的待定事件,依次类推,可以通过待定预测模型预测得到p个阶段分别对应的待定事件。
[0095] 由此,根据第一待定事件序列和真实事件序列之间差异最小化的训练方向,调整待定预测模型的模型参数,可以使得待定预测模型的预测越来越接近用户,提高虚拟角色被控制的拟人程度。
[0096] 本申请实施例不具体限定根据第一待定事件序列和真实事件序列之间差异最小化的训练方向,调整待定预测模型的模型参数,得到预测模型的方式,例如,计算第一待定事件序列与真实事件序列的匹配程度,从而使得对虚拟角色的全局控制的拟人程度更高。又如,计算第一待定事件序列的完成程度与真实事件序列的匹配程度,从而使得虚拟角色不仅可以执行对应的事件,还能够使其完成度较高,从而使得对虚拟角色控制的拟人程度更高。
[0097] 方式三,两阶段训练得到预测模型,第二阶段训练为反馈调参。
[0098] 在训练初始预测模型的过程中,采用两个训练目标,分两阶段训练得到预测模型。
[0099] 第一阶段,根据虚拟资源值最大化和训练概率分布和标签之间差异最小化的训练方向,调整初始预测模型的模型参数,得到待定预测模型,待定预测模型是第一阶段训练得到的模型。
[0100] 第二阶段,获取第二待定事件序列,基于第二待定事件序列控制第二虚拟角色执行对应事件,得到第一角色属性数据,根据第一角色属性数据,通过反馈模型进行量化处理,得到基于第二待定事件控制第二虚拟角色的量化拟人程度,根据第二虚拟角色在第二预设时间段内的量化拟人程度,调整待定预测模型的模型参数,得到预测模型。
[0101] 其中,第二待定事件序列包括第二预设时间段内通过待定预测模型预测得到的k个待定事件,k为大于1的整数。本申请实施例不具体限定第二预设时间段与第一预设时间段的长度,继续以游戏为例,第二预设时间段也可以为一局游戏的时长,也可以为一局游戏中的一段时间等。
[0102] 第一角色属性数据可以是第二虚拟角色数据执行k个待定事件得到的用于描述第二虚拟角色的数据,如等级、生命值、虚拟装备、释放的虚拟技能、对其他虚拟角色产生的交互数据等。可以理解的是,第一角色属性数据可以是每执行一个待定事件后得到的用于描述第二虚拟角色的数据的集合,从而通过第二角色属性数据判断控制第二虚拟角色对应的量化拟人程度。
[0103] 为了根据第一角色属性数据自动确定基于第二待定事件控制第二虚拟角色的拟人程度,本申请实施例训练得到反馈模型,反馈模型可以对第一角色属性数据进行量化处理,从而得到基于第二待定事件控制第二虚拟角色的拟人程度。从而根据第二虚拟角色在第二预设时间段内的量化拟人程度,调整待定预测模型的模型参数,得到预测模型。
[0104] 由此,通过反馈模型对第一角色属性数据进行量化处理,确定基于第二待定事件控制第二虚拟角色的拟人程度,从而根据第二虚拟角色在第二预设时间段内的量化拟人程度,调整待定预测模型的模型参数,得到预测模型,使得基于预测模型预测得到的待定事件控制虚拟角色的拟人程度更高,提高用户的体验感。
[0105] 本申请实施例不具体限定反馈模型的训练方式,下面以一种方式为例进行说明,具体参见B1‑B4。
[0106] B1:获取第三待定事件序列。
[0107] 其中,第三待定事件序列包括第二预设时间段内通过待定预测模型预测得到的q个待定事件,q为大于1的整数。继续以游戏为例,一局游戏的时长有长有短,故不同局游戏包括的待定事件的数量可能不同,即k和q的数值大小可能相同,可能不同。
[0108] 第三待定事件序列具有第二标签,第二标签用于描述基于第三待定事件序列控制第二虚拟角色执行对应事件对应的真实拟人程度,如可以通过用户观看基于第三待定事件序列控制第二虚拟角色的过程,然后进行打分,得到真实拟人程度。
[0109] B2:基于第三待定事件序列控制第二虚拟角色执行对应事件,得到第二角色属性数据。
[0110] 第二角色属性数据可以是第二虚拟角色数据执行q个待定事件得到的用于描述第二虚拟角色的数据,如等级、生命值、虚拟装备、释放的虚拟技能、对其他虚拟角色产生的交互数据等。可以理解的是,第二角色属性数据可以是每执行一个待定事件后得到的用于描述第二虚拟角色的数据的集合,从而通过第二角色属性数据判断控制第二虚拟角色的拟人程度。
[0111] B3:根据第二角色属性数据,通过初始反馈模型进行量化处理,得到基于第三待定事件序列控制第二虚拟角色对应的量化拟人程度。
[0112] 相比于反馈模型,初始反馈模型的模型参数还未训练完成,其量化处理能力可能低于反馈模型。初始反馈模型可以对第二角色属性数据进行量化处理,从而得到基于第三待定事件控制第二虚拟角色对应的量化拟人程度。
[0113] B4:基于第二标签和基于第三待定事件序列控制第二虚拟角色对应的量化拟人程度之间差异最小化的训练方向,调整初始反馈模型的模型参数,得到反馈模型。
[0114] 第二标签用于描述基于第三待定事件序列控制第二虚拟角色执行对应事件对应的真实拟人程度,基于第三待定事件序列控制第二虚拟角色对应的量化拟人程度是基于初始反馈模型预测得到的拟人程度,调整初始反馈模型的模型参数,使得基于第三待定事件序列控制第二虚拟角色对应的量化拟人程度越来越接近真实拟人程度,得到反馈模型,使得反馈模型可以较为准确性地对角色属性数据进行量化处理。
[0115] 作为一种可能的实现方式,为了预测模型可以更好地理解输入数据,可以将历史事件序列令牌化后,再输入至预测模型中。历史事件序列的令牌化与自然语言处理领域对单词的令牌化(Tokenization)类似,可以对所有事件先进行编码,即每个事件均有一个唯一标识的编码,然后获取历史事件序列包括的n个事件的编码,使用嵌入网络将n个事件的编码映射成事件特征嵌入(Embedding),得到历史事件序列的令牌(Token),再输入至预测模型中。其中,嵌入网络是一个神经网络的一部分,用于将离散的标识符映射到连续的向量空间,称为嵌入空间。
[0116] 基于事件的具体含义不同,下面以三种方式为例,对事件的令牌化进行说明。
[0117] 方式一,事件用于指示第一虚拟角色向对应位置移动。
[0118] 获取第一虚拟角色所在的虚拟场景包括的多个位置,位置是第一虚拟角色可以到达的虚拟地点。对多个位置分别进行编码,得到多个离散地点编码,每个离散地点编码可以唯一标识一个位置。对多个离散地点编码进行映射,得到多个连续地点编码,如可以通过一个神经网络,将离散地点编码转换为连续的向量表示,以便更好地捕捉和表示事件的特征和属性,以便后续可以更深入地理解和分析事件。根据多个连续地点编码,确定历史事件序列。
[0119] 以某推塔游戏为例,位置可以包括“中路”、“上路”、“下路”等i个位置,i为正整数,给每个位置一个特定的编码标识(Identity document,ID),以保证每个编码ID和位置具有一一对应关系,得到i个离散地点编码。使用一个嵌入网络将i个编码ID映射成事件Embedding,得到i个连续地点编码。从而将文字表示的历史事件序列转换为连续地点编码表示的历史事件序列。
[0120] 方式二,事件用于指示第一虚拟角色移动至对应位置执行对应任务。
[0121] 获取虚拟场景中i个位置和j个任务,i和j为正整数,位置是第一虚拟角色可以到达的虚拟地点,任务是第一虚拟角色能够实现的结果,如支援队友、清兵等内容。根据i个位置和j个任务,得到i*j个事件,即不同位置和不同任务组合,可以得到不同事件,如去中路清兵等。对i*j个事件分别进行编码,得到i*j个离散事件编码,每个离散事件编码可以唯一标识一个事件。对i*j个离散事件编码进行映射,得到i*j个连续事件编码,如可以通过一个神经网络,将离散事件编码转换为连续的向量表示,以便更好地捕捉和表示事件的特征和属性,以便后续可以更深入地理解和分析事件。根据i*j个连续事件编码,确定历史事件序列。
[0122] 以某推塔游戏为例,位置可以包括“中路”、“上路”、“下路”等i个位置,任务可以包括清兵、支援队友等j个任务,将i个位置和j个任务分别组合,可以得到去哪个位置执行哪个任务这一事件,从而得到i*j个事件。给每个事件一个特定的编码ID,以保证每个编码ID和事件具有一一对应关系,得到i*j个离散事件编码。使用一个嵌入网络将i*j个离散事件编码映射成事件Embedding,得到i*j个连续事件编码。从而将文字表示的历史事件序列转换为连续事件编码表示的历史事件序列。
[0123] 作为一种可能的实现方式,若事件用于指示第一虚拟角色移动至对应位置执行对应任务,即基于方式二得到历史事件序列,得到目标事件能够指示第一虚拟角色去哪个位置完成哪个任务,但是不会指示第一虚拟角色通过释放什么虚拟技能完成任务。也就是说,目标事件对于第一虚拟角色的控制是宏观的,故可以将目标事件作为目标引导后续微观行为,以实现对第一虚拟角色的具体控制。
[0124] 故此,本申请实施例提供一种根据目标事件,控制第一虚拟角色执行目标事件对应的动作的具体实现方式。具体地,可以获取第一虚拟角色所在虚拟场景的状态数据,根据目标事件和状态数据,确定执行目标事件指示的任务对应的虚拟技能,控制第一虚拟角色向目标事件指示的位置移动,并释放目标事件指示的任务对应的虚拟技能,以完成目标事件指示的任务。
[0125] 其中,第一虚拟角色所在虚拟场景目标应用程序(如游戏应用程序)的客户端在终端设备上运行时显示(或提供)的场景,该虚拟场景是指营造出的供虚拟对象进行活动(如游戏竞技)的环境,如虚拟房屋、虚拟岛屿、虚拟地图等。可选地,虚拟场景是应用程序在终端设备上运行时显示(或提供)的环境。该虚拟场景可以是对真实世界的仿真世界,也可以是半仿真半虚构的三维世界,还可以是纯虚构的三维世界。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种。可选地,该虚拟场景还用于至少两个虚拟对象之间的虚拟场景对战,在该虚拟场景中具有可供至少两个虚拟对象使用的虚拟资源。
[0126] 状态数据用于描述虚拟环境的数据,如该虚拟环境包括的多个虚拟角色所在的位置、生命值等数据,以便将状态数据作为辅助信息,结合目标事件,确定目标事件指示的任务对应的虚拟技能,即基于哪个或哪些虚拟技能的组合完成目标事件指示的任务。从而完成对虚拟角色的微观控制。
[0127] 由此,将第一虚拟角色所在虚拟场景的状态数据作为辅助信息,结合目标事件,确定执行目标事件指示的任务对应的虚拟技能,使得对第一虚拟角色的控制更加具体,即不仅要指示第一虚拟角色去哪,还要指示第一虚拟角色通过释放什么虚拟技能完成什么任务,提高了控制的精确性。
[0128] 方式三,事件用于指示第一虚拟角色移动至对应位置通过释放对应虚拟技能执行对应任务。
[0129] 获取虚拟场景中i个位置、j个任务和t个虚拟技能,位置是第一虚拟角色可以到达的虚拟地点,任务是第一虚拟角色能够实现的结果,如支援队友、清兵等内容,虚拟技能是虚拟角色所拥有的特殊能力或动作,这些技能可以通过升级、学习或解来获得,通过一个或多个虚拟技能可以完成一个任务。根据i个位置、j个任务和t个虚拟技能,得到i*j*t个事件,即不同位置、不同任务和不同虚拟技能组合,可以得到不同事件,如去中路清兵并释放第一技能等。对i*j*t个事件分别进行编码,得到i*j*t个离散事件编码,每个离散事件编码可以唯一标识一个事件。对i*j*t个离散事件编码进行映射,得到i*j*t个连续事件编码,如可以通过一个神经网络,将离散事件编码转换为连续的向量表示,以便更好地捕捉和表示事件的特征和属性,以便后续可以更深入地理解和分析事件。根据i*j*t个连续事件编码,确定历史事件序列。
[0130] 以某推塔游戏为例,位置可以包括“中路”、“上路”、“下路”等i个位置,任务可以包括清兵、支援队友等j个任务,虚拟技能可以包括第一技能、第二技能等t个虚拟技能,将i个位置、j个任务和t个虚拟技能分别进行组合,可以得到去哪个位置执行哪个任务释放哪个虚拟技能这一事件,从而得到i*j*t个事件。给每个事件一个特定的编码ID,以保证每个编码ID和事件具有一一对应关系,得到i*j*t个离散事件编码。使用一个嵌入网络将i*j*t个离散事件编码映射成事件Embedding,得到i*j*t个连续事件编码。从而将文字表示的历史事件序列转换为连续事件编码表示的历史事件序列。
[0131] 需要说明的是,相比于方式一,方式二和方式三中,事件包括的内容更细致,随着事件包括的内容越细致,或者说粒度越小,虽然对虚拟角色的控制的精度越高,但是后续预测的计算量会越来越大,为了平衡控制精度和计算量,可以选择方式二,即不较多增加计算量,也能够更细粒度的控制虚拟角色,提高了用户体验感。
[0132] 作为一种可能的实现方式,由于游戏等应用场景一般存在多个虚拟角色,其他虚拟角色执行的事件对预测第一虚拟角色下一个阶段执行的事件也具有参考意义,其他虚拟角色执行的事件可以在一定程度反映第一虚拟角色所在的虚拟场景的状态数据,如果游戏形式为组队形式,则第一虚拟角色下一个阶段执行的事件需要考虑队友正在执行的事件,以帮助团队取得游戏胜利。
[0133] 基于此,可以获取针对其他虚拟角色的历史事件序列,根据针对第一虚拟角色的历史事件序列和针对其他虚拟角色的历史事件进行预测,得到预测概率分布。
[0134] 现有对战类游戏中,通常将多个虚拟角色分成两个阵营,两个阵营的虚拟角色互相攻击,再根据胜负规则确定获胜的阵营。若第一虚拟角色所在的虚拟场景包括多个阵营的虚拟角色,则其他虚拟角色存在三种情况,下面分别进行说明。
[0135] (1)其他虚拟角色为与第一虚拟角色属于同一阵营的虚拟角色。也就是说,获取属于同一阵营的虚拟角色的历史事件序列进行预测,以便第一虚拟角色能够配合队友。例如,以10个虚拟角色被划分为两个阵营为例,可以获取第一虚拟角色所在的阵营的5个虚拟角色分别对应的历史事件序列,即基于5个虚拟角色的历史事件序列进行后续预测。
[0136] (2)其他虚拟角色为与第一虚拟角色属于不同阵营的虚拟角色。也就是说,获取第一虚拟角色的历史事件序列后,还需获取没有第一虚拟角色的其他阵营的虚拟角色的历史事件序列,以便第一虚拟角色能够更注重其他阵营的虚拟角色执行的事件,再确定自己即将要执行的事件。例如,继续以10个虚拟角色被划分为两个阵营为例,可以获取第一虚拟角色的历史事件序列后,获取另一个阵营包括的5个虚拟角色的历史事件序列,即基于6个虚拟角色的历史事件序列进行后续预测。
[0137] (3)其他虚拟角色为多个虚拟角色中除第一虚拟角色之外的虚拟角色.也就是说,获取多个阵营包括的所有虚拟角色的历史事件序列,以便第一虚拟角色不仅可以配合队友,还可以注重其他阵营的虚拟角色执行的事件,再确定自己即将要执行的事件。例如,继续以10个虚拟角色被划分为两个阵营为例,可以两个阵营包括的10个虚拟角色的历史事件序列,即基于10个虚拟角色的历史事件序列进行后续预测。
[0138] 参见图4,该图为本申请实施例提供的一种得到目标事件的示意图。在图4中,表示第一虚拟角色在第n个阶段执行的事件,剩余9个虚拟角色在第n个阶段执行的事件可以分别表示为 ,同理, 表示第十个虚拟角色在第n‑1个阶段执行的事件,由此,将10个虚拟角色分别对应的历史事件序列
输入至预测模型中,通过预测
模型进行预测,得到针对第一虚拟角色的预测概率分布,即第一虚拟角色在第n+1个阶段触发各个事件的概率,然后对预测概率分布进行采样,得到目标事件,可以表示为 。
[0139] 可以理解的是,若预测模型是生成式模型,在预测第n+1个阶段的预测概率分布时,其还会输出前n个阶段的预测概率分布,如预测模型不仅会得到 ,还会得到 ,只不过其仅会将 作为目标事件。
[0140] 由此,在预测第一虚拟角色在第n+1个阶段可能会执行的目标事件时,不仅可以基于第一虚拟角色的历史事件序列,还可以结合其他虚拟角色的历史事件序列,通过其他虚拟角色的历史事件序列可以在一定程度上反映当前虚拟场景的状态数据,从而通过第一虚拟角色的历史事件序列和其他虚拟角色的历史事件序列进行预测,使得针对第一虚拟角色的目标事件更为合理,且多样化,提高用户的体验感。
[0141] 为了便于进一步理解本申请实施例提供的技术方案,下面以本申请实施例提供的虚拟角色的控制方法的执行主体为服务器为例,对该虚拟角色的控制方法进行整体示例性介绍。
[0142] 以MOBA类型游戏中包括10个虚拟角色为例,9个虚拟角色(虚拟角色1‑虚拟角色9)均是用户通过终端设备控制的,1个虚拟角色(虚拟角色0)是服务器通过执行本申请实施例提供的虚拟角色的控制方法控制的。
[0143] 下面先对预测模型的训练过程进行说明。
[0144] S1:获取针对虚拟角色0的训练事件序列,以及针对虚拟角色1‑虚拟角色9分别对应的训练事件序列。
[0145] S2:根据针对虚拟角色0的训练事件序列,以及针对虚拟角色1‑虚拟角色9分别对应的训练事件序列,通过初始预测模型进行预测,得到训练概率分布。
[0146] S3:根据虚拟资源值最大化,以及所训练概率分布和第一标签之间差异最小化的训练方向,调整初始预测模型的模型参数,得到预测模型。
[0147] 由此,预测模型可以根据第一虚拟角色的历史事件序列和其他9个虚拟角色的历史事件序列,预测第一虚拟角色在下一阶段执行的目标事件。
[0148] 预测模型可以是因果转换器(Causal Transformer)或长短期记忆网络(Long Short Term Memory,LSTM)模型等,本申请对此不做具体限定。
[0149] 下面对基于预测模型的预测过程进行说明。
[0150] S4:获取虚拟场景中i个位置和j个任务。
[0151] S5:根据i个位置和j个任务,得到i*j个事件。
[0152] S6:对i*j个事件分别进行编码,得到i*j个离散事件编码。
[0153] S7:通过嵌入网络对i*j个离散事件编码进行映射,得到i*j个连续事件编码。
[0154] S8:获取虚拟角色0‑虚拟角色9在前n个阶段执行的事件。
[0155] S9:根据i*j个连续事件编码,确定虚拟角色0‑虚拟角色9的历史事件序列。
[0156] S10:根据虚拟角色0‑虚拟角色9的历史事件序列,通过预测模型进行预测,得到预测概率分布。
[0157] S11:基于预测概率分布进行采样,得到目标事件。
[0158] S12:获取第一虚拟角色所在虚拟场景的状态数据。
[0159] S13:根据目标事件和状态数据,确定执行目标事件指示的任务对应的虚拟技能。
[0160] S14:控制第一虚拟角色向目标事件指示的位置移动,并释放目标事件指示的任务对应的虚拟技能,以完成目标事件指示的任务。
[0161] 由此,将位置和任务,即游戏玩法抽象成连续事件编码,再通过具有时序感知能力的预测模型,对第一虚拟角色和其他虚拟角色的历史事件序列进行预测,得到预测概率分布,该概率分布接近用户控制的虚拟角色的事件概率分布,对预测概率分布进行采样,得到目标事件,并基于目标事件控制虚拟角色执行对应的动作做,从而第一虚拟角色的控制方式向用户的控制方式一样,具有多样性且一致性,提高用户体验感。
[0162] 针对上文描述的虚拟角色的控制方法,本申请还提供了对应的虚拟角色的控制装置,以使上述虚拟角色的控制方法在实际中得以应用及实现。
[0163] 参见图5,该图为本申请实施例提供的一种虚拟角色的控制装置的结构示意图。如图5所示,该虚拟角色的控制装置500包括:获取单元501、预测单元502、采样单元503和控制单元504;所述获取单元501,用于获取针对第一虚拟角色的历史事件序列,所述历史事件序列包括在n个阶段分别执行的事件,且n个所述事件按照时间先后顺序排列,所述事件用于指示所述第一虚拟角色执行对应动作,n为大于1的整数;
所述预测单元502,用于根据针对所述第一虚拟角色的历史事件序列进行预测,得到预测概率分布,所述预测概率分布包括预测所述第一虚拟角色在第n+1个阶段触发各个事件的概率;
所述采样单元503,用于基于所述预测概率分布进行采样,得到目标事件,所述目标事件为所述第一虚拟角色在第n+1个阶段触发的多个事件中的一个事件;
所述控制单元504,用于根据所述目标事件,控制所述第一虚拟角色执行所述目标事件对应的动作。
[0164] 由上述技术方案可以看出,虚拟角色的控制装置包括获取单元、预测单元、采样单元和控制单元,通过获取单元获取针对第一虚拟角色的历史事件序列,历史事件序列包括在n个历史阶段分别执行的事件,即指示第一虚拟角色执行对应动作,且n个事件按照时间先后顺序排列。通过预测单元,根据针对第一虚拟角色的历史事件序列进行预测,得到预测概率分布,即预测得到的第n+1个阶段触发各个事件的概率。通过采样单元,对预测概率分布进行采样,得到目标事件。通过控制单元,根据目标事件,控制第一虚拟角色执行目标事件对应的动作。
[0165] 由此,相比于仅预测得到一个控制方式,本申请通过预测得到多个事件以及触发各个事件的概率,即第一虚拟角色可能会执行的事件均会被预测得到。而且针对预测概率分布进行采样得到的目标事件是随机的,使得针对同一游戏环境多次采样可能会得到不同的事件,从而增加第一虚拟角色执行动作的多样性,提高了虚拟角色控制的拟人程度。而且,结合历史事件序列进行预测,使得预测过程可以具有时序感知,使得第n+1个阶段的事件与前n个阶段的事件之间的一致性较高,提高了虚拟角色控制的拟人程度。故此,通过提高控制虚拟角色的多样性和一致性,提高用户体验感。
[0166] 作为一种可能的实现方式,所述预测单元502,具体用于:根据针对所述第一虚拟角色的历史事件,通过预测模型进行预测,得到所述预测概率分布;
所述装置还包括训练单元,用于:
获取针对第二虚拟角色的训练事件序列,所述训练事件序列包括m个阶段分别执行的事件,且m个所述事件按照时间先后顺序排列,m为大于1的整数,针对所述第二虚拟角色的训练事件序列具有第一标签,所述第一标签用于标识所述第二虚拟角色在第m+1个阶段真实触发各个事件的概率;
根据针对所述第二虚拟角色的训练事件序列,通过初始预测模型进行预测,得到训练概率分布,所述训练概率分布用于预测所述第二虚拟角色在第m+1个阶段触发各个事件的概率;
根据虚拟资源值最大化,以及所述训练概率分布和所述第一标签之间差异最小化的训练方向,调整所述初始预测模型的模型参数,得到所述预测模型,所述虚拟资源值用于提升所述第二虚拟角色的能力。
[0167] 作为一种可能的实现方式,所述装置还包括训练单元,用于:根据所述虚拟资源值最大化和所述训练概率分布和所述第一标签之间差异最小
化的训练方向,调整所述初始预测模型的模型参数,得到待定预测模型;
获取第一待定事件序列和真实事件序列,所述第一待定事件序列包括第一预设时间段内通过所述待定预测模型预测得到的p个待定事件,所述真实事件序列包括p个所述待定事件分别对应的真实事件,p为大于1的整数;
根据所述第一待定事件序列和所述真实事件序列之间差异最小化的训练方向,调整所述待定预测模型的模型参数,得到所述预测模型。
[0168] 作为一种可能的实现方式,所述装置还包括训练单元,用于:根据所述虚拟资源值最大化和所述训练概率分布和所述第一标签之间差异最小
化的训练方向,调整所述初始预测模型的模型参数,得到待定预测模型;
获取第二待定事件序列,所述第二待定事件序列包括第二预设时间段内通过所述待定预测模型预测得到的k个待定事件,k为大于1的整数;
基于所述第二待定事件序列控制所述第二虚拟角色执行对应事件,得到第一角色属性数据;
根据所述第一角色属性数据,通过反馈模型进行量化处理,得到基于所述第二待定事件控制所述第二虚拟角色对应的量化拟人程度;
根据所述基于所述第二待定事件控制所述第二虚拟角色对应的量化拟人程度,调整所述待定预测模型的模型参数,得到所述预测模型;
所述反馈模型的训练方式如下:
获取第三待定事件序列,所述第三待定事件序列包括所述第二预设时间段内通过所述待定预测模型预测得到的q个待定事件,q为大于1的整数,所述第三待定事件序列具有第二标签,所述第二标签用于描述基于所述第三待定事件序列控制所述第二虚拟角色执行对应事件对应的真实拟人程度;
基于所述第三待定事件序列控制所述第二虚拟角色执行对应事件,得到第二角色属性数据;
根据所述第二角色属性数据,通过初始反馈模型进行量化处理,得到基于所述第三待定事件序列控制所述第二虚拟角色对应的量化拟人程度;
基于所述第二标签和所述基于所述第三待定事件序列控制所述第二虚拟角色对
应的量化拟人程度之间差异最小化的训练方向,调整所述初始反馈模型的模型参数,得到反馈模型。
[0169] 作为一种可能的实现方式,所述训练事件序列包括的m个事件的多样性大于预设多样性阈值。
[0170] 作为一种可能的实现方式,所述预测模型为生成式模型。
[0171] 作为一种可能的实现方式,若虚拟场景包括属于多个阵营的虚拟角色,所述第一虚拟角色为多个所述虚拟角色中的一个所述虚拟角色,所述获取单元501,还用于:获取针对其他虚拟角色的历史事件序列,所述其他虚拟角色为与所述第一虚拟角色属于同一阵营的虚拟角色,或所述其他虚拟角色为与所述第一虚拟角色属于不同阵营的虚拟角色,或所述其他虚拟角色为多个所述虚拟角色中除所述第一虚拟角色之外的虚拟角色;
所述预测单元502,具体用于根据所述针对第一虚拟角色的历史事件序列和所述针对其他虚拟角色的历史事件序列进行预测,得到预测概率分布。
[0172] 作为一种可能的实现方式,所述装置还包括编码单元,用于:若所述事件用于指示所述第一虚拟角色向对应位置移动,则获取所述第一虚拟角色所在的虚拟场景包括的多个位置;
对多个所述位置分别进行编码,得到多个离散地点编码;
对多个所述离散地点编码进行映射,得到多个连续地点编码;
根据多个所述连续地点编码,确定所述历史事件序列。
[0173] 作为一种可能的实现方式,所述装置还包括编码单元,用于:若所述事件用于指示所述第一虚拟角色移动至对应位置执行对应任务,则获取虚拟场景中i个位置和j个任务,i和j为正整数;
根据i个所述位置和j个所述任务,得到i*j个所述事件;
对i*j个所述事件分别进行编码,得到i*j个离散事件编码;
对i*j个所述离散事件编码进行映射,得到i*j个连续事件编码;
根据i*j个所述连续事件编码,确定所述历史事件序列。
[0174] 作为一种可能的实现方式,所述控制单元504,具体用于:获取所述第一虚拟角色所在虚拟场景的状态数据;
根据所述目标事件和所述状态数据,确定执行所述目标事件指示的任务对应的虚拟技能;
控制所述第一虚拟角色向所述目标事件指示的位置移动,并释放所述目标事件指示的任务对应的虚拟技能,以完成所述目标事件指示的任务。
[0175] 作为一种可能的实现方式,所述装置还包括编码单元,用于:若所述事件用于指示所述第一虚拟角色移动至对应位置通过释放对应虚拟技能
执行对应任务,则获取虚拟场景中i个位置、j个任务和t个虚拟技能;
根据i个所述位置、j个所述任务和t个所述虚拟技能,得到i*j*t个所述事件;
对i*j*t个所述事件分别进行编码,得到i*j*t个离散事件编码;
对i*j*t个所述离散事件编码进行映射,得到i*j*t个连续事件编码;
根据i*j*t个所述连续事件编码,确定所述历史事件序列。
[0176] 本申请实施例还提供了一种计算机设备,该计算机设备可以为服务器或者终端设备,下面将从硬件实体化的角度对本申请实施例提供的计算机设备进行介绍。其中,图6所示为服务器的结构示意图,图7所示为终端设备的结构示意图。
[0177] 参见图6,该图为本申请实施例提供的一种服务器结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器1422,如中央处理器(Central Processing Units,CPU),存储器1432,一个或一个以上应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质
1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,处理器
1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。
[0178] 服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例TM TM TM TM TM如Windows Server ,Mac OS X ,Unix , Linux ,FreeBSD 等等。
[0179] 上述实施例中由服务器所执行的步骤可以基于该图6所示的服务器结构。
[0180] 其中,处理器1422用于执行如下步骤:获取针对第一虚拟角色的历史事件序列,所述历史事件序列包括在n个阶段分别执行的事件,且n个所述事件按照时间先后顺序排列,所述事件用于指示所述第一虚拟角色执行对应动作,n为大于1的整数;
根据针对所述第一虚拟角色的历史事件序列进行预测,得到预测概率分布,所述预测概率分布包括预测所述第一虚拟角色在第n+1个阶段触发各个事件的概率;
基于所述预测概率分布进行采样,得到目标事件,所述目标事件为所述第一虚拟角色在第n+1个阶段触发的多个事件中的一个事件;
根据所述目标事件,控制所述第一虚拟角色执行所述目标事件对应的动作。
[0181] 可选的,处理器1422还可以执行本申请实施例中虚拟角色的控制方法任一具体实现方式的方法步骤。
[0182] 参见图7,该图为本申请实施例提供的一种终端设备的结构示意图。以该终端设备是智能手机为例进行说明,图7示出的是该智能手机的部分结构的框图,该智能手机包括:射频(Radio Frequency,简称RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(简称WiFi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图7中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0183] 下面结合图7对智能手机的各个构成部件进行具体的介绍:RF电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。
[0184] 存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而实现智能手机的各种功能应用以及数据处理。
[0185] 输入单元1530可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为触摸屏,可收集用户在其上或附近的触摸操作,并根据预先设定的程式驱动相应的连接装置。除了触控面板1531,输入单元1530还可以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球鼠标、操作杆等中的一种或多种。
[0186] 显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元1540可包括显示面板1541,可选的,可以采用液晶显示器(Liquid Crystal Display,简称LCD)、有机发光二极管(Organic Light‑Emitting Diode,简称OLED)等形式来配置显示面板1541。
[0187] 智能手机还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。至于智能手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0188] 音频电路1560、扬声器1561,传声器1562可提供用户与智能手机之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出;另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路
1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经RF电路1510以发送给比如另一智能手机,或者将音频数据输出至存储器1520以便进一步处理。
[0189] 处理器1580是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行智能手机的各种功能和处理数据。可选的,处理器1580可包括一个或多个处理单元。
[0190] 智能手机还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理系统与处理器1580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0191] 尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0192] 在本申请实施例中,该智能手机所包括的存储器1520可以存储计算机程序,并将所述计算机程序传输给所述处理器。
[0193] 该智能手机所包括的处理器1580可以根据所述计算机程序中的指令执行上述实施例提供的虚拟角色的控制方法。
[0194] 本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行上述实施例提供的虚拟角色的控制方法。
[0195] 本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的虚拟角色的控制方法。
[0196] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:Read‑Only Memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储计算机程序的介质。
[0197] 本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
[0198] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0199] 以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。因此,本申请的保护范围应该以权利要求的保护范围为准。
QQ群二维码
意见反馈