行为控制方法、装置、电子设备和计算机可读存储介质制造方法及图纸

技术编号:33048510 阅读:12 留言:0更新日期:2022-04-15 09:33
本申请实施例公开了一种行为控制方法、装置、电子设备和计算机可读存储介质;在本申请实施例中,获取针对目标角色的目标行为的输入参数;将所述输入参数传递给所述目标角色对应的目标行为树中第一黑板变量,所述目标行为树包括所述目标角色的不同行为;通过所述第一黑板变量将所述输入参数传递给所述目标行为树上的目标节点;基于所述输入参数,运行所述目标节点,以控制所述目标角色执行所述输入参数对应的目标行为。本申请实施例可以提高目标行为树的复用率,进而提高开发效率。进而提高开发效率。进而提高开发效率。

【技术实现步骤摘要】
行为控制方法、装置、电子设备和计算机可读存储介质


[0001]本申请涉及计算机
,具体涉及一种行为控制方法、装置、电子设备和计算机可读存储介质。

技术介绍

[0002]随着人工智能技术的发展,人工智能技术的应用越来越广泛。比如,将人工智能技术应用于控制游戏中的非玩家控制角色。
[0003]为了方便实现,会将非玩家控制角色的行为的执行逻辑封装在行为树当中。然而,目前一颗行为树只能执行特定的行为,导致不同的行为需要构建不同的行为树,较为麻烦,降低了开发效率。

技术实现思路

[0004]本申请实施例提供一种行为控制方法、装置、电子设备和计算机可读存储介质,可以解决不同行为需要构建不同的行为树导致的开发效率降低的技术问题。
[0005]一种行为控制方法,包括:
[0006]获取针对目标角色的目标行为的输入参数;
[0007]将上述输入参数传递给上述目标角色对应的目标行为树中第一黑板变量,上述目标行为树包括上述目标角色的不同行为;
[0008]通过上述第一黑板变量将上述输入参数传递给上述目标行为树上的目标节点;
[0009]基于上述输入参数,运行上述目标节点,以控制上述目标角色执行上述输入参数对应的目标行为。
[0010]相应地,本申请实施例提供一种行为控制装置,包括:
[0011]获取模块,用于获取针对目标角色的目标行为的输入参数;
[0012]第一传递模块,用于将上述输入参数传递给目标角色对应的目标行为树中第一黑板变量,上述目标行为树包括目标角色的不同行为;
[0013]第二传递模块,用于通过上述第一黑板变量将上述输入参数传递给上述目标行为树上的目标节点;
[0014]运行模块,用于基于上述输入参数,运行上述目标节点,以控制上述目标角色执行上述输入参数对应的目标行为。
[0015]可选地,上述第一传递模块具体用于执行:
[0016]通过上述第一黑板变量将上述输入参数传递给上述目标行为树中目标转换类;
[0017]通过上述目标转换类对上述输入参数的格式进行转换,得到目标参数,并将上述目标参数传递给上述目标行为树上的目标节点;
[0018]相应地,上述运行模块具体用于执行:
[0019]基于目标参数,运行目标节点,以控制目标角色执行输入参数对应的目标行为。
[0020]可选地,上述目标行为树为外部行为树的子树。
[0021]相应地,上述第一传递模块具体用于执行:
[0022]通过外部行为树中预先构建的加载类节点加载上述目标行为树;
[0023]将上述输入参数传递给上述加载类节点;
[0024]通过上述加载类节点将上述输入参数传递给目标角色对应的目标行为树中第一黑板变量。
[0025]可选地,上述行为控制装置还包括:
[0026]构建封装模块,用于:
[0027]构建目标黑板,目标黑板包括第一目标黑板,第一目标黑板包括用于存储并传递输入参数的第一黑板变量;
[0028]构建行为树类;
[0029]利用行为树类和目标黑板对不同行为的代码进行封装,得到目标行为树。
[0030]可选地,上述行为控制装置还包括:
[0031]显示模块,用于在包含目标行为树的电子设备上显示第一黑板变量对应的控件。
[0032]相应地,获取模块用于执行:
[0033]通过上述控件获取针对目标角色的目标行为对应的输入参数。
[0034]构建封装模块具体用于执行:
[0035]构建目标转换类;
[0036]利用上述行为树类、上述目标黑板和上述目标转换类对不同行为的代码进行封装,得到目标行为树。
[0037]可选地,上述第一黑板变量的变量类型包括选择黑板变量类型和可编辑黑板变量类型。
[0038]相应地,上述第一传递模块具体用于执行:
[0039]确定上述输入参数的变量类型;
[0040]若上述输入参数的变量类型为上述选择黑板变量类型,则将上述输入参数传递给目标角色对应的目标行为树中上述选择黑板变量类型对应的第一黑板变量;
[0041]若上述输入参数的变量类型为上述可编辑黑板变量类型,则将上述输入参数传递给目标角色对应的目标行为树中上述可编辑黑板变量类型对应的第一黑板变量。
[0042]此外,本申请实施例还提供一种电子设备,包括处理器和存储器,上述存储器存储有计算机程序,上述处理器用于运行上述存储器内的计算机程序实现本申请实施例提供的行为控制方法。
[0043]此外,本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序适于处理器进行加载,以执行本申请实施例所提供的任一种行为控制方法。
[0044]此外,本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请实施例所提供的任一种行为控制方法。
[0045]在本申请实施例中,先获取针对目标角色的目标行为的输入参数。然后将输入参数传递给目标角色对应的目标行为树中第一黑板变量,目标行为树包括目标角色的不同行为。接着通过第一黑板变量将输入参数传递给目标行为树上的目标节点。最后基于输入参数,运行目标节点,以控制目标角色执行输入参数对应的目标行为。
[0046]即在本申请实施例中,由于可以通过目标行为树中第一黑板变量将目标角色的目标行为的输入参数传递给目标行为树上的目标节点,最后基于输入参数,运行目标节点,从而控制目标角色执行输入参数对应的目标行为,因此,目标行为树中可以包括目标角色的不同行为,然后通过不同的输入参数可以使得目标角色执行目标行为树中不同的行为,从而提高目标行为树的复用率,进而提高开发效率。
附图说明
[0047]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]图1是本申请实施例提供的行为控制过程的场景示意图;
[0049]图2是本申请实施例提供的行为控制方法的流程示意图;
[0050]图3是本申请实施例提供的加载类的示意图;
[0051]图4是本申请实施例提供的目标黑板的示意图;
[0052]图5是本申请实施例提供的行为树类的示意图;
[0053]图6是本申请实施例提供的第一目标黑板的示意图;
[0054]图7是本申请实施例提供的将输入参数传递给第一黑板变量的流程示意图;
[0055]图8是本申请实施例提供的目标行为树的示意图;
[0056]图9是本申请实施例提供的目标行为树的封装的示意图;
[0057]图10是本申请实施例提供的另一种目标行为树的示意图;
[0058]图11是本申请实施例提供的另一种行为控本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种行为控制方法,其特征在于,包括:获取针对目标角色的目标行为的输入参数;将所述输入参数传递给所述目标角色对应的目标行为树中第一黑板变量,所述目标行为树包括所述目标角色的不同行为;通过所述第一黑板变量将所述输入参数传递给所述目标行为树上的目标节点;基于所述输入参数,运行所述目标节点,以控制所述目标角色执行所述输入参数对应的目标行为。2.根据权利要求1所述的方法,其特征在于,所述通过所述第一黑板变量将所述输入参数传递给所述目标行为树上的目标节点,包括:通过所述第一黑板变量将所述输入参数传递给所述目标行为树中目标转换类;通过所述目标转换类对所述输入参数的格式进行转换,得到目标参数,并将所述目标参数传递给所述目标行为树上的目标节点;相应地,所述基于所述输入参数,运行所述目标节点,以控制所述目标角色执行所述输入参数对应的目标行为,包括:基于所述目标参数,运行所述目标节点,以控制所述目标角色执行所述输入参数对应的目标行为。3.根据权利要求1所述的方法,其特征在于,所述目标行为树为外部行为树的子树;所述将所述输入参数传递给目标角色对应的目标行为树中第一黑板变量,包括:通过所述外部行为树中预先构建的加载类节点加载所述目标行为树;将所述输入参数传递给所述加载类节点;通过所述加载类节点将所述输入参数传递给目标角色对应的目标行为树中第一黑板变量。4.根据权利要求1

3任一项所述的方法,其特征在于,在所述获取针对目标角色的目标行为的输入参数之前,还包括:构建目标黑板,所述目标黑板包括第一目标黑板,所述第一目标黑板包括用于存储并传递输入参数的第一黑板变量;构建行为树类;利用所述行为树类和所述目标黑板对不同行为的代码进行封装,得到目标行为树。5.根据权利要求4所述的方法,其特征在于,在所述利用所述行为树类和所述目标黑板对不同行为的代码进行封装,得到目标行为树之后,还包括:在包含所述目标行为树的电子设备上显示所述第一黑板变量对应的控件;相应地,所述获取针对目标角色的目标行为对应的输入参数,包括:通过所述控件获取针对目...

【专利技术属性】
技术研发人员:任江枫
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1