一种行为处理方法及装置制造方法及图纸

技术编号:12453411 阅读:73 留言:0更新日期:2015-12-04 17:28
本发明专利技术实施例提供一种行为处理方法及装置,其中的方法可包括:在遍历角色行为树的技能子树时,获取待执行的目标技能标识;从技能池中选择与所述目标技能标识匹配的目标技能子树,并将所述目标技能子树挂载于所述角色行为树;依次遍历所述目标技能子树的各个节点,若遍历到与触发事件关联的目标条件节点返回有效信息时,则执行与所述目标条件节点对应的线性技能动作。本发明专利技术可将待执行的目标技能子树挂载于角色行为树进行遍历执行,充分利用行为树的递归与逻辑特性,设计方式简单,具有优秀的扩展性。

【技术实现步骤摘要】

本专利技术涉及数据处理
,具体涉及一种行为处理方法及装置
技术介绍
角色行为和技能系统是游戏系统中最重要的组成部分,在游戏系统中技能可以解释为一个序列,即是按照时间轴顺序并行执行的一系列事件。技能可以包括线性技能动作与非线性技能动作,线性技能动作即是给定时间轴上时间t,即可以得到该处的技能状态。非线性技能则是由于存在触发事件才执行的一系列技能动作,例如,需要用户输入或者外部条件触发等才执行相应的技能动作。在技能设计时,通常采用线性序列编辑器对线性技能进行编辑处理,对于因外界触发事件所产生的非线性技能则采用有限状态机进行编辑处理,由于触发事件多样,因此采用有限状态机进行处理时,状态机设计复杂,并且扩展困难。
技术实现思路
本专利技术实施例提供一种行为处理方法及装置,可将待执行的目标技能子树挂载于角色行为树进行遍历执行,充分利用行为树的递归与逻辑特性,设计方式简单,具有优秀的扩展性。本专利技术第一方面提供一种行为处理方法,可包括:在遍历角色行为树的技能子树时,获取待执行的目标技能标识;从技能池中选择与所述目标技能标识匹配的目标技能子树,并将所述目标技能子树挂载于所述角色行为树,所述目标技能子树包括序列节点、选择节点、条件节点以及动作节点中的至少一种;依次遍历所述目标技能子树的各个节点,若遍历到与触发事件关联的目标条件节点返回有效信息时,则执行与所述目标条件节点对应的线性技能动作。本专利技术第二方面提供一种行为处理装置,可包括:获取模块,用于在遍历角色行为树的技能子树时,获取待执行的目标技能标识;选择挂载模块,用于从技能池中选择与所述目标技能标识匹配的目标技能子树,并将所述目标技能子树挂载于所述角色行为树,所述目标技能子树包括序列节点、选择节点、条件节点以及动作节点中的至少一种;遍历执行模块,用于依次遍历所述目标技能子树的各个节点,若遍历到与触发事件关联的目标条件节点返回有效信息时,则执行与所述目标条件节点对应的线性技能动作。实施本专利技术实施例,具有如下有益效果:本专利技术实施例,在遍历角色行为树的技能子树时,获取待执行的目标技能标识,从技能池中选择与目标技能标识匹配的目标技能子树,并将该目标技能子树挂载于角色行为树,依次遍历目标技能子树的各个节点,若遍历到与触发事件关联的目标条件节点返回有效信息时,则执行与该目标条件节点对应的线性技能动作。这种处理方式利用行为树的递归与逻辑特性将非线性技能转化为多个线性技能动作的执行,设计方式简单,并且具有优秀的可扩展性。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种行为处理方法的流程图;图2为本专利技术实施例提供的另一种行为处理方法的流程图;图3为本专利技术实施例提供的一种行为树设计示意图;图4为本专利技术实施例提供的一种行为处理装置的结构示意图;图5为本专利技术实施例提供的另一种行为处理装置的结构示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例的行为处理方法可以应用于智能手机、个人电脑、个人数字助手等设备的游戏系统的角色行为和技能设计中。本专利技术实施例的行为处理方法既可以处理线性目标技能,也可以处理非线性目标技能,若目标技能为非线性,则利用行为树的递归逻辑特点将非线性技能分段为线性技能进行执行,设计方式简单,并且具有优秀的可扩展性。在手游的游戏系统中通常会包括多个角色,例如包括角色1、角色2以及角色3,每个角色都具备相应的技能,且一个角色所具备的技能可以有多个。当某一个角色执行某一个目标技能时,即将该目标技能对应的能够表明执行该目标技能动作步骤的目标技能子树挂载于角色行为树上。在后台游戏系统的设计中,为每一个角色设计一个角色行为树用于表明该角色的各种行为状态,通过遍历该角色行为树控制该角色在游戏场景中的具体行为状态。具体的,例如,角色行为树包括出生子树,该出生子树用于表明该角色的出生状态,即是在游戏系统中该角色的出生时间为0,则在遍历角色行为树时,控制在游戏场景中出现该角色。角色行为树还包括死亡子树,该死亡子树用于表明该角色的死亡状态,即是在游戏系统中该角色被杀或者该角色到达寿命,则在遍历角色行为树时,控制在游戏场景中去除该角色。角色行为树还包括技能子树,该技能子树用于表明该角色的行为状态,即是在遍历角色行为树时,控制该角色在游戏场景中实施各种行为和策略。技能包括线性技能和非线性技能。非线性技能是由多段线性技能组合而成,而每段线性技能的执行需要外界的触发,例如当用户输入A,则自动执行与A对应的行为动作,与A对应的行为动作为线性技能。然后用户输入B,则自动执行与B对应的行为动作,与B对应的行为动作也为线性技能,与A对应的行为动作加上与B对应的行为动作即组成非线性技能。角色行为树还包括空闲子树,该空闲子树用于表明该角色的空闲状态。下面将结合附图1-附图3,对本专利技术实施例提供的角色处理方法进行详细介绍。请参照图1,为本专利技术实施例提供的一种行为处理方法的流程图;该方法可包括以下步骤S10-步骤S102。S100,在遍历角色行为树的技能子树时,获取待执行的目标技能标识;具体实施例中,设计角色行为树(Behav1r Tree,BT)实现游戏系统的各个角色在游戏场景中所实施的技能与行为,通常游戏系统中一个角色对应一个角色BT,每隔预设时间,BT会自动更新一次,从而实现更新游戏场景中该角色的具体行为状态。更新BT时永远从起始根节点开始遍历。通过对角色不同行为分支的分割分别设计相应子树,例如,如图3所示,角色BT的子树可以包括出生子树,死亡子树、技能子树等等。各个子树均挂载于角色BT的起始根节点之下,角色BT的根节点可以为选择节点。需要说明的是,在角色行为树中的节点类型可以包括序列节点、选择节点、条件节点以及动作节点,不同的节点类型用于表明遍历角色行为树过程中的执行条件或执行方式,即是在游戏场景中该角色实施某一个行为的触发条件或者实施方式,例如,若节点为序列节点,则需要该序列节点下的所有节点返回成功消息,即是执行完该序列节点下所有节点所表明的行为,则该序列节点才返回成功消息,否则返回失败消息;若节点为选择节点,则只需要该选择节点下的任意一个节点返回成功消息,即是执行完该选择节点下的任意一个节点所表明的行为,则该选择节点返回成功消息。在依次遍历角色BT的各个子树时,若角色BT的出生子树和死亡子树均返回失败信息时,则遍历角色BT的技能子树,获取系统中当前需要执行的目标技能标识,目标技能可以为线性技能,也可以为非线性技能。S101,从技能池中选择与所述目标技能标识匹配的目标技能子树,并将所述目标技能子树挂载于所述角色行为树,所述目标技能子树包括序列节点、选择节点、条件节点以及动作节点中的至少一种;具体实施例中,本文档来自技高网...
一种行为处理方法及装置

【技术保护点】
一种行为处理方法,其特征在于,包括:在遍历角色行为树的技能子树时,获取待执行的目标技能标识;从技能池中选择与所述目标技能标识匹配的目标技能子树,并将所述目标技能子树挂载于所述角色行为树,所述目标技能子树包括序列节点、选择节点、条件节点以及动作节点中的至少一种;依次遍历所述目标技能子树的各个节点,若遍历到与触发事件关联的目标条件节点返回有效信息时,则执行与所述目标条件节点对应的线性技能动作。

【技术特征摘要】

【专利技术属性】
技术研发人员:薛鹏曾逸孙晖
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:广东;44

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

1