游戏中的虚拟对象控制方法和装置、存储介质、电子设备与流程
- 国知局
- 2024-07-11 16:00:34
所属的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。下面参照图11来描述根据本发明的这种实施方式的电子设备1100。图11显示的电子设备1100仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图11所示,电子设备1100以通用计算设备的形式表现。电子设备1100的组件可以包括但不限于:上述至少一个处理单元1110、上述至少一个存储单元1120、连接不同系统组件(包括存储单元1120和处理单元1110)的总线1130以及显示单元1140。其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1110执行,使得所述处理单元1110执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1110可以执行如图1中所示的步骤s110:响应于所述虚拟对象进入所述多种对象状态中的第一对象状态,控制所述虚拟对象在所述游戏场景中执行第一游戏行为并通过数据查询器查询所述虚拟对象对应的第一参数,得到第一参数的参数状态,其中,所述第一参数的参数状态用于确认所述虚拟对象是否满足目标切换条件,所述目标切换条件用于在满足时触发所述虚拟对象从所述第一对象状态切换至目标对象状态;s120:响应于所述第一参数的参数状态不满足所述目标切换条件,存储所述第一参数的参数状态并通过数据感知器监听与所述第一参数对应的数据变更事件,其中,所述数据变更事件用于提示所述第一参数发生变更;s130:响应于所述数据变更事件触发且所述第一参数的参数状态发生变化,通过所述数据查询器轮询所述第一参数,以使所述第一参数的参数状态满足所述目标切换条件时,控制所述虚拟对象切换至所述目标对象状态。存储单元1120可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)11201和/或高速缓存存储单元11202,还可以进一步包括只读存储单元(rom)11203。存储单元1120还可以包括具有一组(至少一个)程序模块11205的程序/实用工具11204,这样的程序模块11205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线1130可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备1100也可以与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1100交互的设备通信,和/或与使得该电子设备1100能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1150进行。并且,电子设备1100还可以通过网络适配器1160与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1160通过总线1130与电子设备1100的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid(redundant arrays of independent disks,独立冗余磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本发明实施方式的方法。在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf(radio frequency,射频)等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其他实施例。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
背景技术:
1、相关技术中,游戏ai通常是基于状态机或者行为树实现的,状态机和行为树都是由一系列状态节点和行为节点组成,每个节点都有对应的条件和执行逻辑,在每一帧中,系统会从当前状态的节点开始逐个检测当前状态节点的条件是否满足。如果条件满足,则执行当前状态节点的逻辑,并转移到下一个状态节点。如果条件不满足,则继续检查当前状态节点,直到找到一个满足条件的状态节点或执行到叶子节点。
2、每帧检测的方式虽然简单,但是,一方面,由于游戏中虚拟对象的状态并不是每帧都发生变化,每帧检测会导致大多数帧进行了重复的检测和判断,消耗了额外的cpu性能;另一方面,当状态机和行为树的节点数量较多时,每帧检测会造成占用较多的cpu资源。
3、因此,需要提供一种新的游戏中的虚拟对象控制方法。
4、需要说明的是,在上述背景技术部分发明的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、本公开提供一种游戏中的虚拟对象控制方法、游戏中的虚拟对象控制装置、存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的cpu消耗多的问题。
2、根据本公开的一个方面,提供一种游戏中的虚拟对象控制方法,包括:
3、响应于所述虚拟对象进入所述多种对象状态中的第一对象状态,控制所述虚拟对象在所述游戏场景中执行第一游戏行为并通过数据查询器查询所述虚拟对象对应的第一参数,得到第一参数的参数状态,其中,所述第一参数的参数状态用于确认所述虚拟对象是否满足目标切换条件,所述目标切换条件用于在满足时触发所述虚拟对象从所述第一对象状态切换至目标对象状态;
4、响应于所述第一参数的参数状态不满足所述目标切换条件,存储所述第一参数的参数状态并通过数据感知器监听与所述第一参数对应的数据变更事件,其中,所述数据变更事件用于提示所述第一参数发生变更;
5、响应于所述数据变更事件触发且所述第一参数的参数状态发生变化,通过所述数据查询器轮询所述第一参数,以使所述第一参数的参数状态满足所述目标切换条件时,控制所述虚拟对象切换至所述目标对象状态。
6、在本公开的一种示例性实施例中,在所述响应于所述虚拟对象进入所述多种对象状态中的第一对象状态之后,所述方法还包括:
7、获取与所述第一对象状态对应的切换条件,确定与所述第一对象状态关联的第二对象状态,获取与所述第二对象状态对应的切换条件;
8、将与所述第一对象状态对应的切换条件、与所述第二对象状态对应的切换条件存储至查询列表中。
9、在本公开的一种示例性实施例中,所述通过数据查询器查询所述虚拟对象对应的第一参数,得到第一参数的参数状态,包括:
10、从所述查询列表中获取与所述目标对象状态对应的目标切换条件;
11、基于与所述目标对象状态对应的目标切换条件,通过所述数据查询器对所述第一参数进行查询,得到所述第一参数的参数状态。
12、在本公开的一种示例性实施例中,所述存储所述第一参数的参数状态并通过数据感知器监听与所述第一参数对应的数据变更事件,包括:
13、将所述第一参数的参数状态作为所述目标切换条件的查询结果存储至所述查询列表中;
14、获取与所述第一参数对应的数据感知器,利用所述数据感知器在所述游戏场景中监听与所述第一参数对应的数据变更事件。
15、在本公开的一种示例性实施例中,所述第一参数中至少包括1个参数,响应于所述数据变更事件触发且所述第一参数的参数状态发生变化,通过所述数据查询器轮询所述第一参数,以使所述第一参数的参数状态满足所述目标切换条件时,控制所述虚拟对象切换至所述目标对象状态,包括:
16、在所述第一参数发生变更时,利用所述数据查询器对所述第一参数进行查询,得到所述第一参数中各参数的参数状态;
17、当所述第一参数中的任一参数的参数状态发生变化时,利用所述数据查询器对所述第一参数中其他参数进行轮询;
18、在所述第一参数中所有参数的参数状态发生变化且满足与第一参数中各参数对应的目标切换条件时,控制将所述虚拟对象由第一对象状态切换至所述目标对象状态。
19、在本公开的一种示例性实施例中,在所述控制所述虚拟对象切换至所述目标对象状态之后,所述方法还包括:
20、确定与所述目标对象状态对应的第二参数以及所述目标对象状态的下一对象状态;
21、在所述查询列表中获取与所述下一对象状态对应的切换条件,基于所述切换条件,利用所述数据查询器对所述第二参数进行查询,得到所述第二参数的参数状态。
22、在本公开的一种示例性实施例中,在所述响应于所述数据变更事件触发之后,所述方法还包括:
23、基于与所述目标对象状态对应的目标切换条件,利用所述数据查询器对所述第一参数进行查询;
24、在所述第一参数的参数状态未发生变化时,将所述第一参数的参数状态存储至所述查询列表中,通过所述数据感知器监听与所述第一参数对应的数据变更事件。
25、根据本公开的一个方面,提供一种游戏中的虚拟对象控制装置,包括:
26、参数状态确定模块,用于响应于所述虚拟对象进入所述多种对象状态中的第一对象状态,控制所述虚拟对象在所述游戏场景中执行第一游戏行为并通过数据查询器查询所述虚拟对象对应的第一参数,得到第一参数的参数状态,其中,所述第一参数的参数状态用于确认所述虚拟对象是否满足目标切换条件,所述目标切换条件用于在满足时触发所述虚拟对象从所述第一对象状态切换至目标对象状态;
27、数据变更监听模块,用于响应于所述第一参数的参数状态不满足所述目标切换条件,存储所述第一参数的参数状态并通过数据感知器监听与所述第一参数对应的数据变更事件,其中,所述数据变更事件用于提示所述第一参数发生变更;
28、状态切换模块,用于响应于所述数据变更事件触发且所述第一参数的参数状态发生变化,通过所述数据查询器轮询所述第一参数,以使所述第一参数的参数状态满足所述目标切换条件时,控制所述虚拟对象切换至所述目标对象状态。
29、根据本公开的一个方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一示例性实施例所述的游戏中的虚拟对象控制方法。
30、根据本公开的一个方面,提供一种电子设备,包括:
31、处理器;以及
32、存储器,用于存储所述处理器的可执行指令;
33、其中,所述处理器配置为经由执行所述可执行指令来执行上述任一示例性实施例所述的游戏中的虚拟对象控制方法。
34、本公开实施例提供的一种游戏中的虚拟对象控制方法,响应于所述虚拟对象进入所述多种对象状态中的第一对象状态,控制所述虚拟对象在所述游戏场景中执行第一游戏行为并通过数据查询器查询所述虚拟对象对应的第一参数,得到第一参数的参数状态,其中,所述第一参数的参数状态用于确认所述虚拟对象是否满足目标切换条件,所述目标切换条件用于在满足时触发所述虚拟对象从所述第一对象状态切换至目标对象状态;响应于所述第一参数的参数状态不满足所述目标切换条件,存储所述第一参数的参数状态并通过数据感知器监听与所述第一参数对应的数据变更事件,其中,所述数据变更事件用于提示所述第一参数发生变更;响应于所述数据变更事件触发且所述第一参数的参数状态发生变化,通过所述数据查询器轮询所述第一参数,以使所述第一参数的参数状态满足所述目标切换条件时,控制所述虚拟对象切换至所述目标对象状态。一方面,在虚拟对象进入第一对象状态后,通过数据查询器对虚拟对象的第一参数进行查询,得到第一参数的参数状态,当第一参数的参数状态不满足目标切换条件时,对第一参数的参数状态进行存储,并且通过数据感知器监听与第一参数对应的数据变更事件,解决了相关技术中当条件不满足时,继续检查当前状态节点的问题,避免了不必要的重复检测,减少了cpu的性能消耗;另一方面,当监听到与第一参数对应的数据变更事件后,响应数据变更事件触发,且第一参数的参数状态发生变化时,通过数据查询器轮询第一参数,在第一参数的参数状态满足目标切换条件时,控制虚拟对象切换至目标对象状态,提高了虚拟对象状态更新的效率。
35、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
本文地址:https://www.jishuxx.com/zhuanli/20240615/76973.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表