基于行为树的非用户角色控制方法、装置、设备及介质与流程

文档序号:36391557发布日期:2023-12-15 10:06阅读:46来源:国知局
基于行为树的非用户角色控制方法与流程

本技术属于游戏,具体涉及一种基于行为树的非用户角色控制方法、装置、设备及介质。


背景技术:

1、非玩家角色在多人在线游戏中扮演了非常重要的角色。它们丰富了游戏世界,创造了更真实的虚拟环境。非玩家角色在游戏中可以推动剧情发展,提供任务和目标,增加游戏深度。同时,非玩家角色也促进了玩家社交互动,充当交流对象。它们强化了游戏体验,使玩家能更深入地融入虚拟世界。

2、有限状态机被广泛用于驱动非玩家角色执行游戏逻辑,首先需要确定非玩家角色在游戏中可能存在的状态,然后规定触发状态切换的条件,再创建图表显示状态和转换关系,并为每个状态编写对应的行为逻辑,最后将非玩家角色的状态机与游戏引擎整合,这样非玩家角色即可根据条件自动切换行为。

3、但在使用有限状态机驱动非玩家角色执行游戏逻辑的过程中,对于复杂的非玩家角色的行为,有限状态机会变得很庞大从而难于管理,并且随着转换条件和状态的增加,有限状态机也会变得很复杂。


技术实现思路

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、进一步的,所述控制节点包括顺序节点;

38、相应的,所述行为触发条件判断模块用于:

39、基于所述顺序节点的识别顺序对所述基础数据进行顺序识别;

40、若在顺序识别的过程中,依次返回的识别结果与第一预设结果相符合,则确定为满足行为触发条件。

41、进一步的,所述控制节点包括选择节点;

42、相应的,所述行为触发条件判断模块用于:

43、基于所述选择节点的识别条件对所述基础数据进行逐个识别;

44、若在逐个识别的过程中,存在任意一个返回的识别结果与第二预设结果相符合,则确定为满足行为触发条件。

45、进一步的,所述装置还包括初始化配置数据确定模块,所述初始化配置数据确定模块用于:

46、根据所述行为节点以及预先配置的配置数据映射表确定所述行为节点的初始化配置数据;

47、相应的,所述行为动作执行模块用于:

48、基于所述行为树的行为节点根据所述初始化配置数据以及预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。

49、进一步的,所述装置还包括配置数据更新模块,所述配置数据更新模块用于:

50、响应于用户配置的游戏变更方案,根据所述游戏变更方案确定配置数据变更值;

51、根据所述初始化配置数据以及所述配置数据变更值更新所述行为节点的配置数据。

52、第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。

53、第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

54、第五方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。

55、在本技术实施例中,基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;若满足,则确定所述行为触发条件对应的行为节点;基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。通过上述基于行为树的非用户角色控制方法,使用由多个节点组成的行为树控制非玩家角色执行行为动作,可以使非玩家角色的行为逻辑更清晰,并且各节点独立分工可以更容易诊断问题,从而使行为树更加易于维护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1