基于行为树的非用户角色控制方法技术

技术编号:39746036 阅读:6 留言:0更新日期:2023-12-17 23:44
本申请公开了一种基于行为树的非用户角色控制方法

【技术实现步骤摘要】
基于行为树的非用户角色控制方法、装置、设备及介质


[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.
一种基于行为树的非用户角色控制方法,其特征在于,所述方法包括:基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;若满足,则确定所述行为触发条件对应的行为节点;基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作
。2.
根据权利要求1所述的基于行为树的非用户角色控制方法,其特征在于,在控制所述非用户角色执行与所述触发条件对应的行为动作之后,所述方法还包括:基于所述行为树的结果反馈节点获取所述非用户角色执行所述行为动作的执行结果;其中,所述执行结果包括执行成功和执行失败
。3.
根据权利要求2所述的基于行为树的非用户角色控制方法,其特征在于,在基于所述行为树的结果反馈节点获取所述非用户角色执行所述行为动作的执行结果之后,所述方法还包括:基于所述控制节点识别所述执行结果是否满足所述行为继续执行条件;若满足,则基于所述行为树的行为节点根据预先配置的执行逻辑,继续控制所述非用户角色执行与所述触发条件对应的行为动作,直至所述执行结果不满足所述行为继续执行条件为止
。4.
根据权利要求1所述的基于行为树的非用户角色控制方法,其特征在于,所述控制节点包括顺序节点;相应的,基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件,包括:基于所述顺序节点的识别顺序对所述基础数据进行顺序识别;若在顺序识别的过程中,依次返回的识别结果与第一预设结果相符合,则确定为满足行为触发条件
。5.
根据权利要求4所述的基于行为树的非用户角色控制方法,其特征在于,所述控制节点包括选择节点;相应的,基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件,包括:基于所述选择节点的识别条件对所述基础数据进行逐个识别;若在逐个识别的过程中,存在任意一个返回的识别结果与第二预设结果相符合,则确定为满足行为触发条件
。6.
根据权利要求1所述的...

【专利技术属性】
技术研发人员:苏中华
申请(专利权)人:安徽三七极域网络科技有限公司
类型:发明
国别省市:

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

1