【技术实现步骤摘要】
一种行为树的运行方法、装置、电子设备及存储介质
[0001]本申请涉及软件管理
,尤其涉及一种行为树的运行方法、装置、电子设备及存储介质。
技术介绍
[0002]现有行为树工具,组合节点分为并行(Parallel)、顺序(Sequence)、选择(Selector)三类,并行节点下的行动并行执行;顺序节点下的行动从左至右串行执行;选择节点下行动从左至右顺序执行,当第一次遇到某个行动返回成功时,则停止继续执行其他行动。
[0003]而在某些非AI或游戏类的应用场景中,会由业务人员来绘制行为树,以表述一次大型活动或事件,但是传统行为树的绘制逻辑无法支持在同一组合节点下既支持并行同时也支持串行关系,造成行为树绘制过程繁琐,且运行过程需要处理多个节点,影响运行速度。
技术实现思路
[0004]有鉴于此,本申请的目的在于至少提供一种行为树的运行方法、装置、电子设备及存储介质,通过引入同时支持串行逻辑和并行逻辑的通用组合节点下,简化行为树绘制过程。
[0005]本申请主要包括以下几个方面:
...
【技术保护点】
【技术特征摘要】
1.一种行为树的运行方法,其特征在于,所述行为树包括多个节点,所述方法包括:获取目标行为树对应的主线程池,按照各节点在主线程池中对应的执行顺序,运行目标行为树,所述多个节点包括通用组合节点;在运行过程中,若识别到通用组合节点,则确定通用组合节点下的每个子节点对应的节点类型;针对每个子节点,若该子节点为并行单节点,则从所述通用组合节点对应的并行线程池中调取该子节点对应的任务线程,执行并行逻辑;针对每个子节点,若该子节点为串行组合节点,则确定该子节点所属的串行组合,获取所述串行组合对应的串行线程池,所述串行线程池嵌套在所述并行线程池中,执行并行逻辑,所述串行组合包括多个子节点以及各子节点之间的执行顺序;完成对通用组合节点下的全部子节点的运行后,接着跳出并行线程池,返回主线程池运行通用组合节点所连接的下级节点,以完成对行为树的运行。2.根据权利要求1所述的方法,其特征在于,通过以下方式确定每个子节点对应的节点类型:判断该子节点是否存在横向连线;若该子节点存在横向连线,则确定该子节点的类型为串行组合节点;若该子节点不存在横向连线,则确定该子节点的节点类型为并行单节点。3.根据权利要求1所述的方法,其特征在于,通过以下方式创建行为树:响应于行为树创建请求,显示行为树创建界面,所述行为树创建界面包括节点列表和保存标识,所述节点列表包括不同类型的多个节点;响应于针对多个目标节点执行的拖拽操作,将多个目标节点放置在绘图区域;响应于对多个目标节点之间执行的连线操作,确定各目标节点之间的执行顺序;针对每个目标节点,若该目标节点是为通用组合节点,则响应于针对所述通用组合节点执行的编辑操作,在所述通用组合节点下添加多个子节点;接收各目标子节点之间执行的连线操作,将各目标子节点确定为串联组合节点;将除多个目标子节点之外的其它子节点确定为并行单节点;响应于针对所述保存标识执行的选择操作,将绘制好的行为树保存至行为树数据库,以完成对行为树的创建。4.根据权利要求3所述的方法,其特征在于,响应于针对所述保存标识执行的选择操作,将绘制好的行为树保存至行为树数据库,以完成对行为树的创建的步骤包括:响应于针对所述保存标识执行的选择操作,对绘制好的行为树进行解析,将各节点对应的任务线程放置到主线程池中;当识别到通用组合节点时,按照从左至右的顺序遍历通用组合节点下的所有子节点;针对每个子节点,判断该子节点是否存在横向连线,若该子节点不存在横向连线,则确定该子节点为并行单节点,将该子节点对应的任务线程添加至所述通用组合节点对应的并行线程池;针对每个子节点,若该子节点存在横向连线,则将该子节点确定为串行组合节点,并确定该子节点对应的串行组合,开启该串行组合对应的串行线程池,并将所述串行组合中各子节...
【专利技术属性】
技术研发人员:金可栋,杨华,黄勇,
申请(专利权)人:中电金信软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。