本申请涉及数据处理,尤其涉及一种虚拟角色的控制方法、装置、计算机设备和存储介质。
背景技术:
1、现有游戏中大都会设置人工智能(artificial intelligence,ai)实体等虚拟对象,ai实体是游戏中不由玩家控制而是由计算机自动控制的对象。行为树是目前较为常用的控制方案,其适用面广且成本较低。但由于许多游戏存在多种游戏模式,传统技术中行为树的设计方案常常需要针对每个游戏模式中的所有行为均进行重构设计,存在代码复用率较低,测试、维护和开发的难度大等问题。因此,需要提供一种改进的虚拟对象控制方案,以解决相关技术存在的问题。
技术实现思路
1、本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中代码复用率较低导致的测试、维护和开发的难度大的问题。
2、第一方面,本申请提供了一种虚拟角色的控制方法,包括:
3、向目标虚拟角色挂载当前游戏模式对应的模式行为子树,并遍历模式行为子树;
4、在遍历模式行为子树的过程中,若判定目标虚拟角色需要进行攻击,则调用攻击行为子树,以使目标虚拟角色通过遍历攻击行为子树执行攻击行为。
5、在其中一个实施例中,在当前游戏模式为占领模式时,遍历模式行为子树的过程包括:
6、通过第一动作节点,控制目标虚拟角色前往目标占领区域;
7、通过第一条件节点,判断第一范围内是否存在可攻击目标;
8、在第一条件节点判定为是时,调用攻击行为子树,否则通过第二条件节点,判断目标虚拟角色是否达到目标占领区域;
9、在第二条件节点判定为是时,通过第二动作节点,控制目标虚拟角色执行占领防守动作,否则返回通过第一动作节点,控制目标虚拟角色前往目标占领区域;
10、通过第三条件节点,判断目标占领区域是否有敌方角色;
11、在第三条件节点判定为是时,调用攻击行为子树,否则返回通过第二动作节点,控制目标虚拟角色执行占领防守动作。
12、在其中一个实施例中,遍历攻击行为子树的过程包括:
13、通过第三动作节点,控制目标虚拟角色执行巡逻动作;
14、通过第四条件节点,判断是否触发主动攻击条件;
15、在第四条件节点判定为是时,将触发主动攻击条件的角色确定为攻击目标,通过第四动作节点,控制目标虚拟角色对攻击目标执行追击动作,否则,通过第五条件节点,判断是否触发被动攻击条件;
16、在被动攻击条件判定为是时,将触发被动攻击条件的角色确定为攻击目标,通过第四动作节点,控制目标虚拟角色对攻击目标执行追击动作,否则返回通过第三动作节点,控制目标虚拟角色执行巡逻动作;
17、在追击动作执行的过程中,通过第六条件节点,判断被追击的目标是否超出第二范围;
18、在第六条件节点判定为是时,通过第五动作节点,控制目标虚拟角色进入待机状态,否则在追击动作完成后,通过第六动作节点,控制目标虚拟角色攻击攻击目标。
19、在其中一个实施例中,在通过第六动作节点,控制目标虚拟角色攻击攻击目标后,还包括:
20、通过第七条件节点,判断攻击目标是否处于死亡状态;
21、在第七条件节点判定为是时,通过第五动作节点,控制目标虚拟角色进入待机状态,否则通过第八条件节点,判断自身生命值是否低于生命阈值;
22、在第八条件节点判定为是时,通过第七动作节点,控制目标虚拟角色执行逃跑动作,否则返回通过第六动作节点,控制目标虚拟角色攻击攻击目标。
23、在其中一个实施例中,在逃跑动作执行完成后,还包括:
24、通过第八动作节点,控制目标虚拟角色执行生命值回复动作;
25、在生命值回复动作完成后,通过第九条件节点,判断攻击目标是否超出第三范围;
26、在第九条件节点判定为是时,通过第五动作节点,控制目标虚拟角色进入待机状态,否则返回通过第六动作节点,控制目标虚拟角色攻击攻击目标。
27、在其中一个实施例中,将攻击行为子树挂载于目标虚拟角色,包括:
28、根据第一对应关系,从多个可选攻击行为子树中确定与目标虚拟角色适配的作为目标攻击行为子树;
29、将目标攻击行为子树挂载于目标虚拟角色。
30、在其中一个实施例中,可选攻击行为子树的第六动作节点不同。
31、第二方面,本申请提供了一种虚拟角色的控制装置,包括:
32、第一处理模块,用于向目标虚拟角色挂载当前游戏模式对应的模式行为子树,并遍历模式行为子树;
33、第二处理模块,用于在遍历模式行为子树的过程中,若判定目标虚拟角色需要进行攻击,则调用攻击行为子树,以使目标虚拟角色通过遍历攻击行为子树执行攻击行为。
34、第三方面,本申请提供了一种计算机设备,包括一个或多个处理器,以及存储器,存储器中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,执行上述任一实施例中的虚拟角色的控制方法的步骤。
35、第四方面,本申请提供了一种存储介质,存储介质中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例中的虚拟角色的控制方法的步骤。
36、从以上技术方案可以看出,本申请实施例具有以下优点:
37、基于上述任一实施例,对于存在多种游戏模式的游戏在设计阶段将人工智能角色的行为树进行拆分,针对每个游戏模式设计对应的模式行为子树,包含执行该游戏模式所需要的各种行为,同时将ai的攻击机制抽象为独立的攻击行为子树。在运行时,根据当前游戏模式为目标虚拟角色挂载对应模式行为子树,遍历子树执行各行为。当需要目标虚拟角色攻击时,调用攻击行为子树实现攻击。该方案实现了游戏模式与攻击机制之间的完全解耦,在进行新的游戏模式开发时,只需设计对应模式子树而复用攻击行为子树,简化开发。此外,攻击行为子树的复用还使得测试、维护工作变得简单,大幅度降低了测试和维护成本。
1.一种虚拟角色的控制方法,其特征在于,包括:
2.根据权利要求1所述的虚拟角色的控制方法,其特征在于,在所述当前游戏模式为占领模式时,遍历所述模式行为子树的过程包括:
3.根据权利要求1所述的虚拟角色的控制方法,其特征在于,遍历所述攻击行为子树的过程包括:
4.根据权利要求3所述的虚拟角色的控制方法,其特征在于,在所述通过第六动作节点,控制所述目标虚拟角色攻击所述攻击目标后,还包括:
5.根据权利要求4所述的虚拟角色的控制方法,其特征在于,在所述逃跑动作执行完成后,还包括:
6.根据权利要求3所述的虚拟角色的控制方法,其特征在于,所述将攻击行为子树挂载于所述目标虚拟角色,包括:
7.根据权利要求6所述的虚拟角色的控制方法,其特征在于,所述可选攻击行为子树的所述第六动作节点不同。
8.一种虚拟角色的控制装置,其特征在于,包括:
9.一种计算机设备,其特征在于,包括一个或多个处理器,以及存储器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1-7任一项所述的虚拟角色的控制方法的步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7任一项所述的虚拟角色的控制方法的步骤。