虚拟对象的控制方法、装置、设备、介质及程序产品制造方法及图纸

技术编号:33294807 阅读:19 留言:0更新日期:2022-05-01 00:21
本申请公开了虚拟对象的控制方法、装置、设备、介质及程序产品,属于计算机技术领域。所述方法包括:通过第一行为树控制第一虚拟对象,第一虚拟对象是非玩家角色NPC;获取在虚拟环境中第一虚拟对象和第二虚拟对象之间的第一距离,第二虚拟对象是玩家控制的虚拟对象;基于第一距离,确定通过第二行为树控制第一虚拟对象,第二行为树是通过更换或调整第一行为树得到的。上述方案保证了在计算机设备资源有限的情况下,NPC能实现丰富的表现形式。NPC能实现丰富的表现形式。NPC能实现丰富的表现形式。

【技术实现步骤摘要】
虚拟对象的控制方法、装置、设备、介质及程序产品


[0001]本申请实施例属于计算机
,特别涉及一种虚拟对象的控制方法、装置、设备、介质及程序产品。

技术介绍

[0002]在开放世界游戏中存在大量的AI(Artificial Intelligence,人工智能)对象,AI对象为具有拟人化行为的NPC(Non

player Character,非玩家角色)。
[0003]相关技术中,大量的AI对象往往使用相同的行为树,然而,若AI对象能实现丰富的表现形式,则其使用的行为树必然十分复杂,若大量的AI对象均使用同样复杂的行为树,则服务器的性能必然较差。
[0004]如何在保证AI对象能实现丰富的表现形式的同时避免大量AI对象所消耗的服务器性能过大,成为亟需解决的技术问题。

技术实现思路

[0005]本申请提供了一种虚拟对象的控制方法、装置、设备、介质及程序产品,用于保证在计算机设备资源有限的情况下,NPC能实现丰富的表现形式。所述技术方案如下:
[0006]根据本申请的一方面,提供了一种虚拟对象的控制方法,所述方法包括:
[0007]通过第一行为树控制第一虚拟对象,第一虚拟对象是非玩家角色NPC;
[0008]获取在虚拟环境中第一虚拟对象和第二虚拟对象之间的第一距离,第二虚拟对象是玩家控制的虚拟对象;
[0009]基于第一距离,确定通过第二行为树控制第一虚拟对象,第二行为树是通过更换或调整第一行为树得到的。
[0010]根据本申请的另一方面,提供了一种虚拟对象的显示方法,所述方法包括:
[0011]显示第一虚拟对象和第二虚拟对象,第一虚拟对象是非玩家角色NPC,第二虚拟对象是玩家控制的虚拟对象;
[0012]当第一虚拟对象与第二虚拟对象在虚拟环境中的第一距离为p时,显示出第一虚拟对象执行第一数量的动作;
[0013]当第一虚拟对象与第二虚拟对象在虚拟环境中的第一距离为q时,显示出第一虚拟对象执行第二数量的动作;
[0014]其中,p大于q,第一数量小于第二数量;或,p小于q,第一数量大于第二数量。
[0015]根据本申请的另一方面,提供了一种虚拟对象的显示方法,所述方法包括:
[0016]显示第一虚拟对象和第二虚拟对象,第一虚拟对象是非玩家角色NPC,第二虚拟对象是玩家控制的虚拟对象;
[0017]当第一虚拟对象与第二虚拟对象在虚拟环境中的第一距离为p时,显示出第一虚拟对象执行动作的时间间隔为第一时长;
[0018]当第一虚拟对象与第二虚拟对象在虚拟环境中的第一距离为q时,显示出第一虚
拟对象执行动作的时间间隔为第二时长;
[0019]其中,p大于q,第一时长大于第二时长;或,p小于q,第一时长小于第二时长。
[0020]根据本申请的另一方面,提供了一种虚拟对象的控制装置,所述装置包括:
[0021]控制模块,用于通过第一行为树控制第一虚拟对象,第一虚拟对象是非玩家角色NPC;
[0022]获取模块,用于获取在虚拟环境中第一虚拟对象和第二虚拟对象之间的第一距离,第二虚拟对象是玩家控制的虚拟对象;
[0023]确定模块,用于基于第一距离,确定通过第二行为树控制第一虚拟对象,第二行为树是通过更换或调整第一行为树得到的。
[0024]根据本申请的一个方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的虚拟对象的控制方法。
[0025]根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上所述的虚拟对象的控制方法。
[0026]根据本申请的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的虚拟对象的控制方法。
[0027]本申请实施例提供的技术方案带来的有益效果至少包括:
[0028]基于第一虚拟对象和第二虚拟对象之间的第一距离,确定控制第一虚拟对象的行为树,使得控制第一虚拟对象的行为树始终处于动态调整状态,也即,距离第二虚拟对象较近和较远的NPC将通过不同的行为树控制,距离较近的NPC使用的行为树消耗的资源多,而距离较远的NPC使用的行为树消耗的资源少,大量的NPC消耗的总计算机设备资源将维持在一个平衡状态,计算机设备资源不会被过度消耗,同时,当NPC在距离第二虚拟对象较近时,将具有丰富的表现形式。
附图说明
[0029]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图1示出了本申请一个示例性实施例提供的行为树的示意图;
[0031]图2示出了本申请一个示例性实施例提供的虚拟对象的控制方法的流程图;
[0032]图3示出了本申请一个示例性实施例提供的LOD分层技术的示意图;
[0033]图4示出了本申请另一个示例性实施例提供的LOD分层技术的示意图;
[0034]图5示出了本申请一个示例性实施例提供的第一虚拟对象的表现的示意图;
[0035]图6示出了本申请另一个示例性实施例提供的第一虚拟对象的表现的示意图;
[0036]图7示出了本申请一个示例性实施例提供的处于不同LOD层级的第一虚拟对象的
表现的示意图;
[0037]图8示出了本申请一个示例性实施例提供的m个装饰器节点附着在一个顺序节点的示意图;
[0038]图9示出了本申请一个示例性实施例提供的进行一次条件判断的流程图;
[0039]图10示出了本申请另一个示例性实施例提供的虚拟对象的控制方法的流程图;
[0040]图11示出了本申请一个示例性实施例提供的虚拟对象的控制装置的结构框图;
[0041]图12示出了本申请一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
[0042]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0043]应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟对象的控制方法,其特征在于,所述方法包括:通过第一行为树控制第一虚拟对象,所述第一虚拟对象是非玩家角色NPC;获取在虚拟环境中所述第一虚拟对象和第二虚拟对象之间的第一距离,所述第二虚拟对象是玩家控制的虚拟对象;基于所述第一距离,确定通过第二行为树控制所述第一虚拟对象,所述第一距离和所述第二行为树在运行时消耗的资源呈负相关关系。2.根据权利要求1所述的方法,其特征在于,所述基于所述第一距离,确定通过第二行为树控制所述第一虚拟对象,包括:基于所述第一距离落入至少两个距离范围中的目标距离范围,确定通过与所述目标距离范围对应的第二行为树控制所述第一虚拟对象;其中,所述至少两个距离范围与至少两个所述第二行为树一一对应。3.根据权利要求2所述的方法,其特征在于,所述虚拟环境中还存在至少一个第三虚拟对象,所述第三虚拟对象是其他玩家控制的虚拟对象;所述方法还包括:获取在所述虚拟环境中所述第一虚拟对象与所述第三虚拟对象之间的第二距离;所述基于所述第一距离落入至少两个距离范围中的目标距离范围,确定通过与所述目标距离范围对应的第二行为树控制所述第一虚拟对象,包括:在所述第一距离小于所述第二距离的情况下,基于所述第一距离落入所述至少两个距离范围中的目标距离范围,确定通过与所述目标距离范围对应的第二行为树控制所述第一虚拟对象。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述第一距离大于所述第二距离的情况下,基于所述第二距离落入所述至少两个距离范围中的目标距离范围,确定通过与所述目标距离范围对应的第二行为树控制所述第一虚拟对象。5.根据权利要求1至4任一所述的方法,其特征在于,所述基于所述第一距离,确定通过第二行为树控制所述第一虚拟对象,包括:基于所述第一距离,将所述第一行为树更换为所述第二行为树;确定通过所述第二行为树控制所述第一虚拟对象,所述第二行为树与所述第一距离相对应。6.根据权利要求1至4任一所述的方法,其特征在于,所述基于所述第一距离,确定通过第二行为树控制所述第一虚拟对象,包括:基于所述第一距离,将所述第一行为树的第一更新周期调整为第二更新周期,所述第一更新周期和所述第二更新周期用于指示所述第一行为树在输出相邻两次决策之间的时间间隔;将采用所述第二更新周期的第一行为树确定为所述第二行为树;确定通过所述第二行为树控制所述第一虚拟对象。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:将所述第一行为树的服务节点的第三更新周期调整为第四更新周期;其中,所述第四更新周期与所述第一距离相对应,所述服务节点用于更新运行所述第一行为树所需的数据,所述第三更新周期和所述第四更新周期用于指示所述服务节点在进
行相邻两次更新之间的时间间隔。8.根据权利要求1至4任一所述的方法,其特征在于,所述第二行为树的一个顺序节点附着有m个装饰器节点;所述方法还包括:在通过所述第二行为树控制所述第一虚拟对象的过程中,在所述第二行为树的第k个更新周期内最后一次更新目标数据之后,对所述m个装饰器节点进行一次条件判断;其中,所述目标数据是运行所述第二行为树所需的输入数据,所述顺序节点用于在所述顺序节点的全部子节点返回成功值的情况下返回成功值,所述装饰器节点用于确定执行或不执行所述顺序节点所在的分支、确定中断所述顺序节点所在的分支、确定中断所述顺序节点所在的分支的低优先级分支中的至少一种,m、k为正整数。9.根据权利要求8所述的方法,其特征在于,所述目标数据包括黑板值,所述m个装饰器节点关注同一个所述黑板值,在所述第k个更新周期内所述黑板值被更新n次,n为正整数;所述在所述第二行为树的第k个更新周期内最后一次更新目标...

【专利技术属性】
技术研发人员:王亚昌杨洋王玉龙
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1