CN117180750A - 基于行为树的非用户角色控制方法、装置、设备及介质 - Google Patents
基于行为树的非用户角色控制方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117180750A CN117180750A CN202311111561.4A CN202311111561A CN117180750A CN 117180750 A CN117180750 A CN 117180750A CN 202311111561 A CN202311111561 A CN 202311111561A CN 117180750 A CN117180750 A CN 117180750A
- Authority
- CN
- China
- Prior art keywords
- behavior
- node
- tree
- user role
- trigger condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000009471 action Effects 0.000 claims abstract description 88
- 230000008447 perception Effects 0.000 claims abstract description 17
- 230000006399 behavior Effects 0.000 claims description 388
- 230000008859 change Effects 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 26
- 230000003542 behavioural effect Effects 0.000 claims description 21
- 238000013506 data mapping Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 230000001276 controlling effect Effects 0.000 description 18
- 238000013473 artificial intelligence Methods 0.000 description 17
- 238000004880 explosion Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 238000005034 decoration Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000011449 brick Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004575 stone Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种基于行为树的非用户角色控制方法、装置、设备及介质,本申请属于游戏技术领域。该方法包括:基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;若满足,则确定所述行为触发条件对应的行为节点;基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。本方案使用由多个节点组成的行为树控制非玩家角色执行行为动作,可以使非玩家角色的行为逻辑更清晰,并且各节点独立分工可以更容易诊断问题,从而使行为树更加易于维护。
Description
技术领域
本申请属于游戏技术领域,具体涉及一种基于行为树的非用户角色控制方法、装置、设备及介质。
背景技术
非玩家角色在多人在线游戏中扮演了非常重要的角色。它们丰富了游戏世界,创造了更真实的虚拟环境。非玩家角色在游戏中可以推动剧情发展,提供任务和目标,增加游戏深度。同时,非玩家角色也促进了玩家社交互动,充当交流对象。它们强化了游戏体验,使玩家能更深入地融入虚拟世界。
有限状态机被广泛用于驱动非玩家角色执行游戏逻辑,首先需要确定非玩家角色在游戏中可能存在的状态,然后规定触发状态切换的条件,再创建图表显示状态和转换关系,并为每个状态编写对应的行为逻辑,最后将非玩家角色的状态机与游戏引擎整合,这样非玩家角色即可根据条件自动切换行为。
但在使用有限状态机驱动非玩家角色执行游戏逻辑的过程中,对于复杂的非玩家角色的行为,有限状态机会变得很庞大从而难于管理,并且随着转换条件和状态的增加,有限状态机也会变得很复杂。
发明内容
本申请实施例提供一种基于行为树的非用户角色控制方法、装置、设备及介质,目的是解决现有技术中的多人游戏中的有限状态机对于复杂度高的非玩家角色的行为会变得庞大而难以管理,并且随着转换条件和状态的增加,有限状态机也会变得很复杂的问题。
第一方面,本申请实施例提供了一种基于行为树的非用户角色控制方法,所述方法包括:
基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;
基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;
若满足,则确定所述行为触发条件对应的行为节点;
基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
进一步的,在控制所述非用户角色执行与所述触发条件对应的行为动作之后,所述方法还包括:
基于所述行为树的结果反馈节点获取所述非用户角色执行所述行为动作的执行结果;其中,所述执行结果包括执行成功和执行失败。
进一步的,在基于所述行为树的结果反馈节点获取所述非用户角色执行所述行为动作的执行结果之后,所述方法还包括:
基于所述控制节点识别所述执行结果是否满足所述行为继续执行条件;
若满足,则基于所述行为树的行为节点根据预先配置的执行逻辑,继续控制所述非用户角色执行与所述触发条件对应的行为动作,直至所述执行结果不满足所述行为继续执行条件为止。
进一步的,所述控制节点包括顺序节点;
相应的,基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件,包括:
基于所述顺序节点的识别顺序对所述基础数据进行顺序识别;
若在顺序识别的过程中,依次返回的识别结果与第一预设结果相符合,则确定为满足行为触发条件。
进一步的,所述控制节点包括选择节点;
相应的,基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件,包括:
基于所述选择节点的识别条件对所述基础数据进行逐个识别;
若在逐个识别的过程中,存在任意一个返回的识别结果与第二预设结果相符合,则确定为满足行为触发条件。
进一步的,在基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作之前,所述方法还包括:
根据所述行为节点以及预先配置的配置数据映射表确定所述行为节点的初始化配置数据;
相应的,基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作,包括:
基于所述行为树的行为节点根据所述初始化配置数据以及预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
进一步的,在基于所述行为树的行为节点根据所述初始化配置数据以及预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作之后,所述方法还包括:
响应于用户配置的游戏变更方案,根据所述游戏变更方案确定配置数据变更值;
根据所述初始化配置数据以及所述配置数据变更值更新所述行为节点的配置数据。
第二方面,本申请实施例提供了一种基于行为树的非用户角色控制装置,所述装置包括:
基础数据获取模块,用于基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;
行为触发条件判断模块,用于基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;
行为节点确定模块,用于若满足,则确定所述行为触发条件对应的行为节点;
行为动作执行模块,用于基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
进一步的,所述装置还包括执行结果获取模块,所述执行结果获取模块用于:
基于所述行为树的结果反馈节点获取所述非用户角色执行所述行为动作的执行结果;其中,所述执行结果包括执行成功和执行失败。
进一步的,所述装置还包括行为继续执行条件判断模块,所述行为继续执行条件判断模块用于:
基于所述控制节点识别所述执行结果是否满足所述行为继续执行条件;
若满足,则基于所述行为树的行为节点根据预先配置的执行逻辑,继续控制所述非用户角色执行与所述触发条件对应的行为动作,直至所述执行结果不满足所述行为继续执行条件为止。
进一步的,所述控制节点包括顺序节点;
相应的,所述行为触发条件判断模块用于:
基于所述顺序节点的识别顺序对所述基础数据进行顺序识别;
若在顺序识别的过程中,依次返回的识别结果与第一预设结果相符合,则确定为满足行为触发条件。
进一步的,所述控制节点包括选择节点;
相应的,所述行为触发条件判断模块用于:
基于所述选择节点的识别条件对所述基础数据进行逐个识别;
若在逐个识别的过程中,存在任意一个返回的识别结果与第二预设结果相符合,则确定为满足行为触发条件。
进一步的,所述装置还包括初始化配置数据确定模块,所述初始化配置数据确定模块用于:
根据所述行为节点以及预先配置的配置数据映射表确定所述行为节点的初始化配置数据;
相应的,所述行为动作执行模块用于:
基于所述行为树的行为节点根据所述初始化配置数据以及预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
进一步的,所述装置还包括配置数据更新模块,所述配置数据更新模块用于:
响应于用户配置的游戏变更方案,根据所述游戏变更方案确定配置数据变更值;
根据所述初始化配置数据以及所述配置数据变更值更新所述行为节点的配置数据。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
在本申请实施例中,基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;若满足,则确定所述行为触发条件对应的行为节点;基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。通过上述基于行为树的非用户角色控制方法,使用由多个节点组成的行为树控制非玩家角色执行行为动作,可以使非玩家角色的行为逻辑更清晰,并且各节点独立分工可以更容易诊断问题,从而使行为树更加易于维护。
附图说明
图1是本申请实施例一提供的基于行为树的非用户角色控制方法的流程示意图;
图2是本申请实施例一提供的行为树的代码的结构示意图;
图3是本申请实施例一提供的基于行为树的非用户角色控制方法的逻辑框架图;
图4是本申请实施例一提供的基于行为树的非用户角色控制方法的单位结构的层级示意图;
图5是本申请实施例二提供的基于行为树的非用户角色控制方法的流程示意图;
图6是本申请实施例三提供的基于行为树的非用户角色控制方法的流程示意图;
图7是本申请实施例四提供的基于行为树的非用户角色控制装置的结构示意图;
图8是本申请实施例五提供的电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的基于行为树的非用户角色控制方法、装置、设备及介质进行详细地说明。
实施例一
图1是本申请实施例一提供的基于行为树的非用户角色控制方法的流程示意图。如图1所示,具体包括如下步骤:
S101,基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据。
首先,本方案的使用场景可以是基于行为树获取非用户角色的基础数据后判断所述基础数据是否满足非用户角色执行行为动作的条件,并在满足条件的情况下控制非用户角色执行所述行为动作的场景。
基于上述使用场景,可以理解的,本申请的执行主体可以是该行为树,此处不做过多的限定。
本方案中,图2是本申请实施例一提供的行为树的代码的结构示意图,如图2所示,行为树可以是一种用于控制非玩家角色行为的图状结构。它将非玩家角色的行为分解为层次化的节点,从根节点开始逐步向下执行,根据节点类型和条件判断来决定下一步的行动,是模拟非玩家角色行为的有力工具。
行为树可以由叶节点Action、事件Condition以及管理叶节点和事件的各种根节点组成。其中,叶节点可以表示具体做的事情,具体的,可以是预先定义好的请求脚本。事件可以检测某个事件是否发生,具体的,可以是预先定义好的监测脚本。管理叶节点和事件的各种根节点可以是把叶节点和事件进行管理的节点类型。例如,若要拿三块积木,在执行拿第一块积木的步骤时,叶节点可以根据定义好的脚本更改坐标位置,并且叶节点具有三种状态:移动中、失败以及成功。当执行更改坐标位置的步骤时,这个节点会返回移动中或失败或成功的任意一种。而且挂载了更改坐标位置的叶节点的游戏物体,也会在场景里进行对应的移动操作。
当执行拿第二块积木的步骤时,根节点下面可以挂载任意多个子节点,并且会按顺序执行各子节点,当所有子节点都返回成功时,才会向父节点返回成功;否则,向父节点返回失败。当在根节点下面挂载两个更改坐标位置的叶节点,并且该根节点会按顺序执行各子节点时,就会按照顺序执行下面两个子节点,然后按照根节点的逻辑向上级父节点返回结果,其中,所述结果包括移动中、失败以及成功。
当执行拿第三块积木的步骤时,根节点下面可以挂载任意多个子节点,并且可以选择执行挂载的子节点,当任意子节点返回成功时,则向父节点返回成功;否则,向父节点返回失败。
本方案中,行为树可以包括复合节点,条件节点,装饰节点以及行为节点。其中,复合节点包括顺序节点以及选择节点。
复合节点无特殊逻辑,是顺序调用子节点的返回结果,其中,返回结果包括成功以及失败。
条件节点没有子节点,用来做基础判断,返回成功或者失败的结果。
行为节点是最终需要执行的操作,直接调用业务代码。
装饰节点用于计算一些数值,然后这个数值存储到黑板中,并传递到下一个节点去,下一个节点可以利用上一个节点传递的值。装饰节点不做判断逻辑,判断逻辑在条件节点中执行,多个装饰节点串联起来最终进行简单的true、false或者数字比较判断。
数据采集节点可以是行为树中的一种节点类型,用于获取非玩家角色的基础数据。这些数据包括自身属性数据和感知数据。自身属性数据可以是指非玩家角色的内部属性,例如生命值、能力值装备以及等级和经验值等。其中,生命值可以指示非玩家角色的健康状态,决定其存活能力。能力值可以包括力量、敏捷以及智力等,影响非玩家角色在战斗以及移动等方面的表现。装备和武器信息可以指示非玩家角色所装备的装备以及武器,影响其攻击和防御能力。等级和经验值可以反映非玩家角色的成长和经验,等级和经验值不同,非玩家角色的能力和行为也不同。
感知数据可以是非玩家角色通过感官获取的关于游戏世界的信息,例如其他角色的位置和距离、其他非玩家角色的位置和状态、环境信息以及任务信息等。其中,其他角色的位置和距离可以指示玩家角色的位置与非玩家角色的距离。其他非玩家角色的位置和状态可以指示其他非玩家角色的位置、类型和状态。环境信息可以包括障碍物、地形以及天气等,影响非玩家角色的移动和行为选择。任务信息可以指示当前非玩家角色的任务和目标,不同的任务和目标会使非玩家角色的行为也不同。
可以在行为树中,为非玩家角色的行为添加一个数据采集节点,用于获取非用户角色的基础数据。然后可以通过查询游戏内部数据结构以及检查环境和与其他角色的互动确定获取自身属性数据和感知数据的方式,并通过编写代码来访问非玩家角色的自身属性数据,并将这些自身属性数据存储在数据采集节点内部,供后续行为节点使用。最后使用游戏引擎提供的函数或API(Application Programming Interface,应用程序编程接口)来获得准确的感知数据,并将这些感知数据存储在数据采集节点内部,以便在后续的行为节点中使用。
S102,基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件。
控制节点可以是行为树中的一类节点,用于控制行为树的执行流程,可以根据特定条件判断,选择要执行的子节点,并在特定条件下触发行为。
行为触发条件可以是控制节点中用于决定是否触发特定行为的条件。这些条件可以基于非玩家角色的自身属性数据、感知数据或其他游戏状态决定的,可以用于决定何时执行子节点的行为。例如,当控制节点为选择节点时,若选择节点共有三个子节点,子节点1是与玩家进行战斗,子节点2是逃跑,子节点3是自爆。在这种情况下,子节点1的行为触发条件可以是基于非玩家角色的生命值决定的,例如,若非玩家角色的生命值大于整体生命值的50%,则触发子节点1;子节点2的行为触发条件也可以是基于非玩家角色的生命值决定的,例如,若非玩家角色的生命值小于整体生命值的50%,则触发子节点2,大于整体生命值的20%,则触发子节点2;子节点3的行为触发条件也可以是基于非玩家角色的生命值决定的,例如,若非玩家角色的生命值小于整体生命值的20%,则视为逃跑失败,启动自爆程序。
可以根据行为触发条件选择适合的控制节点类型,例如选择节点或条件节点,并在控制节点中,定义用于触发行为的条件,具体的,这些条件可以是基于非玩家角色的自身属性数据或感知数据决定的。然后在控制节点中,可以调用相应的函数或API来获取非玩家角色的基础数据,并使用获取的基础数据与预定义的行为触发条件进行比较和判断,具体的,可以使用数值比较以及范围判断等方式进行比较和判断。
S103,若满足,则确定所述行为触发条件对应的行为节点。
行为节点可以是行为树中的一种节点类型,用于定义和执行特定的游戏动作或任务。它们代表了非玩家角色在特定情境下应该采取的行为。每个行为节点都包含行为类型、行为逻辑、执行结果以及优先级等要素。其中,行为类型可以是行为节点定义的具体的游戏行为,例如可以包括攻击、逃跑、巡逻以及防守等;行为逻辑可以是行为节点中包含实现具体游戏行为的逻辑,具体的,可以是编程代码以及函数调用等,用于执行非玩家角色在游戏中的动作。执行结果可以是执行行为节点后返回的结果,可以包括成功、失败以及运行中,这个结果会影响行为树的其他节点的执行。行为节点的位置和连接方式决定了它们的优先级,更靠近根节点的节点通常具有更高的优先级。
S104,基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
图3是本申请实施例一提供的基于行为树的非用户角色控制方法的逻辑框架图,如图3所示,非玩家角色的决策层会在满足一定条件时产生决策信息,例如,有一个非玩家角色,在野外地图处于站立状态,突然玩家进入非玩家角色的视野。于是非玩家角色预设的AI行为树会产生决策请求,例如可以移动至玩家身边3米处。然后请求层会判断移动的请求是否合法,例如非玩家角色有没有被控制,若没有则为合法请求,然后请求层会向其他层级下发移动请求。当动画表现层收到该请求后开始循环播放非玩家角色的移动动作。在数据结构层非玩家角色的坐标信息被不断更新,具体的,坐标信息值计算的依据取决于预设的奔跑速度。最后决策层预设的事件一直在监视距离目标的距离,当距离满足时,决策层会产生新的决策信息。
预先配置的执行逻辑可以是根据游戏设计和非玩家角色行为需求事先编写的代码,描述了在何时和如何执行特定的行为动作。例如,对于攻击行为节点,预先配置的执行逻辑可以包括判断距离、接近目标、计算伤害以及发起攻击等步骤,这些逻辑决定了行为节点在满足触发条件后应该如何执行行为动作。
行为动作可以是非玩家角色根据触发条件执行的特定活动或任务。每个行为节点都对应一个行为动作,例如移动到指定位置、攻击目标、逃跑以及自爆等。行为动作是行为节点的核心内容,它定义了非玩家角色在执行特定行为时应该做什么。
图4是本申请实施例一提供的基于行为树的非用户角色控制方法的单位结构的层级示意图,如图4所示行为节点首先可以获取非玩家角色的基础数据,然后根据预先配置的执行逻辑,行为节点将指导非玩家角色执行特定的行为动作,当执行行为动作后,可以更新非玩家角色的自身属性数据以及感知数据,以反映行为的影响,例如,在逃跑后非玩家角色的位置数据会有所变化。例如,若战斗场景中共包括场景AI(Artificial Intelligence,人工智能)、小队AI以及怪物AI,场景AI。其中,场景AI可以是个关卡的总的AI,控制该关卡中各个单位的行为,或者各种事件的发生。小队AI可以是一些特定物体集群的队长AI,具体的,可以是一组怪物。怪物AI可以是一个特定单位的AI。如果玩家打开了一扇门,场景AI检测到门被打开,可以触发事件,先播放一段CG(Computer Animation,计算机动画),然后刷出来一组怪物,例如可以有五个怪物。然后怪物组AI检测到当前怪物组怪物都很健康,给所有怪物发指令,挑选距离玩家最近的一个怪物进入攻击状态,其余四个怪物进入边缘OB(Observer,观察者)状态,对于这五个怪物来说,他们都有自己的预设单位AI,于是怪物A开始按照预设的AI中,攻击状态对应的行为组去行为,就是开始追着玩家打。若玩家把这个怪物击倒了,怪物组AI检测到这个怪物被击倒,会给其余四个怪物发指令,使他们进入逃跑状态。于是其他四个怪物开始按照预设的AI中逃跑状态对应的行为组去进行逃跑,玩家会看到他们四散而逃。
在本申请实施例中,基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;若满足,则确定所述行为触发条件对应的行为节点;基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。通过上述基于行为树的非用户角色控制方法,使用由多个节点组成的行为树控制非玩家角色执行行为动作,可以使非玩家角色的行为逻辑更清晰,并且各节点独立分工可以更容易诊断问题,从而使行为树更加易于维护。
在上述技术方案的基础上,可选的,在基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作之前,所述方法还包括:
根据所述行为节点以及预先配置的配置数据映射表确定所述行为节点的初始化配置数据;
相应的,基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作,包括:
基于所述行为树的行为节点根据所述初始化配置数据以及预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
本方案中,预先配置的配置数据映射表可以是一个表格或数据结构,其中包含了每个行为节点的相关配置信息。这些配置信息可以包括行为节点的标识符、参数设置以及优先级等。通过这个映射表,游戏引擎可以根据行为节点的标识符来查找并获取相应的配置数据。
初始化配置数据可以是行为节点在开始执行之前所需的初始设置。这些数据包括了行为节点的参数、状态以及优先级等,用于决定行为节点的执行方式。初始化配置数据的目的是确保行为节点在执行过程中具有正确的设置和行为逻辑。例如,存在一个预先配置的配置数据映射表的行为节点的标识符包括攻击、逃跑以及自爆。攻击对应的参数可以包括攻击目标以及每次攻击造成的伤害值。逃跑对应的参数可以包括生命值以及逃跑距离。自爆可以包括生命值。优先级可以是攻击优先级为高级,逃跑优先级为中级,自爆优先级为低级。
可以预先创建一个预先配置的配置数据映射表,其中包含了每个行为节点的相关配置信息。然后在行为树中,设置各种行为节点,使每个节点都具有一个唯一的标识符。当行为树执行时,根据行为节点的标识符,从预先配置的配置数据映射表中获取相应的配置数据,并将获取的配置数据应用于相应的行为节点,进行初始化设置。
行为树可以从根节点开始逐级执行。在执行的过程中,对于每个行为节点,可以首先判断初始化配置数据是否正确,若正确,则可以根据预先配置的执行逻辑,执行与该行为节点对应的行为动作。在一个行为节点执行完毕后,根据行为树的逻辑,行为节点可以继续往下执行其他节点,或者根据条件跳转到其他分支。例如,如果存在攻击、逃跑以及自爆,攻击优先级为高级,逃跑优先级为中级,自爆优先级为低级。则如果在存在攻击目标的情况下按照每次攻击造成的伤害值去攻击此目标;如果生命值低于执行逃跑动作对应的生命阈值,可以执行逃跑动作;如果生命值低于执行自爆动作对应的生命阈值,则执行自爆动作。
本方案中,通过设置初始化配置数据以及执行逻辑,可以在初始化配置数据正常的情况下按照执行逻辑进行执行,降低了游戏中出现程序错误的概率,并且也可以灵活调整非玩家角色的行为,从而提高游戏的趣味性以及玩家体验感。
在上述技术方案的基础上,可选的,在基于所述行为树的行为节点根据所述初始化配置数据以及预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作之后,所述方法还包括:
响应于用户配置的游戏变更方案,根据所述游戏变更方案确定配置数据变更值;
根据所述初始化配置数据以及所述配置数据变更值更新所述行为节点的配置数据。
本方案中,游戏变更方案可以是指开发人员提出的关于游戏内容、规则以及行为等方面的修改计划,具体的,这些变更可以是新增内容、调整参数以及修改行为逻辑等。
配置数据变更值可以是在响应游戏变更方案后,确定需要修改的配置数据的具体数值或参数,具体的,这些变更值可以包括新增数据以及更新参数等。
当开发人员配置游戏变更方案后,可以根据游戏变更方案,确定需要修改的配置数据的具体变更值,具体的,可以包括修改某个行为节点的参数、优先级以及触发条件等。然后根据变更方案中指定的行为节点,并从行为树中获取相应的行为节点。最后根据配置数据变更值,更新行为节点的配置数据,将更新后的配置数据应用到行为节点上,确保节点在执行时具有新的配置设置。
本方案中,通过根据游戏变更方案确定配置数据变更值,可以使游戏更灵活的根据实际需求进行调整,以不断适应玩家需求,提高玩家体验感。
实施例二
图5是本申请实施例二提供的基于行为树的非用户角色控制方法的流程示意图。如图5所示,具体包括如下步骤:
S501,基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据。
S502,基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件。
S503,若满足,则确定所述行为触发条件对应的行为节点。
S504,基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
S505,基于所述行为树的结果反馈节点获取所述非用户角色执行所述行为动作的执行结果;其中,所述执行结果包括执行成功和执行失败。
结果反馈节点可以是条件节点,用于根据行为节点的执行结果来决定是否继续执行行为树的下一步。
执行结果可以是行为节点在运行时产生的结果,用于反馈行为动作的执行情况。执行结果可以包括执行成功以及执行失败,其中,执行成功表示行为节点的行为动作成功完成,达到了预期的目标。例如,非玩家角色成功逃脱。执行失败表示行为节点的行为动作未能成功完成,例如,非玩家角色执行攻击目标的动作,但执行失败了。
在行为树中,可以为需要获取执行结果的行为节点添加相应的结果反馈节点。当行为树执行到行为节点时,可以触发行为动作的执行。例如,如果是逃跑行为节点,非玩家角色将执行逃跑的动作。在结果反馈节点中,根据行为动作的执行情况获取执行结果,并根据获取的执行结果,判断行为动作是成功还是失败,具体的,可以是基于预先定义的条件进行判断,例如若非玩家角色向目标投掷一块石头,可以通过判断石头与目标的位置是否重叠判断是否攻击命中。
本实施例中,通过获取执行结果,可以在成功以及失败的情况采取不同策略,从而提高非玩家角色的行为逻辑的灵活性。
在上述技术方案的基础上,可选的,在基于所述行为树的结果反馈节点获取所述非用户角色执行所述行为动作的执行结果之后,所述方法还包括:
基于所述控制节点识别所述执行结果是否满足所述行为继续执行条件;
若满足,则基于所述行为树的行为节点根据预先配置的执行逻辑,继续控制所述非用户角色执行与所述触发条件对应的行为动作,直至所述执行结果不满足所述行为继续执行条件为止。
本方案中,行为继续执行条件可以是一种逻辑条件,用于控制行为树中的控制节点判断是否继续执行行为树的本行为节点。例如,若行为节点为逃跑行为节点,执行结果为非玩家角色移动成功,则可以设置在移动成功的基础上非玩家角色未到达目标地点,视为满足行为继续执行条件。
控制节点可以接收结果反馈节点传输的执行结果,然后控制节点可以将执行结果与预先定义的行为继续执行条件进行比较,具体的,可以使用逻辑运算符来判断执行结果是否满足条件。
根据条件的判断结果,控制节点可以决定是否继续执行本行为节点。如果条件满足,可以继续执行本行为节点,直到执行结果不再满足行为继续执行条件。例如,若行为节点为逃跑行为节点,则可以设置在移动成功的基础上非玩家角色到达目标地点或移动失败,视为不再满足行为继续执行条件。
本实施例中,通过设置行为继续执行条件,可以使非玩家角色根据情况实时调整策略,提高逻辑执行的灵活性。并且可以使非玩家角色有更复杂的行为模式,可以使得非玩家角色与玩家的更具挑战性,进而提高玩家的体验感。
实施例三
图6是本申请实施例三提供的基于行为树的非用户角色控制方法的流程示意图。如图6所示,具体包括如下步骤:
所述控制节点包括顺序节点;
S601,基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据。
S602,基于所述顺序节点的识别顺序对所述基础数据进行顺序识别。
顺序节点可以是行为树中的一种控制节点,用于按照顺序执行其中包含的子节点。基于顺序节点的识别顺序对基础数据进行顺序识别可以是在顺序节点中的子节点按照特定顺序依次识别和处理基础数据。
在行为树中,可以将顺序节点添加作为一个控制节点。在顺序节点下,定义一系列子节点,每个子节点代表一步操作,这些子节点将按照它们在顺序节点中的顺序依次执行。然后在每个子节点中,可以获取数据采集节点采集的基础数据,每个子节点可以依次识别和处理基础数据,执行相关的逻辑操作,具体的,子节点可以根据基础数据的识别结果产生处理结果,例如成功或失败。当前子节点完成执行后,顺序节点将选择下一个子节点继续执行,确保每个子节点按照顺序逐步完成操作。当所有子节点都成功执行完毕,顺序节点的顺序执行也将完成。
S603,若在顺序识别的过程中,依次返回的识别结果与第一预设结果相符合,则确定为满足行为触发条件。
识别结果可以是在顺序识别的每个步骤中产生的值,例如,可以包括非玩家角色的生命值、与目标的距离以及位置等。
第一预设结果可以是在顺序节点的各个子节点中预先定义的一个参考值,用于确定是否满足行为触发条件。第一预设结果可以是一个期望的状态或数值,用作后续条件判断的标准。例如,如果存在一个顺序节点,存在三个子节点,用于判断非玩家角色是否需要逃跑,则子节点1可以是检测敌人距离,若距离小于最小安全距离的阈值,则执行子节点2,子节点2可以是检测非玩家角色的生命值,若生命值小于最小逃跑生命阈值,则执行子节点3,子节点3可以是获取敌人数量,若敌人数量超过非玩家角色可承受敌人数量的阈值,则确定满足逃跑条件,开始触发非玩家角色的逃跑功能。
在上述技术方案的基础上,可选的,所述控制节点包括选择节点;
相应的,基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件,包括:
基于所述选择节点的识别条件对所述基础数据进行逐个识别;
若在逐个识别的过程中,存在任意一个返回的识别结果与第二预设结果相符合,则确定为满足行为触发条件。
本方案中,选择节点可以是行为树中的一种控制节点,用于根据一组条件进行判断,然后选择一个满足条件的分支来执行。选择节点允许非玩家角色根据不同情况选择不同的行为路径。
第二预设结果可以是在选择节点的各个子节点中预先定义的一个参考值。当在逐个识别的过程中,存在任意一个返回的识别结果与第二预设结果相符合,就会被确定为满足行为触发条件。
在行为树中,可以添加一个选择节点作为控制节点。选择节点下将包含多个子节点,每个子节点代表一个可能的分支。然后在每个子节点中,定义一个或多个条件表达式。这些表达式会根据基础数据判断是否与第二预设结果相符合。然后在每个子节点中,获取数据采集节点采集的基础数据,并根据条件表达式对基础数据进行逐个识别。如果某个条件表达式为真,则选择对应的分支,具体的,如果第一个子节点返回的识别结果与第二预设结果相符合,则确定满足行为触发条件,执行第一个分支;如果不满足,则检查第二个子节点,以此类推。当确定选择的子节点后,选择节点将触发选择的子节点分支,执行相应的行为动作。例如,若存在一个选择节点包含三个子节点,子节点1对应了抓住目标,若目标与非玩家角色的距离小于执行抓住玩家动作的距离阈值时,则执行子节点1,若没有抓住目标,则可以判断子节点2是否与第二预设结果相符,子节点2对应了跑向目标,若目标在非玩家角色的视野范围内,则执行子节点2,若目标丢失,则可以判断子节点3是否与第二预设结果相符,子节点3对应了自爆,在非玩家角色没有抓住目标且目标丢失的情况下可以执行子节点3。
本方案中,通过设置选择节点,可以使非玩家角色在更复杂的情况下做出决定,提高了游戏的挑战性,从而可以增加玩家的体验感。
S604,若满足,则确定所述行为触发条件对应的行为节点。
S605,基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
本实施例中,通过设置顺序节点,可以使非玩家角色根据多个因素做出决策,提高了游戏的智能性。并且非玩家角色综合考虑多个情况,可以使做出的决策更具有战略性,从而增加了游戏的挑战性,提高玩家体验。
实施例四
图7是本申请实施例四提供的基于行为树的非用户角色控制装置的结构示意图。如图7所示,具体包括如下:
基础数据获取模块701,用于基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;
行为触发条件判断模块702,用于基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;
行为节点确定模块703,用于若满足,则确定所述行为触发条件对应的行为节点;
行为动作执行模块704,用于基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
进一步的,所述装置还包括执行结果获取模块,所述执行结果获取模块用于:
基于所述行为树的结果反馈节点获取所述非用户角色执行所述行为动作的执行结果;其中,所述执行结果包括执行成功和执行失败。
进一步的,所述装置还包括行为继续执行条件判断模块,所述行为继续执行条件判断模块用于:
基于所述控制节点识别所述执行结果是否满足所述行为继续执行条件;
若满足,则基于所述行为树的行为节点根据预先配置的执行逻辑,继续控制所述非用户角色执行与所述触发条件对应的行为动作,直至所述执行结果不满足所述行为继续执行条件为止。
进一步的,所述控制节点包括顺序节点;
相应的,所述行为触发条件判断模块用于:
基于所述顺序节点的识别顺序对所述基础数据进行顺序识别;
若在顺序识别的过程中,依次返回的识别结果与第一预设结果相符合,则确定为满足行为触发条件。
进一步的,所述控制节点包括选择节点;
相应的,所述行为触发条件判断模块用于:
基于所述选择节点的识别条件对所述基础数据进行逐个识别;
若在逐个识别的过程中,存在任意一个返回的识别结果与第二预设结果相符合,则确定为满足行为触发条件。
进一步的,所述装置还包括初始化配置数据确定模块,所述初始化配置数据确定模块用于:
根据所述行为节点以及预先配置的配置数据映射表确定所述行为节点的初始化配置数据;
相应的,所述行为动作执行模块用于:
基于所述行为树的行为节点根据所述初始化配置数据以及预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
进一步的,所述装置还包括配置数据更新模块,所述配置数据更新模块用于:
响应于用户配置的游戏变更方案,根据所述游戏变更方案确定配置数据变更值;
根据所述初始化配置数据以及所述配置数据变更值更新所述行为节点的配置数据。
在本申请实施例中,基础数据获取模块,用于基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;行为触发条件判断模块,用于基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;行为节点确定模块,用于若满足,则确定所述行为触发条件对应的行为节点;行为动作执行模块,用于基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。通过上述基于行为树的非用户角色控制装置,使用由多个节点组成的行为树控制非玩家角色执行行为动作,可以使非玩家角色的行为逻辑更清晰,并且各节点独立分工可以更容易诊断问题,从而使行为树更加易于维护。
本申请实施例中的基于行为树的非用户角色控制装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的基于行为树的非用户角色控制装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的基于行为树的非用户角色控制装置能够实现上述各方法实施例实现的各个过程,为避免重复,这里不再赘述。
实施例五
如图8所示,本申请实施例还提供一种电子设备800,包括处理器801,存储器802,存储在存储器802上并可在所述处理器801上运行的程序或指令,该程序或指令被处理器801执行时实现上述基于行为树的非用户角色控制装置实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
实施例六
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述基于行为树的非用户角色控制装置实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
实施例七
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述基于行为树的非用户角色控制装置实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (10)
1.一种基于行为树的非用户角色控制方法,其特征在于,所述方法包括:
基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;
基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;
若满足,则确定所述行为触发条件对应的行为节点;
基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
2.根据权利要求1所述的基于行为树的非用户角色控制方法,其特征在于,在控制所述非用户角色执行与所述触发条件对应的行为动作之后,所述方法还包括:
基于所述行为树的结果反馈节点获取所述非用户角色执行所述行为动作的执行结果;其中,所述执行结果包括执行成功和执行失败。
3.根据权利要求2所述的基于行为树的非用户角色控制方法,其特征在于,在基于所述行为树的结果反馈节点获取所述非用户角色执行所述行为动作的执行结果之后,所述方法还包括:
基于所述控制节点识别所述执行结果是否满足所述行为继续执行条件;
若满足,则基于所述行为树的行为节点根据预先配置的执行逻辑,继续控制所述非用户角色执行与所述触发条件对应的行为动作,直至所述执行结果不满足所述行为继续执行条件为止。
4.根据权利要求1所述的基于行为树的非用户角色控制方法,其特征在于,所述控制节点包括顺序节点;
相应的,基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件,包括:
基于所述顺序节点的识别顺序对所述基础数据进行顺序识别;
若在顺序识别的过程中,依次返回的识别结果与第一预设结果相符合,则确定为满足行为触发条件。
5.根据权利要求4所述的基于行为树的非用户角色控制方法,其特征在于,所述控制节点包括选择节点;
相应的,基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件,包括:
基于所述选择节点的识别条件对所述基础数据进行逐个识别;
若在逐个识别的过程中,存在任意一个返回的识别结果与第二预设结果相符合,则确定为满足行为触发条件。
6.根据权利要求1所述的基于行为树的非用户角色控制方法,其特征在于,在基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作之前,所述方法还包括:
根据所述行为节点以及预先配置的配置数据映射表确定所述行为节点的初始化配置数据;
相应的,基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作,包括:
基于所述行为树的行为节点根据所述初始化配置数据以及预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
7.根据权利要求6所述的基于行为树的非用户角色控制方法,其特征在于,在基于所述行为树的行为节点根据所述初始化配置数据以及预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作之后,所述方法还包括:
响应于用户配置的游戏变更方案,根据所述游戏变更方案确定配置数据变更值;
根据所述初始化配置数据以及所述配置数据变更值更新所述行为节点的配置数据。
8.一种基于行为树的非用户角色控制装置,其特征在于,所述装置包括:
基础数据获取模块,用于基于行为树的数据采集节点获取非用户角色的基础数据;其中,所述基础数据包括自身属性数据和感知数据;
行为触发条件判断模块,用于基于所述行为树的控制节点识别所述基础数据是否满足行为触发条件;
行为节点确定模块,用于若满足,则确定所述行为触发条件对应的行为节点;
行为动作执行模块,用于基于所述行为树的行为节点根据预先配置的执行逻辑,控制所述非用户角色执行与所述触发条件对应的行为动作。
9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7中任一项所述的基于行为树的非用户角色控制方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7中任一项所述的基于行为树的非用户角色控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311111561.4A CN117180750A (zh) | 2023-08-29 | 2023-08-29 | 基于行为树的非用户角色控制方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311111561.4A CN117180750A (zh) | 2023-08-29 | 2023-08-29 | 基于行为树的非用户角色控制方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117180750A true CN117180750A (zh) | 2023-12-08 |
Family
ID=88993440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311111561.4A Pending CN117180750A (zh) | 2023-08-29 | 2023-08-29 | 基于行为树的非用户角色控制方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117180750A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117784942A (zh) * | 2024-02-27 | 2024-03-29 | 南京维赛客网络科技有限公司 | 虚拟场景中ai角色的行为控制方法、系统及存储介质 |
-
2023
- 2023-08-29 CN CN202311111561.4A patent/CN117180750A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117784942A (zh) * | 2024-02-27 | 2024-03-29 | 南京维赛客网络科技有限公司 | 虚拟场景中ai角色的行为控制方法、系统及存储介质 |
CN117784942B (zh) * | 2024-02-27 | 2024-04-23 | 南京维赛客网络科技有限公司 | 虚拟场景中ai角色的行为控制方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021244322A1 (zh) | 瞄准虚拟对象的方法、装置、设备及存储介质 | |
CN110443284B (zh) | 人工智能ai模型的训练方法、调用方法、服务器及可读存储介质 | |
CN108463273A (zh) | 基于游戏者的移动历史来进行非游戏者角色的路径寻找的游戏系统等 | |
AU2021240132A1 (en) | Virtual object control method and apparatus, device, and storage medium | |
US20240082729A1 (en) | Virtual object control method and apparatus, terminal, and storage medium | |
CN108228251B (zh) | 游戏应用中控制目标对象的方法和装置 | |
CN117180750A (zh) | 基于行为树的非用户角色控制方法、装置、设备及介质 | |
CN103577704A (zh) | 游戏系统中npc处理事件的方法及装置 | |
CN112717401B (zh) | 虚拟角色的控制方法、装置、终端及存储介质 | |
CN111589166A (zh) | 交互式任务控制、智能决策模型训练方法、设备和介质 | |
US20230356086A1 (en) | Method and apparatus for controlling virtual object, terminal, storage medium and computer program product | |
US20230330530A1 (en) | Prop control method and apparatus in virtual scene, device, and storage medium | |
CN110507989A (zh) | 一种云游戏的控制方法、装置、电子设备及可读存储介质 | |
CN109925712B (zh) | 一种虚拟对象控制系统 | |
CN113262488A (zh) | 虚拟场景中虚拟对象的控制方法、装置、设备及存储介质 | |
WO2021101734A1 (en) | Server-based mechanics help determination from aggregated user data | |
US20240165515A1 (en) | Game interaction method and apparatus, electronic device, and storage medium | |
US20220203238A1 (en) | Methods and Systems for Generating and Managing Active Objects in Video Games | |
US20120115605A1 (en) | Systems and methods for inverse franchising of virtual characters | |
CN113440860B (zh) | 虚拟对象匹配方法和装置、存储介质及电子设备 | |
CN113926196A (zh) | 虚拟游戏角色的控制方法、装置、存储介质和电子装置 | |
US11786818B2 (en) | Autoplayers for filling and testing online games | |
CN116531758A (zh) | 虚拟角色的控制方法、装置、存储介质以及电子装置 | |
Churchill et al. | Robust continuous build-order optimization in starcraft | |
CN103366077B (zh) | 一种模拟器类游戏的角色清除方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |