CN114288662A - Npc的行为控制方法、装置及电子设备 - Google Patents
Npc的行为控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114288662A CN114288662A CN202210002983.7A CN202210002983A CN114288662A CN 114288662 A CN114288662 A CN 114288662A CN 202210002983 A CN202210002983 A CN 202210002983A CN 114288662 A CN114288662 A CN 114288662A
- Authority
- CN
- China
- Prior art keywords
- blackboard
- target
- query
- eqs
- scene
- 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
Images
Abstract
本申请实施例提供了一种NPC的行为控制方法、装置及电子设备,涉及计算机技术领域。该方法包括:通过AI行为树根据NPC当前所处的虚拟环境,确定与虚拟环境相关场景查询系统EQS查询节点以及EQS查询节点对应的EQS所需的目标黑板键;调用EQS查询节点运行EQS,将目标黑板键传入EQS中,获得EQS输出的虚拟环境中目标点;将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行行为;其中,目标点是根据场景查询系统的参考点确定的,参考点根据AI行为树的黑板数据中,目标黑板键当前对应的黑板值确定。本申请实施例能够更灵活地控制NPC行动,提高玩家与NPC互动的满意度。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种NPC的行为控制方法、装置及电子设备。
背景技术
在设置有虚拟环境的应用程序中,通过NPC(Non-player Character,非玩家角色)同用户进行竞技屡见不鲜。相关技术中,NPC需要根据虚拟环境中的环境信息,实时调整自己的行为,从而给玩家带来更好的游戏体验。
虚幻引擎4(Unreal Engine4)是一种常用的游戏引擎,相关技术常采用UE4中的场景查询系统(Environment Query System,EQS)输出目标点,并由AI行为树根据目标点确定NPC的行为。
现有技术中EQS输出目标点时所依据的参考点是固定的,无法适应复杂多变的虚拟环境,导致现有技术中NPC的行为迟钝、刻板,影响用户的体验。
发明内容
本申请实施例提供了一种NPC的行为控制方法、装置及电子设备,可以解决上述技术问题。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种NPC的行为控制方法,该方法包括:
通过AI行为树根据NPC当前所处的虚拟环境,确定与虚拟环境相关场景查询系统EQS查询节点以及EQS查询节点对应的EQS所需的目标黑板键;
调用EQS查询节点运行EQS,将目标黑板键传入EQS中,获得EQS输出的虚拟环境中目标点;
将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行行为;
其中,目标点是根据场景查询系统的参考点确定的,参考点根据AI行为树的黑板数据中,目标黑板键当前对应的黑板值确定。
在一个可能的实现方式中,EQS中包括待配置查询配置项的目标场景查询情境;
将目标黑板键传入EQS中,包括:
将目标黑板键传入目标场景查询情境的查询配置项,以使得目标场景查询情境根据黑板数据中目标黑板键当前对应的黑板值,获得参考点。
在一个可能的实现方式中,调用EQS查询节点运行EQS,之前还包括:
创建待配置查询配置项的至少一类目标场景查询情境;
在EQS中配置目标场景查询情境;
在AI行为树中配置用于读取EQS的EQS查询节点;
其中,目标场景查询情境的种类包括输出角色变量的参考点的第一类场景查询情境以及输出位置变量的参考点的第二类场景查询情境。
在一个可能的实现方式中,在EQS中配置目标场景查询情境,包括:
对EQS中的测试规则配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第一目标场景查询情境。
在一个可能的实现方式中,EQS所需的目标黑板键包括第一目标场景查询情境所需的第一黑板键;
获得EQS输出的虚拟环境中目标点,包括:
通过EQS中的采样点生成器生成多个采样点;
通过第一目标场景查询情境在黑板数据中获取与第一黑板键对应的第一黑板值,根据第一黑板值获得第一参考点传入测试规则;
通过测试规则,将多个采样点分别与第一参考点进行比较,根据比较结果从多个采样点中确定目标点。
在一个可能的实现方式中,在EQS中配置目标场景查询情境,还包括:
对采样点生成器配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第二目标场景查询情境。
在一个可能的实现方式中,EQS所需的目标黑板键包括第二目标场景查询情境所需的第二黑板键;
通过EQS中预先配置的采样点生成器生成多个采样点,包括:
通过第二目标场景查询情境在黑板数据中获取与第二黑板键对应的第二黑板值,根据第二黑板值获得第二参考点传入采样点生成器;
通过采样点生成器以第二参考点为中心生成多个采样点。
在一个可能的实现方式中,使得目标场景查询情境根据黑板数据中目标黑板键当前对应的黑板值获得参考点,包括:
若确定黑板值符合预设条件,则将黑板值作为参考点;
若确定黑板值不符合预设条件,则将预设值作为参考点。
根据本申请实施例的另一个方面,提供了一种NPC的行为控制装置,该装置包括:
节点动态确定模块,用于通过AI行为树根据NPC当前所处的虚拟环境,确定与虚拟环境相关场景查询系统EQS查询节点以及EQS查询节点对应的EQS所需的目标黑板键;
目标点输出模块,用于调用EQS查询节点运行EQS,将目标黑板键传入EQS中,获得EQS输出的虚拟环境中目标点;
行为执行模块,用于将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行行为;
其中,目标点是根据场景查询系统的参考点确定的,参考点根据AI行为树的黑板数据中,目标黑板键当前对应的黑板值确定。
在一个可能的实现方式中,EQS中包括待配置查询配置项的目标场景查询情境;
目标点输出模块,包括:
参考点输出单元,用于将目标黑板键传入目标场景查询情境的查询配置项,以使得目标场景查询情境根据黑板数据中目标黑板键当前对应的黑板值,获得参考点。
在一个可能的实现方式中,行为控制装置还包括:
情境创建模块,用于创建待配置查询配置项的至少一类目标场景查询情境;
EQS配置模块,用于在EQS中配置目标场景查询情境;
节点配置模块,用于在AI行为树中配置用于读取EQS的EQS查询节点;
其中,目标场景查询情境的种类包括输出角色变量的参考点的第一类场景查询情境以及输出位置变量的参考点的第二类场景查询情境。
在一个可能的实现方式中,EQS配置模块包括:
第一情境配置模块,用于对EQS中的测试规则配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第一目标场景查询情境。
在一个可能的实现方式中,EQS所需的目标黑板键包括第一目标场景查询情境所需的第一黑板键;
目标点输出模块包括:
采样点生成单元,用于通过EQS中的采样点生成器生成多个采样点;
第一黑板值传递单元,用于通过第一目标场景查询情境在黑板数据中获取与第一黑板键对应的第一黑板值,根据第一黑板值获得第一参考点传入测试规则;
规则比较单元,用于通过测试规则,将多个采样点分别与第一参考点进行比较,根据比较结果从多个采样点中确定目标点。
在一个可能的实现方式中,EQS配置模块包括:
第二情境配置模块,用于对采样点生成器配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第二目标场景查询情境。
在一个可能的实现方式中,EQS所需的目标黑板键包括第二目标场景查询情境所需的第二黑板键;
采样点生成单元,包括:
第二黑板值传递单元,用于通过第二目标场景查询情境,在黑板数据中获取与第二黑板键对应的第二黑板值,根据第二黑板值获得第二参考点传入采样点生成器;
中心生成单元,用于通过采样点生成器以第二参考点为中心生成多个采样点。
在一个可能的实现方式中,参考点输出单元具体用于:
若确定黑板值符合预设条件,则将黑板值作为参考点;
若确定黑板值不符合预设条件,则将预设值作为参考点。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上的计算机程序,其特征在于,处理器执行计算机程序以实现第一方面方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现第一方面方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
通过AI行为树根据NPC当前所处的虚拟环境,确定与虚拟环境相关场景查询系统EQS查询节点以及EQS查询节点对应的EQS所需的目标黑板键,由于NPC所处的虚拟环境是实时变化的,因此不同时间确定的EQS查询节点和目标黑板键也存在差异,进一步调用EQS查询节点运行对应的EQS,将目标黑板键传入EQS中,使得EQS能够以黑板键对应的黑板值为参考点,输出目标点,将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行该行为,由于该行为是与NPC所处的虚拟环境相关的,因此本申请能够更灵活地控制NPC行动,提高玩家与NPC互动的满意度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的EQS的采样点信息的示意图;
图2为本申请实施例提供的实现电子设备的结构框图;
图3为本申请实施例提供的一种计算机系统的结构框图;
图4为本申请实施例提供的一种NPC的行为控制方法的流程示意图;
图5为本申请实施例提供的一种行为树的示意图;
图6为本申请实施例提供的另一种NPC的行为控制方法的流程示意图;
图7为本申请实施例提供的再一种行为控制方法的流程示意图;
图8为本申请实施例配置采样点生成器的目标场景查询情境的界面示意图;
图9为本申请实施例提供的一种AI行为树的节点配置界面示意图;
图10为本申请实施例提供的一种查询配置项配置界面的示意图;
图11为本申请实施例提供的再一种行为控制方法的流程示意图;
图12为本申请实施例提供的一种NPC的行为控制装置的结构示意图;
图13为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
1)场景查询系统(Environment Query System,EQS),用来帮助AI行为树进行场景位置信息的筛选,筛选过程对采样点按照给定的条件进行打分(分高最佳)或是剔除,最后提供一个最贴合查询的结果,供给AI行为树来使用。常见的用途是寻找躲避点,或是寻找最优攻击位置等。
2)采样点生成器(Generators),用于采样生成规则,以某一种规则在中心点四周选取采样点,选取的采样点用于测试,中心点可以是NPC所在的位置,也可以是其他位置。
3)测试规则(Test)将采样点,用于规则检测。根据采样点与参照内容(一般参照内容有询问者,或是采样点自己,也可以编写参照内容)之间使用的规则,为采样点进行打分或是踢除。
4)场景查询情境(context),场景查询情境在测试项中扮演着非常重要的角色。在测试节点中,针对不同的测试方式需要选取不同的参考点进行测试参与。以距离测试为例,需将采样点和场景查询情境进行距离计算(默认提供了询问者和采样点Item)。简单说,就是用每个采样点,分别和场景查询情境进行测试比较,然后将结果以分数形式标记于采样点。相关技术中场景查询情境可以提供单个actor或者位置作为参考点,也可以提供一组actor或者位置作为参考点,但相关的规则是在代码中写死无法在运行时根据情况改变的。
请参见图1,其示例性地示出了EQS的采样点信息的示意图,如图所示,虚拟环境中包括由采样点生成器生成的多个采样点,图中以白色圆形进行表示,场景查询情境向测试规则提供了参考点,图中以黑色圆形进行表示,测试规则将参考点与各采样点进行比较,获得每个采样点的得分,得分显示在每个采样点的下方,可以看出该测试规则中距离参考点越近的采样点的得分越高。
5)AI行为树采用节点描述行为逻辑,主要有:选择节点、顺序节点、并行节点、修饰节点、随机节点、条件节点、行为节点。一棵行为树表示一个AI逻辑。
6)虚拟环境:是应用程序在设备上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种。下述实施例以虚拟环境是三维虚拟环境来举例说明,但对此不加以限定。可选地,该虚拟环境还用于进行至少两个虚拟角色之间的虚拟环境对战。
比如,该虚拟环境用于至少两个虚拟角色之间使用虚拟枪械进行对战;又比如,该虚拟环境用于至少两个虚拟角色在指定地理区域内使用虚拟枪械进行对战,且该指定地理区域随着虚拟时间的增加而不断缩小。可选地,该虚拟枪械上还装配有瞄具。该瞄具包括:机载瞄具、2倍瞄准镜、4倍瞄准镜、6倍瞄准镜、8倍瞄准镜、15倍瞄准镜、全息瞄准镜、红点瞄准镜中的至少一种。
7)虚拟对象:是指在虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在三维虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。可选地,该虚拟对象持有虚拟枪械,该虚拟枪械上还装配有瞄准镜。
图2示出了本申请一个示例性实施例提供的电子设备的结构框图。该电子设备100包括:操作系统110和应用程序120。
操作系统110是为应用程序120提供对计算机硬件的安全访问的基础软件。
应用程序120是支持虚拟环境的应用程序。可选地,应用程序120是支持三维虚拟环境的应用程序。该应用程序120可以是虚拟现实应用程序、三维地图程序、第三人称射击游戏(Third-Personal Shooting Game,TPS)、第一人称射击游戏(First-person shootinggame,FPS)、MOBA游戏、多人枪战类生存游戏中的任意一种。该应用程序120可以是单机版的应用程序,比如单机版的3D游戏程序。
图3示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统200包括:第一设备220、服务器240和第二设备260。
第一设备220安装和运行有支持虚拟环境的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、TPS游戏、FPS游戏、MOBA游戏、多人枪战类生存游戏中的任意一种。第一设备220是第一用户使用的设备,第一用户使用第一设备220控制位于虚拟环境中的第一虚拟对象进行活动,该活动包括但不限于:调整身体姿势、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物角色或动漫人物角色。
第一设备220通过无线网络或有线网络与服务器240相连。
服务器240包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器240用于为支持三维虚拟环境的应用程序提供后台服务。可选地,服务器240承担主要计算工作,第一设备220和第二设备260承担次要计算工作;或者,服务器240承担次要计算工作,第一设备220和第二设备260承担主要计算工作;或者,服务器240、第一设备220和第二设备260三者之间采用分布式计算架构进行协同计算。
第二设备260安装和运行有支持虚拟环境的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、FPS游戏、MOBA游戏、多人枪战类生存游戏中的任意一种。第二设备260是第二用户使用的设备,第二用户使用第二设备260控制位于虚拟环境中的第二虚拟对象进行活动,该活动包括但不限于:调整身体姿势、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物角色或动漫人物角色。
可选地,第一虚拟人物和第二虚拟人物处于同一虚拟环境中。可选地,第一虚拟人物和第二虚拟人物可以属于同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限。可选地,第一虚拟人物和第二虚拟人物也可以属于不同队伍、不同组织、或具有敌对性的两个团体。
可选地,第一设备220和第二设备260上安装的应用程序是相同的,或两个设备上安装的应用程序是不同控制系统平台的同一类型应用程序。第一设备220可以泛指多个设备中的一个,第二设备260可以泛指多个设备中的一个,本实施例仅以第一设备220和第二设备260来举例说明。第一设备220和第二设备260的设备类型相同或不同,该设备类型包括:游戏主机、台式计算机、智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器和膝上型便携计算机中的至少一种。以下实施例以设备是台式计算机来举例说明。
本领域技术人员可以知晓,上述设备的数量可以更多或更少。比如上述设备可以仅为一个,或者上述设备为几十个或几百个,或者更多数量。本申请实施例对设备的数量和设备类型不加以限定。
图4示出了本申请一个示例性实施例提供的NPC的行为控制方法的流程示意图。该方法可以应用于图2所示的电子设备,或图3所示的第一设备,或图4的第二设备中,该方法包括:
S101、通过AI行为树根据NPC当前所处的虚拟环境,确定与虚拟环境相关场景查询系统EQS查询节点以及EQS查询节点对应的EQS所需的目标黑板键。
AI行为树是一个包含逻辑节点和行为节点的树形结构,每次需要找出一个行为的时候,会从树的根节点出发,遍历各个节点,找出和当前数据相符合的行为。在本申请实施例,可以预先根据NPC可能处于的各个虚拟环境,确定对应的节点,以形成AI行为树,这样当NPC处于某一虚拟环境时,可以从AI行为树中找到对应的EQS查询节点。
如图5所示,其示例性示出了一个行为树40的示意图。该行为树40可以包括组合、条件、动作等不同类型的节点,通过条件判断以及动作之间的优先级,挑选出一个最合适的动作执行。AI行为树上的不同的节点,能够执行不同的任务。
EQS查询节点(Run EQS Query)属于行为树中的任务节点,任务节点定义的是AI行为树所执行的任务,例如移动到某个点或者是执行攻击等等,不参与决策行为;任务可以执行失败或成功,且只有返回了执行结果才会结束,执行下一步决策。
本申请实施例对于NPC所处的虚拟环境不作具体的限定,例如被敌人攻击的环境、需要援助队友的环境、需要攻击敌人的环境等等,不同的环境可以根据环境中的具体信息来确定,例如,当NPC的队友在附近且血量不足时,NPC处于需要援助队友的虚拟环境。
EQS查询节点用于运行预先配置好的EQS,本申请实施例可以通过AI行为树确定EQS查询节点对应的EQS所需的黑板键。黑板(BlackBoard)是行为树的数据库,游戏运行中的各项数据均可以距离在黑板中,行为树通过从黑板中获取数据,基于预设的规则确定NPC待执行的行为。
黑板中的数据,也即黑板数据是以键值对的形式记录的,不同的黑板键(BlackBoardkey)用于存放不同的数据,以射击类型的游戏为例,常见的黑板键包括Teammate、TargetEnemy等,Teammate黑板键对应的黑板值用于记录队友的位置,TargetEnemy对应的黑板值用于记录敌人的位置。
区别于现有技术中的EQS对应固定的黑板键,本申请实施例通过AI行为树确定与NPC当前所处环境对应的EQS查询节点以及目标黑板键,当NPC所处的环境不同时,AI行为树确定的EQS查询节点以及目标黑板键都会相应变化,例如,在需要躲避掩体的虚拟环境中,AI行为树确定对应的目标黑板键是敌人,那么EQS将以敌人为中心,过一段时间敌人被消灭时,虚拟环境中存在受伤的队友,AI行为树又可以确定对应的目标黑板键为队友,实现黑板键的动态调用。
S102、调用EQS查询节点运行EQS,将目标黑板键传入EQS中,获得EQS输出的虚拟环境中目标点。
应当理解的是,不同的EQS能够收集不同的环境数据进行测试分析,本申请实施例预先建立了各EQS查询节点和EQS间的对应关系,每个EQS查询节点都对应各自的EQS,需要说明的是,不同的EQS查询节点可以对应同一个EQS,也可以对应不同的EQS,具体的对应关系可由开发人员根据实际场景自由配置。那么当AI行为树确定与虚拟环境对应的EQS查询节点后,可以进一步确定对应的EQS。
本申请实施例的目标点是EQS以AI行为树的黑板数据中,目标黑板键当前对应的黑板值为参考点确定的。由于本申请中输入至EQS的黑板键随NPC所处的环境动态更新,因此本申请实施例EQS生成的参考点也是动态变化的,相应的目标点也随之动态变化。本申请实施例基于动态的参考点可以有效提高确定目标点的效率。
应当理解的是,本申请实施例中的参考点和目标点都位于虚拟环境中。本申请实施例的参考点与相关技术中的参考点的类型相同,包括角色actor和位置location。角色,即虚拟对象,具体可以是队友、敌人、虚拟场景中的物资等等。位置,也即虚拟环境中的位置,理论上支持虚拟环境中的任意位置作为参考点。
应当理解的是,EQS在输出目标点时可能需要多个参考点,本申请实施例仍然支持其中部分参考点仍然采用预先固定好的参考点。例如,某情况下EQS需要两个参考点,其中一个参考点是由AI行为树根据NPC当前所处的虚拟环境确定目标黑板键,再从黑板数据中获取相应的黑板值获得的,而另一个参考点为预先设置的固定黑板键对应的黑板值。
S103、将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行行为。
例如,若AI行为树输出的是朝掩体移动的行为,那么NPC将以目标点视为躲掩体的最佳位置,并向该位置移动。
本申请实施例的NPC的行为控制方法,根据AI行为树确定与NPC当前所处的虚拟环境对应的EQS查询节点和EQS查询节点对应的EQS所需的目标黑板键,由于NPC所处的虚拟环境是实时变化的,因此不同时间确定的EQS查询节点和目标黑板键也存在差异,进一步调用EQS查询节点运行对应的EQS,将目标黑白键传入EQS中,使得EQS能够以黑板键对应的黑板值为参考点,输出目标点,将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行该行为,由于该行为是与NPC所处的虚拟环境相关的,因此本申请能够更灵活地控制NPC行动,提高玩家与NPC互动的满意度。
请参见图6,其示例性地示出了本申请实施例提供的另一种NPC的行为控制方法的流程示意图,如图所示,该流程包括AI行为树根据NPC当前所处的虚拟环境,确定与虚拟环境相关场景查询系统EQS查询节点以及EQS查询节点对应的EQS所需的目标黑板键;调用EQS查询节点运行EQS,利用目标黑板键配置EQS中的场景查询情境,进一步根据EQS中的采样点生成器和测试规则,EQS输出虚拟环境中目标点;将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行行为;NPC的行为进一步导致虚拟环境发生变化,使得行为树根据变化的虚拟环境确定NPC的下一步行为,周而复始。
在上述各实施例的基础上,作为一种可选实施例,EQS包括待配置查询配置项的目标场景查询情境。
应当理解的是,相关技术的EQS中配置的场景查询情境是一段写死的代码段,不能配置变量参数,而本申请的EQS中的目标场景查询情境预先配置了查询配置项QueryParams,该查询配置项可以由EQS查询节点配置为目标黑板键。
将目标黑板键传入EQS中,包括:
将目标黑板键传入目标场景查询情境的查询配置项,以使得目标场景查询情境根据黑板数据中目标黑板键当前对应的黑板值,获得参考点。
由于游戏过程中NPC所处的虚拟环境是实时变化的,因此EQS查询节点配置的黑板键也会由AI行为树控制动态变化,从而实现了动态设置参考点的效果。
请参见图7,其示例性地示出了本申请实施例提供的再一种行为控制方法的流程示意图,如图所示,包括
创建待配置查询配置项的目标场景查询情境;由于本申请实施例的场景查询情境中具有查询配置项,实现了可以动态传入配置项,进而获得动态参考点的效果;
在UE4引擎中的EQS中配置目标场景查询情境;EQS中的采样点生成器以及测试规则都需要场景查询情境,因此分别在采样点生成器和测试规则中配置上述目标场景查询情境,并进行相应的命名;
在游戏运行时,AI行为树输出的黑板键,EQS中的目标场景查询情境将黑板键配置在查询配置项中,从黑板数据中获取黑板键对应的黑板值,并判断该黑板值是否合法;
若合法,则将黑板值作为参考点传入EQS中对应的采样点生成器或者测试规则,若不合法,则将预设值作为参考点传入EQS中对应的采样点生成器或者测试规则;
EQS中采样点生成器和测试规则根据参考点最终输出目标点,EQS将目标点传入AI行为树;
AI行为树根据目标点获得待执行的动作,并控制NPC执行该动作。
在上述各实施例的基础上,作为一种可选实施例,调用EQS查询节点运行EQS,之前还包括:
S201、创建待配置查询配置项的至少一类目标场景查询情境。
现有场景查询情境可以提供单个Actor或位置作为情境,也可以提供一组Actor或位置。类似的,本申请实施例目标场景查询情境的种类包括输出角色变量的参考点的第一类场景查询情境以及输出位置变量的参考点的第二类场景查询情境。应当理解的是,如果场景查询情境输出角色变量的参考点,那么目标黑板键对应的黑板值也是角色变量,如果场景查询情境输出位置变量的参考点,那么目标黑板键对应的黑板值也是位置变量。
S202、在EQS中配置目标场景查询情境。
请参见图8,其示例性地示出了本申请实施例配置采样点生成器的目标场景查询情境的界面示意图,如图所示,在采样点生成器的配置界面中需要填入众多参数,例如Aligened Points Distance、Cone Degrees、AngleStep、Range(范围)、Center Actor(中心点对象),图中示出了多个可以作为中心点对象的场景查询情境,其中,context_ActorParams和context_LocationParams是包括待配置的查询配置项的目标场景查询情境,两个目标场景查询情境分别用于输出角色变量的参考点以及位置变量的参考点。除上述两个场景查询情境之外的其他场景查询情境配置的均为固定的黑板键,例如场景查询情境_Enemy配置的黑板键为敌人,场景查询情境_WhoAttackMe配置的黑板键为袭击NPC的虚拟对象。
S203、在AI行为树中配置用于读取EQS的EQS查询节点;
请参见图9,其示例性地示出了AI行为树的节点配置界面示意图,如图所示,用户在AI行为树的节点配置界面上点击Run EQS Query控件,界面中将进一步出现是否使用查询模板Query Template的选项,勾选该选项,表示需要使用Query Template,从而界面进一步展示需要配置的EQS,图示中配置的EQS的名称为EQS_CheckAreaSafe,顾名思义,该EQS是一个用于检查NPC所处环境是否安全的EQS。
请参见图10,其示例性地示出了本申请实施例的查询配置项配置界面的示意图,如图所示,当通过上述步骤在AI行为树中配置了目标场景查询情境,则在查询配置项配置界面中会进一步显示需要配置的内容,图示中的目标场景查询情境的名称为context_ActorParams,该目标场景查询情境是一个用于以黑板数据中的角色信息作为参考点的场景查询情境,在名称下方的配置项是类型配置项Param Type,图示中配置的是BBkey,也即黑板键,在类型配置项下方的配置项为黑板键配置项BBKey,用于配置具体的黑板键,图示中为none,表示尚未配置,通过点击配置项中的三角符号,即可弹出可指定的BBKey。
本申请实施例在应用AI行为树之前需要对EQS进行配置,由于查询配置项中的黑板键是可配置的,因此本申请实施例可以通过封装一个EQS,从而在针对AI行为树上不同的EQS查询节点配置EQS时,特别是一些EQS的generators和Test相同的情况下,仅需要简单地配置不同的黑板键,即可快速获得不同的EQS,既节约了EQS的资源,又能够使相似的EQS通过配置实现不同的效果,提高生产效率。
在上述各实施例的基础上,作为一种可选实施例,本申请实施例在EQS中配置目标场景查询情境,包括:
对EQS中的测试规则配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第一目标场景查询情境。
应当理解的是,本申请实施例在一个EQS中可以设置多个测试规则用于检测采样点,而针对不同的测试规则,往往需要不同的参考点,因此对不同的场景查询情境进行区分,本申请实施例以命名的方式进行区分,例如,某EQS中包括2个与距离相关的测试规则(DistanceTest),其中第一个DistanceTest目的是要离某个点最远,第二个DistanceTest目的是为了离某个点最近,那这个EQS最终的效果就是取这两个点的中心,而这两个DistanceTest都可以配置场景查询情境,相应地在EQS查询节点上会出现两个填入场景查询情境的测试规则,但两个场景查询情境出现的顺序可能出现混乱,不一定在第一个位置的场景查询情境就对应第一个测试规则,而在不同的测试规则配置的场景查询情境进行命名,即可保证场景查询情境能够与开发者想要的测试规则对应。
在上述各实施例的基础上,作为一种可选实施例,EQS所需的目标黑板键包括第一目标场景查询情境所需的第一黑板键。也就是说,AI行为树在确定目标黑板键时,会申明不同的场景查询情境所需的黑板键,以避免黑板键导入错误。
相应的,获得EQS输出的虚拟环境中目标点,包括:
S301、通过EQS中预先配置的采样点生成器生成多个采样点;
采样点生成器在生成采样点时需要设置采样点的生成中心,一般地,若采样点生成器未配置场景查询情境,默认以NPC为中心生成采样点或者以敌人为中心生成采样点,并且在设置好就不可在游戏运行时修改。应当理解的是,采样点生成器还会结合采样点的生成密度、生成范围等参数生成采样点。生成密度用于表示相邻两个采样点间的距离,生成密度越大,则单位面积上生成的采样点个数越多。
S302、通过第一目标场景查询情境在黑板数据中获取与第一黑板键对应的第一黑板值,根据第一黑板值获得第一参考点传入测试规则。
由于测试规则中配置了第一目标场景查询情境,且目标黑板键中包括了第一目标场景查询情境所需的第一黑板键,因此通过在第一目标场景查询情境的查询配置项里配置第一黑板键,第一目标场景查询情境可以在黑板数据中获取与第一黑板键对应的第一黑板值,并根据第一黑板值获得第一参考点,例如直接将第一黑板值作为第一参考点。
S303、通过测试规则,将多个采样点分别与第一参考点进行比较,根据比较结果从多个采样点中确定目标点
例如,若测试内容为寻找与参考点距离最远的采样点,则分别计算各采样点与参考点的距离,将距离参考点最远的采样点作为目标点。
在上述各实施例的基础上,作为一种可选实施例,在EQS中配置目标场景查询情境,还包括:
对采样点生成器配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第二目标场景查询情境。
由上述实施例可知,采样点生成器在生成采样点时,也可以以目标场景查询情境的参考点为中心,生成采样点,从而实现动态生成采样点的效果。本申请实施例可以基于上述图8所示的方式对采样点生成器配置目标场景查询情境,并对配置的目标场景查询情境命名为第二目标场景查询情境。
应当理解的是,当采样点生成器的个数有多个时,不同采样点生成器配置的目标场景查询情境的命名存在差异。
在上述各实施例的基础上,作为一种可选实施例,EQS所需的目标黑板键包括第二目标场景查询情境所需的第二黑板键。
通过EQS中预先配置的采样点生成器生成多个采样点,包括:
S401、通过第二目标场景查询情境在黑板数据中获取与第二黑板键对应的第二黑板值,根据第二黑板值获得第二参考点传入采样点生成器。
由于采样点生成器中配置了第二目标场景查询情境,且目标黑板键中包括了第二目标场景查询情境所需的第二黑板键,因此通过在第二目标场景查询情境的查询配置项里配置第二黑板键,第二目标场景查询情境可以在黑板数据中获取与第二黑板键对应的第二黑板值,并根据第二黑板值获得第二参考点,例如直接将第二黑板值作为第二参考点。
S402、通过采样点生成器以第二参考点为中心生成多个采样点。
应当理解的是,当采样点生成器有多个时,针对每个采样点生成器,都会根据配置的相应的第二目标场景查询情境,进而获得相应的多组采样点。无论采样点生成器有多少个,最终EQS都会从这些采样点生成器生成的采样点中获得一个目标点。
在上述各实施例的基础上,作为一种可选实施例,使得目标场景查询情境根据黑板数据中目标黑板键当前对应的黑板值获得参考点,包括:
若确定黑板值符合预设条件,则将黑板值作为参考点;
若确定黑板值不符合预设条件,则将预设值作为参考点。
本申请实施例可以针对黑板值设置条件,如果黑板值符合条件,那么就将黑板值作为参考点,如果黑板值不符合条件,就将预设值作为参考点。应当理解的是,由于本申请实施例的黑板值对应的目标黑板键即包括配置在测试规则中的第一目标场景查询情境中命名的第一目标黑板键,也包括配置在采样点生成器中的第二目标场景查询情境中命名的第二目标黑板键,无论第一目标黑板键还是第二目标黑板键对应的黑板值,只要不符合条件,都会用对应的预设值作为参考点。
请参见图11,其示例性地示出了本申请实施例提供的再一种行为控制方法的流程示意图,如图所示,包括:
S501、创建输出角色变量的参考点的第一类场景查询情境以及输出位置变量的参考点的第二类场景查询情境,两类场景查询情境中都包括待配置的查询配置项;
S502、在EQS中配置目标场景查询情境:
对EQS中的至少一个测试规则配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第一目标场景查询情境;
对EQS中的至少一个采样点生成器配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第二目标场景查询情境;
S503、在AI行为树中配置用于读取步骤S502配置的EQS的EQS查询节点;
S504、根据AI行为树确定与NPC当前所处的虚拟环境对应的EQS查询节点以及该EQS所需的目标黑板键;该目标黑板键包括第一目标场景查询情境所需的第一黑板键,以及第二目标场景查询情境所需的第二黑板键;
S505、调用EQS查询节点运行EQS;
通过第二目标场景查询情境,在黑板数据中获取与第二黑板键对应的第二黑板值,若第二黑板值符合预设条件,则将第二黑板值作为第二参考点传入采样点生成器,若第二黑板值不符合预设条件,则将第一预设值作为第二参考点传入采样点生成器;
通过采样点生成器以第二参考点为中心生成多个采样点;
通过第一目标场景查询情境在黑板数据中获取与第一黑板键对应的第一黑板值,若第一黑板值符合预设条件,则将第一黑板值作为第一参考点传入测试规则,若第一黑板值不符合预设条件,则将第一黑板值作为第一参考点传入测试规则;
通过测试规则,将多个采样点分别与第一参考点进行比较,根据比较结果从多个采样点中确定目标点;
S506、EQS将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行行为。
下面以射击类游戏中NPC躲掩体为例,说明本申请的行为控制方法。
NPC躲掩体需要知道两个信息:
1、敌人在哪,只有知道敌人在哪,才能知道处于掩体的什么位置能够避开敌人的射击;
2、最近的掩体在哪,如果掩体较远,可能NPC还没有移动到掩体处,就被游戏淘汰。
NPC基于上述两个信息,最终向既离自己比较近,又能够躲避敌人射击的最佳掩体。
由此可知,对于躲掩体来说,需要两个场景查询情境,一个场景查询情境(context1)输出的参考点是敌人,另一个场景查询情境(context2)输出的参考点为NPC自己。
通过AI行为树根据NPC当前所处的虚拟环境——被敌人攻击,需要找掩体,确定相关的EQS查询节点以及该EQS查询节点对应的EQS所需的目标黑板键:第一黑板键:敌人的位置,第二黑板键:NPC自己的位置;
该EQS中包括两个采样点生成器,generator1和generator2,generator1中配置的场景查询情境命名为context1,generator2中配置的场景查询情境命名为context2;
向context1中的查询配置项传入第一黑板键,向context2中的查询配置项传入第二黑板键,则context1根据第一黑板键从黑板数据中获得敌人的位置数据,context2根据第二黑板键从黑板数据中获得NPC自己的位置数据;
generator1以敌人的位置数据为中心生成采样点集群1,generator2以NPC自己的位置数据为中心生成采样点集群2;
该EQS中包括两个测试规则,Test1和Test 2,其中Test1用于确定敌人的射程范围,Test2用于确定NPC周围可供躲避的位置;
Test 1中配置的场景查询情境命名为context3,Test 2中配置的场景查询情境命名为context4;
向context3中的查询配置项传入第一黑板键,向context4中的查询配置项传入第二黑板键,则context1根据第一黑板键从黑板数据中获得敌人的位置数据,context2根据第二黑板键从黑板数据中获得NPC自己的位置数据;
Test1根据预设算法将采样点集群1中各采样点,与敌人的位置所在的采样点进行比较,获采样点集群1中各采样点的得分,Test2根据预设算法将采样点集群2中各采样点,与NPC的位置所在的采样点进行比较,获采样点集群2中各采样点的得分,EQS通过综合两个采样点集群中各采样点的得分,确定一个目标点;
EQS将目标点传入AI行为树,由AI行为树生成向目标点移动的行动指令,控制NPC向目标点移动。
本申请实施例提供了一种NPC的行为控制装置,如图12所示,该NPC的行为控制装置可以包括:节点动态确定模块1101、目标点输出模块1102以及行为执行模块1103,其中,
节点动态确定模块1101,用于通过AI行为树根据NPC当前所处的虚拟环境,确定与虚拟环境相关场景查询系统EQS查询节点以及EQS查询节点对应的EQS所需的目标黑板键;
目标点输出模块1102,用于调用EQS查询节点运行EQS,将目标黑板键传入EQS中,获得EQS输出的虚拟环境中目标点;
行为执行模块1103,用于将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行行为;
其中,目标点是根据EQS的参考点确定的;参考点根据AI行为树的黑板数据中,目标黑板键当前对应的黑板值确定。
本申请实施例的NPC的行为控制装置可执行本申请实施例所提供的NPC的行为控制方法,其实现原理相类似,本申请各实施例的NPC的行为控制装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例的装置通过AI行为树根据NPC当前所处的虚拟环境,确定与虚拟环境相关场景查询系统EQS查询节点以及EQS查询节点对应的EQS所需的目标黑板键,由于NPC所处的虚拟环境是实时变化的,因此不同时间确定的EQS查询节点和目标黑板键也存在差异,进一步调用EQS查询节点运行对应的EQS,将目标黑板键传入EQS中,使得EQS能够以黑板键对应的黑板值为参考点,输出目标点,将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行该行为,由于该行为是与NPC所处的虚拟环境相关的,因此本申请能够更灵活地控制NPC行动,提高玩家与NPC互动的满意度。
在一个可能的实现方式中,EQS中包括待配置查询配置项的目标场景查询情境;
目标点输出模块,包括:
参考点输出单元,用于将目标黑板键传入目标场景查询情境的查询配置项,以使得目标场景查询情境根据黑板数据中目标黑板键当前对应的黑板值,获得参考点。
在上述各实施例的基础上,作为一种可选实施例,行为控制装置还包括:
情境创建模块,用于创建待配置查询配置项的至少一类目标场景查询情境;
EQS配置模块,用于在EQS中配置目标场景查询情境;
节点配置模块,用于在AI行为树中配置用于读取EQS的EQS查询节点;
其中,目标场景查询情境的种类包括输出角色变量的参考点的第一类场景查询情境以及输出位置变量的参考点的第二类场景查询情境。
在上述各实施例的基础上,作为一种可选实施例,EQS配置模块包括:
第一情境配置模块,用于对EQS中的测试规则配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第一目标场景查询情境。
在上述各实施例的基础上,作为一种可选实施例,EQS所需的目标黑板键包括第一目标场景查询情境所需的第一黑板键;
目标点输出模块包括:
采样点生成单元,用于通过EQS中的采样点生成器生成多个采样点;
第一黑板值传递单元,用于通过第一目标场景查询情境在黑板数据中获取与第一黑板键对应的第一黑板值,根据第一黑板值获得第一参考点传入测试规则;
规则比较单元,用于通过测试规则,将多个采样点分别与第一参考点进行比较,根据比较结果从多个采样点中确定目标点。
在上述各实施例的基础上,作为一种可选实施例,EQS配置模块包括:
第二情境配置模块,用于对采样点生成器配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第二目标场景查询情境。
在上述各实施例的基础上,作为一种可选实施例,EQS所需的目标黑板键包括第二目标场景查询情境所需的第二黑板键;
采样点生成单元,包括:
第二黑板值传递单元,用于通过第二目标场景查询情境,在黑板数据中获取与第二黑板键对应的第二黑板值,根据第二黑板值获得第二参考点传入采样点生成器;
中心生成单元,用于通过采样点生成器以第二参考点为中心生成多个采样点。
在上述各实施例的基础上,作为一种可选实施例,参考点输出单元具体用于:
若确定黑板值符合预设条件,则将黑板值作为参考点;
若确定黑板值不符合预设条件,则将预设值作为参考点。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现NPC的行为控制方法的步骤,与相关技术相比可实现:通过AI行为树根据NPC当前所处的虚拟环境,确定与虚拟环境相关场景查询系统EQS查询节点以及EQS查询节点对应的EQS所需的目标黑板键,由于NPC所处的虚拟环境是实时变化的,因此不同时间确定的EQS查询节点和目标黑板键也存在差异,进一步调用EQS查询节点运行对应的EQS,将目标黑板键传入EQS中,使得EQS能够以黑板键对应的黑板值为参考点,输出目标点,将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行该行为,由于该行为是与NPC所处的虚拟环境相关的,因此本申请能够更灵活地控制NPC行动,提高玩家与NPC互动的满意度。
在一个可选实施例中提供了一种电子设备,如图13所示,图13所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容,与相关技术相比可实现:通过AI行为树根据NPC当前所处的虚拟环境,确定与虚拟环境相关场景查询系统EQS查询节点以及EQS查询节点对应的EQS所需的目标黑板键,由于NPC所处的虚拟环境是实时变化的,因此不同时间确定的EQS查询节点和目标黑板键也存在差异,进一步调用EQS查询节点运行对应的EQS,将目标黑板键传入EQS中,使得EQS能够以黑板键对应的黑板值为参考点,输出目标点,将目标点输入AI行为树,获得AI行为树输出的NPC待执行的行为,控制NPC执行该行为,由于该行为是与NPC所处的虚拟环境相关的,因此本申请能够更灵活地控制NPC行动,提高玩家与NPC互动的满意度
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (12)
1.一种非玩家角色NPC的行为控制方法,其特征在于,包括:
通过AI行为树根据NPC当前所处的虚拟环境,确定与所述虚拟环境相关场景查询系统查询节点以及所述场景查询系统查询节点对应的场景查询系统所需的目标黑板键;
调用所述场景查询系统查询节点运行所述场景查询系统,将所述目标黑板键传入所述场景查询系统中,获得所述场景查询系统输出的所述虚拟环境中目标点;
将所述目标点输入所述AI行为树,获得所述AI行为树输出的所述NPC待执行的行为,控制所述NPC执行所述行为;
其中,所述目标点是根据所述场景查询系统的参考点确定的,所述参考点根据所述AI行为树的黑板数据中,所述目标黑板键当前对应的黑板值确定。
2.根据权利要求1所述的行为控制方法,其特征在于,所述场景查询系统中包括待配置查询配置项的目标场景查询情境;
所述将所述目标黑板键传入所述场景查询系统中,包括:
将所述目标黑板键传入所述目标场景查询情境的所述查询配置项,以使得所述目标场景查询情境根据所述黑板数据中所述目标黑板键当前对应的黑板值,获得所述参考点。
3.根据权利要求2所述的行为控制方法,其特征在于,所述调用所述场景查询系统查询节点运行所述场景查询系统,之前还包括:
创建待配置查询配置项的至少一类目标场景查询情境;
在场景查询系统中配置所述目标场景查询情境;
在所述AI行为树中配置用于读取所述场景查询系统的场景查询系统查询节点;
其中,所述目标场景查询情境的种类包括输出角色变量的参考点的第一类场景查询情境以及输出位置变量的参考点的第二类场景查询情境。
4.根据权利要求3所述的行为控制方法,其特征在于,所述在所述场景查询系统中配置所述目标场景查询情境,包括:
对所述场景查询系统中的测试规则配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第一目标场景查询情境。
5.根据权利要求4所述的行为控制方法,其特征在于,所述场景查询系统所需的目标黑板键包括所述第一目标场景查询情境所需的第一黑板键;
获得所述场景查询系统输出的所述虚拟环境中目标点,包括:
通过所述场景查询系统中的采样点生成器生成多个采样点;
通过所述第一目标场景查询情境在所述黑板数据中获取与所述第一黑板键对应的第一黑板值,根据所述第一黑板值获得第一参考点传入所述测试规则;
通过所述测试规则,将所述多个采样点分别与所述第一参考点进行比较,根据比较结果从所述多个采样点中确定所述目标点。
6.根据权利要求5所述的行为控制方法,其特征在于,所述在所述场景查询系统中配置所述目标场景查询情境,还包括:
对所述采样点生成器配置一个类型的目标场景查询情境,并将配置的目标场景查询情境命名为第二目标场景查询情境。
7.根据权利要求6所述的行为控制方法,其特征在于,所述场景查询系统所需的目标黑板键包括所述第二目标场景查询情境所需的第二黑板键;
所述通过所述场景查询系统中预先配置的采样点生成器生成多个采样点,包括:
通过所述第二目标场景查询情境,在所述黑板数据中获取与所述第二黑板键对应的第二黑板值,根据所述第二黑板值获得第二参考点传入所述采样点生成器;
通过所述采样点生成器以所述第二参考点为中心生成所述多个采样点。
8.根据权利要求2-7任意一项所述的行为控制方法,其特征在于,所述使得所述目标场景查询情境根据所述黑板数据中所述目标黑板键当前对应的黑板值获得参考点,包括:
若确定所述黑板值符合预设条件,则将所述黑板值作为所述参考点;
若确定所述黑板值不符合预设条件,则将预设值作为所述参考点。
9.一种非玩家角色NPC的行为控制装置,其特征在于,包括:
节点动态确定模块,用于通过AI行为树根据NPC当前所处的虚拟环境,确定与所述虚拟环境相关场景查询系统查询节点以及所述场景查询系统查询节点对应的场景查询系统所需的目标黑板键;
目标点输出模块,用于调用所述场景查询系统查询节点运行所述场景查询系统,将所述目标黑板键传入所述场景查询系统中,获得所述场景查询系统输出的所述虚拟环境中目标点;
行为执行模块,用于将所述目标点输入所述AI行为树,获得所述AI行为树输出的所述NPC待执行的行为,控制所述NPC执行所述行为;
其中,所述目标点是根据所述场景查询系统的参考点确定的;所述参考点根据所述AI行为树的黑板数据中,所述目标黑板键当前对应的黑板值确定。
10.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-8任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210002983.7A CN114288662A (zh) | 2022-01-04 | 2022-01-04 | Npc的行为控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210002983.7A CN114288662A (zh) | 2022-01-04 | 2022-01-04 | Npc的行为控制方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114288662A true CN114288662A (zh) | 2022-04-08 |
Family
ID=80975270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210002983.7A Pending CN114288662A (zh) | 2022-01-04 | 2022-01-04 | Npc的行为控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114288662A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114870407A (zh) * | 2022-04-29 | 2022-08-09 | 深圳市中视典数字科技有限公司 | 一种基于虚拟现实的数字人体数据采集系统及方法 |
-
2022
- 2022-01-04 CN CN202210002983.7A patent/CN114288662A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114870407A (zh) * | 2022-04-29 | 2022-08-09 | 深圳市中视典数字科技有限公司 | 一种基于虚拟现实的数字人体数据采集系统及方法 |
CN114870407B (zh) * | 2022-04-29 | 2023-02-14 | 深圳市中视典数字科技有限公司 | 一种基于虚拟现实的数字人体数据采集系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11135514B2 (en) | Data processing method and apparatus, and storage medium for concurrently executing event characters on a game client | |
CN112807681B (zh) | 游戏控制方法、装置、电子设备及存储介质 | |
US20080045283A1 (en) | Transfer of Game Characters | |
US20210366183A1 (en) | Glitch detection system | |
CN111672117B (zh) | 虚拟对象的选择方法、装置、设备及存储介质 | |
CN111701246B (zh) | 一种游戏ai的决策配置方法和装置 | |
Kuiper et al. | Agent vision in multi-agent based simulation systems | |
CN113559504A (zh) | 信息处理方法、装置、存储介质及电子设备 | |
CN114288662A (zh) | Npc的行为控制方法、装置及电子设备 | |
JP2024001280A (ja) | 仮想オブジェクトを選択するための方法並びにその、装置、端末及び記憶媒体 | |
JP2023549370A (ja) | 情報表示方法、装置、電子機器及びコンピュータプログラム | |
Charleer et al. | Towards an open standard for gameplay metrics | |
CN111265874B (zh) | 游戏中目标物的建模方法、装置、设备及存储介质 | |
CN112354182A (zh) | 三维场景的生成方法和装置、存储介质和电子装置 | |
Yue et al. | The state of the art in game AI standardisation | |
Buro et al. | On the development of a free RTS game engine | |
Bída et al. | Evolution of GameBots project | |
CN111388995B (zh) | 游戏人工智能信息的处理方法、系统、装置和存储介质 | |
CN114042315A (zh) | 基于虚拟场景的图形显示方法、装置、设备以及介质 | |
KR20120075527A (ko) | 에이전트 기반 게임 서비스 장치 및 방법 | |
EP3984608A1 (en) | Method and apparatus for controlling virtual object, and terminal and storage medium | |
CN113663329B (zh) | 虚拟角色的射击控制方法、装置、电子设备及存储介质 | |
CN116212388A (zh) | 掩体位置确定方法、遮挡方法、相应的装置及电子设备 | |
Hu et al. | UTSE: A Game Engine-Based Simulation Environemnt for Agent | |
Monsieurs | Evolving Virtual Agents using Genetic Programming |
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 |