系统逻辑控制方法及装置制造方法及图纸

技术编号:21059405 阅读:24 留言:0更新日期:2019-05-08 06:31
本发明专利技术公开了一种系统逻辑控制方法及装置,属于计算机领域。所述方法包括:获取第一行为树实例,第一行为树实例中包括用于对虚拟环境进行逻辑控制的至少一条执行路径;根据虚拟环境的当前运行信息,在第一行为树实例的至少一条执行路径中确定目标执行路径,根据目标执行路径,确定需要控制的n个虚拟对象和n个虚拟对象各自对应的目标事件,n为正整数;通过n个虚拟对象各自对应的第二行为树实例,控制n个虚拟对象执行各自对应的目标事件。本发明专利技术通过第一行为树实例与n个第二行为树实例共同协调作用,实现自动控制系统的目的,从而提高了系统的响应速率。

System Logic Control Method and Device

【技术实现步骤摘要】
系统逻辑控制方法及装置
本专利技术实施例涉及计算机领域,特别涉及一种系统逻辑控制方法及装置。
技术介绍
在开发大型系统或游戏的过程中,开发人员需要花费大量时间设置复杂的控制逻辑。相关技术中,开发人员通常利用有限状态机(英文:Finite-StateMachine,简称:FSM)对系统进行逻辑控制。有限状态机中包括有限个状态(英文:State)以及各个状态之间的状态转移关系,其中,有限状态机中的各个状态与系统的系统状态对应。开发人员在设置系统的控制逻辑时,只需要向有限状态机中添加状态和状态转移关系,并设置相应的状态转移条件即可。但是,随着系统逻辑复杂度的提高,开发人员需要不断修改或增加有限状态机中的状态以及对应的状态转移关系,导致有限状态机过于臃肿,影响系统的响应速率。
技术实现思路
为了解决相关技术中利用有限状态机对系统进行逻辑控制时,由于有限状态机过于臃肿而导致系统的响应速率减慢的问题,本专利技术实施例提供了一种系统逻辑控制方法及装置。所述技术方案如下:第一方面,提供了一种系统逻辑控制方法,所述方法包括:获取第一行为树实例,所述第一行为树实例中包括用于对虚拟环境进行逻辑控制的至少一条执行路径;根据所述虚拟环境的当前运行信息,在所述第一行为树实例的所述至少一条执行路径中确定目标执行路径;根据所述目标执行路径,确定需要控制的n个虚拟对象和所述n个虚拟对象各自对应的目标事件,所述n为正整数;通过所述n个虚拟对象各自对应的第二行为树实例,控制所述n个虚拟对象执行各自对应的所述目标事件。第二方面,提供了一种系统逻辑控制装置,所述装置包括:获取模块,用于获取第一行为树实例,所述第一行为树实例中包括用于对虚拟环境进行逻辑控制的至少一条执行路径;第一确定模块,用于根据所述虚拟环境的当前运行信息,在所述第一行为树实例的所述至少一条执行路径中确定目标执行路径;第二确定模块,用于根据所述目标执行路径,确定需要控制的n个虚拟对象和所述n个虚拟对象各自对应的目标事件,所述n为正整数;控制模块,用于通过所述n个虚拟对象各自对应的第二行为树实例,控制所述n个虚拟对象执行各自对应的所述目标事件。第三方面,提供了一种逻辑控制设备,所述逻辑控制设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现第一方面所提供的系统逻辑控制方法。第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现第一方面所提供的系统逻辑控制方法。本专利技术实施例提供的技术方案带来的有益效果是:通过获取第一行为树实例,第一行为树实例中包括用于对虚拟环境进行逻辑控制的至少一条执行路径,根据虚拟环境的当前运行信息,在第一行为树实例的至少一条执行路径中确定目标执行路径,根据目标执行路径,确定需要控制的n个虚拟对象和n个虚拟对象各自对应的目标事件,,控制n个虚拟对象执行各自对应的目标事件;避免了相关技术中利用有限状态机对系统进行逻辑控制时由于有限状态机过于臃肿而导致系统的响应速率减慢的情况,利用扩展性强且复用性高的行为树进行系统逻辑控制,并将行为树实例分为第一行为树实例和第二行为树实例,分别负责不同层次的逻辑控制,即通过第一行为树实例与n个第二行为树实例共同协调作用,实现自动控制系统的目的,从而提高了系统的响应速率。附图说明图1是本专利技术实施例提供的系统逻辑控制方法所涉及的实施环境;图2是本专利技术一个实施例提供的系统逻辑控制方法的流程图;图3是本专利技术另一个实施例提供的系统逻辑控制方法的流程图;图4是本专利技术另一个实施例提供的系统逻辑控制方法的流程图;图5是本专利技术另一个实施例提供的系统逻辑控制方法的流程图;图6是本专利技术另一个实施例提供的系统逻辑控制方法的流程图;图7是本专利技术另一个实施例提供的系统逻辑控制方法的流程图;图8是本专利技术另一个实施例提供的系统逻辑控制方法的流程图;图9是本专利技术一个实施例提供的系统逻辑控制装置的结构示意图;图10是本专利技术另一个实施例提供的系统逻辑控制装置的结构示意图;图11是本专利技术一个实施例提供的终端1100的结构示意图;图12是本专利技术一个实施例提供的服务器1200的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。为了方便理解,下面对本专利技术实施例中出现的名词进行解释。行为树:一种计划执行的数学模型,本质上是一种决策树。每棵行为树中包含若干个行为节点,其中,该行为节点包括控制节点和执行节点。执行节点作为行为树的叶节点,用于执行该节点所指示的事件(或行为)。行为树中的控制节点(在树的概念中即为父节点)与若干个子节点相连(控制节点和/或执行节点),用于选择(Selector)执行、序列(Sequence)执行或并行(Parallel)执行某一或某些子节点。其中,选择执行指按序执行子节点,并在子节点返回true时停止执行后续子节点;序列执行指按序执行各个子节点,并在子节点返回false时停止执行后续子节点;并行执行指按序执行所有子节点(不论返回true或false)。分层行为树:包括至少两层行为树。本专利技术实施例中,以分层行为树包括两层行为树为例进行说明,第一层即位于上层的行为树称为第一行为树,第二层即位于下层的行为树称为第二行为树。第一行为树实例:也称为决策行为树实例,由第一行为树实例化创建而成。第一行为树实例中包括用于对虚拟环境进行逻辑控制的至少一条执行路径。其中,执行路径用于指示行为树实例中根节点到叶节点之间的路径,即执行某一事件时经过的各个行为节点所构成的路径。第一行为树实例用于根据虚拟环境的当前运行信息,在至少一条执行路径中确定目标执行路径,目标执行路径用于指示虚拟环境中需要控制的n个虚拟对象和n个虚拟对象各自对应的目标事件,其中,n为正整数。可选的,第一行为树实例支持虚拟环境中m个虚拟对象的复用。比如,虚拟环境也称为三维虚拟环境或虚拟游戏环境。第二行为树实例:也称为基础行为树实例,由第二行为树实例化创建而成。第二行为树实例用于控制虚拟对象执行预定事件,第二行为树实例与虚拟对象一一对应。在本专利技术实施例中,虚拟环境中的m个虚拟对象复用一个第一行为树实例,每个虚拟对象具有各自对应的第二行为树实例,其中,m大于n且m为正整数。可选的,每个第二行为树挂载在一个虚拟对象上,控制该虚拟对象执行预设事件。其中,虚拟对象是具有执行预定事件的能力的对象。比如,虚拟对象是虚拟环境中的人工智能(ArtificialIntelligence,AI)实体。比如,第二行为树实例用于控制虚拟对象执行待机、移动、攻击、建造和死亡中的至少一种基本行为。相关技术中,开发人员通常采用有限状态机对系统进行逻辑控制。随着系统控制逻辑的不断复杂,开发人员向有限状态机添加状态的过程中,需要添加相应的状态转移关系。比如,当现有的有限状态机中包含n个状态时,用户向该有限状态机中添加一个状态,则需要添加(n-1)个状态转移关系,显然,当系统具有复杂控制逻辑时,后续维护和升级成本较高;并且,有限状态机中状态本文档来自技高网...

【技术保护点】
1.一种系统逻辑控制方法,其特征在于,所述方法包括:获取第一行为树实例,所述第一行为树实例中包括用于对虚拟环境进行逻辑控制的至少一条执行路径;根据所述虚拟环境的当前运行信息,在所述第一行为树实例的所述至少一条执行路径中确定目标执行路径;根据所述目标执行路径,确定需要控制的n个虚拟对象和所述n个虚拟对象各自对应的目标事件,所述n为正整数;通过所述n个虚拟对象各自对应的第二行为树实例,控制所述n个虚拟对象执行各自对应的所述目标事件。

【技术特征摘要】
1.一种系统逻辑控制方法,其特征在于,所述方法包括:获取第一行为树实例,所述第一行为树实例中包括用于对虚拟环境进行逻辑控制的至少一条执行路径;根据所述虚拟环境的当前运行信息,在所述第一行为树实例的所述至少一条执行路径中确定目标执行路径;根据所述目标执行路径,确定需要控制的n个虚拟对象和所述n个虚拟对象各自对应的目标事件,所述n为正整数;通过所述n个虚拟对象各自对应的第二行为树实例,控制所述n个虚拟对象执行各自对应的所述目标事件。2.根据权利要求1所述的方法,其特征在于,所述虚拟环境包括m个虚拟对象,所述根据所述目标执行路径,确定需要控制的n个虚拟对象,包括:通过所述第一行为树实例调用所述m个虚拟对象各自对应的第二行为树实例的预设接口;根据所述m个第二行为树实例的预设接口,获取所述m个虚拟对象各自对应的对象状态,所述对象状态包括待机状态、移动状态、攻击状态、建造状态和死亡状态中的一种;从所述m个虚拟对象中确定所述对象状态不是所述死亡状态的n个虚拟对象。3.根据权利要求1所述的方法,其特征在于,所述通过所述n个虚拟对象各自对应的第二行为树实例,控制所述n个虚拟对象执行各自对应的所述目标事件,包括:对于所述n个虚拟对象中的每个所述虚拟对象,通过调用所述第二行为树实例中的第一函数控制所述虚拟对象执行移动事件;和/或,对于所述n个虚拟对象中的每个所述虚拟对象,通过调用所述第二行为树实例中的第二函数控制所述虚拟对象执行建造事件。4.根据权利要求3所述的方法,其特征在于,所述通过调用所述第二行为树实例中的第一函数控制所述虚拟对象执行移动事件,包括:确定所述虚拟对象对应的目标位置参数,所述目标位置参数用于指示所述虚拟对象所需移动到的目标位置;通过调用所述第一函数,控制所述虚拟对象移动到所述目标位置参数对应的所述目标位置上。5.根据权利要求3所述的方法,其特征在于,所述通过调用所述第二行为树实例中的第二函数控制所述虚拟对象执行建造事件,包括:确定所述虚拟对象对应的目标类型参数,所述目标类型参数用于指示所述虚拟对象所需建造的虚拟建筑的类型;通过调用所述第二函数,控制所述虚拟对象建造与所述目标类型参数对应的所述虚拟建筑。6.根据权利要求1至5任一所述的方法,所述根据所述虚拟环境的当前运行信息,在所述第一行为树实例的所述至少一条执行路径中确定目标执行路径,包括:当所述当前运行信息中的当前运行事件的标识为攻击事件标识时,确定所述第一行为树实例的所述目标执行路径为防御路径;所述通过所述n个虚拟对象各自对应的第二行为树实例,控制所述n个虚拟对象执行各自对应的所述目标事件,包括:对于所述n个虚拟对象中的每个所述虚拟对象,通过调用所述第二行为树实例中的第一函数控制所述虚拟对象执行所述移动事件。7.根据权利要求1至5任一所述的方法,其特征在于,所述根据所述虚拟环境的当前运行信息,在所述第一行为树实例的所述至少一条执行路径中确定目标执行路径,包括:当所述当前运行信息中的当前运行事件的标识不是攻击事件标识时,通过所述第一行为树实例调用m个所述第二行为树实例的预设接口;根据m个所述第二行为树实例的预设接口,获取所述m个虚拟对象各自对应的对象状态;根据所述当前运行信息和所述m个虚拟对象各自对应的对象状态,在所述第一行为树实例的所述至少一条执行路径中确定所述目标执行路径。8.根据权利要求7所述的方法,其特征在于,所述根据所述当前运行信息和所述m个虚拟对象各自对应的所述对象状态,在所述第一行为树实例...

【专利技术属性】
技术研发人员:刘毅
申请(专利权)人:腾讯科技上海有限公司
类型:发明
国别省市:上海,31

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

1