CN111544889B - 虚拟对象的行为控制方法和装置及存储介质 - Google Patents
虚拟对象的行为控制方法和装置及存储介质 Download PDFInfo
- Publication number
- CN111544889B CN111544889B CN202010345540.9A CN202010345540A CN111544889B CN 111544889 B CN111544889 B CN 111544889B CN 202010345540 A CN202010345540 A CN 202010345540A CN 111544889 B CN111544889 B CN 111544889B
- Authority
- CN
- China
- Prior art keywords
- virtual object
- target virtual
- target
- behavior
- information
- 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.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种虚拟对象的行为控制方法和装置及存储介质。其中,该方法包括:获取在目标虚拟游戏的虚拟场景中触发的行为控制指令;在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为;在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为。本发明解决了虚拟对象的行为控制灵活性较差的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种虚拟对象的行为控制方法和装置及存储介质。
背景技术
在影视和动画领域,常常需要表现大规模人群或鸟兽群运动的场景。这些场景通常要求群体中的每个个体姿势形态表现各异,但其整体的运动趋势和行为方式又是相对统一的。群组模拟算法因此应运而生。
群组模拟算法是计算机动画领域中一种研究较多的算法类别。其主要分为宏观控制的模拟和微观控制的模拟,前者表现为在全局模式下规划各个个体的运动路径,保证其在运动过程中呈现多样化而不至于相互碰撞,而后者主要强调单个个体依据自身所处环境状态,自行判断运动方向。但,目前在影视和动画领域所采用的群组模拟算法往往耗时过长,进而无法同时保证宏观控制的模拟和微观控制的模拟的实现质量。
进一步,随着游戏行业的发展,玩家们对这“第九艺术”的玩法及画面要求越来越高,大规模群组模拟在战斗场景、游戏场景动画等处的需求也与日俱增。但,现有技术中的高智能虚拟对象,往往需要耗费大量的时间以实现群组模拟算法计算,进而产生较多时延;而撇弃高智能虚拟对象,即使时延降低,但玩家的可玩性却大大减少了。换言之,对游戏而言,低时延和可玩性都是重要的评判因素,而现有技术缺少一种足够灵活的虚拟对象行为控制方法,以平衡低时延和可玩性的技术方案。即,现有技术中存在虚拟对象的行为控制灵活性较差的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种虚拟对象的行为控制方法和装置及存储介质,以至少解决虚拟对象的行为控制灵活性较差的技术问题。
根据本发明实施例的一个方面,提供了一种虚拟对象的行为控制方法,包括:获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,上述行为控制指令用于控制上述虚拟场景下的目标虚拟对象执行目标行为;在上述目标虚拟对象处于群组成员状态的情况下,确定上述目标虚拟对象所在的目标虚拟群组,及上述目标虚拟群组中处于上述群组成员状态的其他成员虚拟对象,并控制上述目标虚拟对象及上述其他成员虚拟对象根据上述行为控制指令执行上述目标行为;在上述目标虚拟对象处于个体状态的情况下,确定上述目标虚拟对象在上述虚拟场景中的当前环境信息,并在上述当前环境信息达到与上述目标虚拟对象匹配的行为条件的情况下,控制上述目标虚拟对象执行上述目标行为。
根据本发明实施例的另一方面,还提供了一种虚拟对象的行为控制装置,包括:第一获取单元,用于获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,上述行为控制指令用于控制上述虚拟场景下的目标虚拟对象执行目标行为;第一控制单元,用于在上述目标虚拟对象处于群组成员状态的情况下,确定上述目标虚拟对象所在的目标虚拟群组,及上述目标虚拟群组中处于上述群组成员状态的其他成员虚拟对象,并控制上述目标虚拟对象及上述其他成员虚拟对象根据上述行为控制指令执行上述目标行为;第二控制单元,用于在上述目标虚拟对象处于个体状态的情况下,确定上述目标虚拟对象在上述虚拟场景中的当前环境信息,并在上述当前环境信息达到与上述目标虚拟对象匹配的行为条件的情况下,控制上述目标虚拟对象执行上述目标行为。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述虚拟对象的行为控制方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的虚拟对象的行为控制方法。
在本发明实施例中,获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为;在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为,通过判断目标虚拟对象处于群组成员状态或个体状态的两种情况,控制全部虚拟对象或单个根据行为控制指令执行目标行为,进而达到了增加虚拟对象控制方式的多样性的技术目的,从而实现了提高虚拟对象的行为控制的灵活性的技术效果,进而解决了虚拟对象的行为控制灵活性较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的虚拟对象的行为控制方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的虚拟对象的行为控制方法的流程图的示意图;
图3是根据本发明实施例的一种可选的虚拟对象的行为控制方法的示意图;
图4是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图5是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图6是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图7是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图8是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图9是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图10是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图11是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图12是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图13是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图14是根据本发明实施例的另一种可选的虚拟对象的行为控制方法的示意图;
图15是根据本发明实施例的一种可选的虚拟对象的行为控制装置的示意图;
图16是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种虚拟对象的行为控制方法,可选地,作为一种可选的实施方式,上述虚拟对象的行为控制方法可以但不限于应用于如图1所示的环境中。其中,可以但不限于包括用户设备102、网络110及服务器112,其中,该用户设备102上可以但不限于包括显示器108、处理器106及存储器104。
具体过程可如下步骤:
步骤S102,用户设备102获取在目标虚拟游戏的虚拟场景中触发的行为控制指令、虚拟对象所处状态以及当前环境信息,具体的,虚拟对象包括虚拟对象102、虚拟对象104以及虚拟对象106,其中,虚拟对象102未处于任何虚拟队伍中,属于个体状态,虚拟对象104以及虚拟对象106处于虚拟队伍108中,属于群组成员状态,当前环境信息为以上述虚拟对象为中心,一定范围内的虚拟环境信息;
步骤S104-S106,用户设备102通过网络110将行为控制指令、虚拟对象状态以及当前环境信息发送至服务器112;
步骤S108,服务器112通过数据库114虚拟对象状态以及当前环境信息对应的处理进程,并通过处理引擎116将行为控制指令进行对应处理,从而生成行为执行结果,具体的,属于群组成员状态的虚拟对象104以及虚拟对象106,根据行为控制指令生成对应的行为执行结果,而属于个体状态的虚拟对象102,可以无需根据行为控制指令,而是根据当前环境信息生成对应的行为执行结果,但也可以根据行为控制指令,生成对应的行为执行结果,或根据行为控制指令以及当前环境信息生成对应的行为执行结果;
步骤S110-S112,服务器112通过网络110将行为执行结果发送给用户设备102,用户设备102中的处理器106将行为执行结果处理并显示在显示器108中,并将行为执行结果以及相关信息存储在存储器104中。其中,行为执行结果可以但不限于为一组用于表示行为执行结果的程序,也可以但不限于为压缩后的画面,以及行为执行结果可以但不限于存储在服务器112或用户设备102中。
可选地,作为一种可选的实施方式,如图2所示,虚拟对象的行为控制方法包括:
S202,获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;
S204,在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为;
S206,在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为。
可选的,在本实施例中,虚拟对象的行为控制方法可以但不限于应用在在游戏人工智能领域,具体的,可以但不限于应用在多方竞争类型的游戏场景下。目标虚拟游戏可以但不限于包括可控制多个虚拟对象进行竞争或战斗的游戏类型。虚拟场景可以但不限于包括游戏开始后的场景,如战斗场景、竞赛场景、剧情场景等,也可以但不限于包括游戏开始前的场景,如设置场景、交互场景等,也可以但不限于包括游戏结束后的场景,如结算场景等。行为控制指令可以但不限于控制虚拟场景下的目标虚拟对象执行目标行为,例如在游戏开始后的场景下,控制虚拟对象执行游戏中的操作等、在游戏开始前的场景下,预设虚拟对象在预设条件下执行游戏中的操作等。群组成员可以但不限于包括多个同虚拟类型或不同虚拟类型的虚拟对象成员。当前环境信息可以但不限于包括以虚拟对象为中心,预设范围内的虚拟游戏场景的相关信息,如其他虚拟对象的位置信息、虚拟场景的地形信息等。
需要说明的是,获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为。
进一步举例说明,可选的例如图3所示,虚拟场景308中包括同属虚拟队伍306的虚拟对象302、虚拟对象304,以及用于触发行为控制指令的虚拟按钮“前进”(图中阴影处),具体步骤如下:
步骤S302,在虚拟按钮“前进”处获取行为控制指令;
步骤S304,确定虚拟对象302、虚拟对象304同属虚拟队伍306(群组成员状态),根据上述获取的行为控制指令,控制虚拟队伍306中的虚拟对象302、虚拟对象304共同执行“前进行为”(图中以箭头表示)。
需要说明的是,获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为。可选的,控制目标虚拟对象执行目标行为可以但不限于不根据行为控制指令,例如在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行与当前环境信息相匹配的行为条件;可选的,控制目标虚拟对象执行目标行为可以但不限于根据行为控制指令,例如在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,根据行为控制指令控制目标虚拟对象执行目标行为,和/或根据当前环境信息执行目标行为。
进一步举例说明,可选的例如图4所示,包括处于个体状态的虚拟对象402,以及用于触发行为控制指令的虚拟按键“集合”(阴影处),具体步骤如下所示:
步骤S402,在用于触发行为控制指令的虚拟按键“集合”处获取行为控制指令;
步骤S404,根据行为控制指令控制虚拟对象402执行目标行为“集合”(箭头所示)。
进一步举例说明,可选的例如图5所示,虚拟场景308中还包括敌方虚拟对象502,则假设对于虚拟对象402来说,其场景信息即为预设范围内的敌方虚拟对象502的位置信息,且其位置信息满足其执行与场景信息相匹配的行为条件,具体步骤如下:
步骤S502,在虚拟按钮“前进”处获取行为控制指令;
步骤S504,获取虚拟对象402预设范围内的场景信息,确定敌方虚拟对象502的位置信息满足匹配的行为条件,则根据场景信息(位置信息)控制虚拟对象402执行目标行为,例如控制虚拟对象402攻击敌方虚拟对象502(如箭头所示);其中,可选的,虚拟队伍306中的虚拟对象302、虚拟对象304根据行为控制指令执行对应的行为“前进”。
通过本申请提供的实施例,获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为;在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为,通过判断目标虚拟对象处于群组成员状态或个体状态的两种情况,控制全部虚拟对象或单个根据行为控制指令执行目标行为,进而达到了增加虚拟对象控制方式的多样性的技术目的,从而实现了提高虚拟对象的行为控制的灵活性的技术效果。
作为一种可选的方案,在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之后,还包括:
S1,获取虚拟场景的全局信息,其中,全局信息中包括虚拟场景的全局空间结构信息、虚拟场景中各个虚拟群组的群组信息及虚拟场景中各个虚拟对象的对象信息;
S2,在收到用于解散目标虚拟群组的解散指令的情况下,确定将目标虚拟对象从群组成员状态切换为个体状态,并根据全局信息获取目标虚拟对象在虚拟场景中的当前环境信息;
S3,在收到用于将多个虚拟对象聚合为一个虚拟群组的集合指令,且多个虚拟对象中包括目标虚拟对象的情况下,确定将目标虚拟对象从个体状态切换为群组成员状态,并根据全局信息获取目标虚拟群组的群组信息。
需要说明的是,获取虚拟场景的全局信息,并在收到用于解散目标虚拟群组的解散指令的情况下,确定将目标虚拟对象从群组成员状态切换为个体状态,并根据全局信息获取目标虚拟对象在虚拟场景中的当前环境信息;在收到用于将多个虚拟对象聚合为一个虚拟群组的集合指令,且多个虚拟对象中包括目标虚拟对象的情况下,确定将目标虚拟对象从个体状态切换为群组成员状态,以及根据全局信息获取目标虚拟群组的群组信息。,可选的,个体状态的虚拟对象可以但不限于通过用于集合原群组成员状态的全部虚拟对象的集合指令,从个体状态重新切换为群组成员状态
进一步举例说明,可选的全局空间结构可以但不限如图6所示,晶格结构其具体描述为:将场景平面分割为N*N等大小的晶格,每个晶格代表场景平面中的一小块坐标范围,并对每个晶格维护一个双向链表。把空间内的物体抽象为单个节点602(如图中黑色圆形所示),节点落在哪个晶格上,则把该节点添加到该晶格的链表中,若离开则从链表删除。可选的,空间内的物体可以但不限于包括处于群组状态的虚拟对象或处于个体状态的虚拟对象。其中,可选的,双向链表可以但不限于为链表的一种,其每个数据节点都有两个指针,分别指向直接后继和直接前驱,可以但不限于达到从双线链表中的任意一个结点开始,都可以很方便地访问其的前驱结点和后继结点,进而实现了提高全局信息控制的效率的技术夏效果。
进一步举例说明,可选的例如图7所示,虚拟场景308包括处于同一虚拟队伍706的虚拟对象702、虚拟对象704,以及用于触发解散指令的虚拟按钮“解散”(阴影处),具体步骤如下:
步骤S702,在用于触发解散指令的虚拟按钮“解散”除获取解散指令;
步骤S704,相应解散指令,将虚拟队伍706解散,虚拟对象702、虚拟对象704的状态由群组成状态切换为个体状态(如箭头所示)。换言之,切换状态后的虚拟对象702、虚拟对象704不属于同一虚拟队伍706。
通过本申请提供的实施例,获取虚拟场景的全局信息,其中,全局信息中包括虚拟场景的全局空间结构信息、虚拟场景中各个虚拟群组的群组信息及虚拟场景中各个虚拟对象的对象信息;在收到用于解散目标虚拟群组的解散指令的情况下,确定将目标虚拟对象从群组成员状态切换为个体状态,并根据全局信息获取目标虚拟对象在虚拟场景中的当前环境信息;在收到用于将多个虚拟对象聚合为一个虚拟群组的集合指令,且多个虚拟对象中包括目标虚拟对象的情况下,确定将目标虚拟对象从个体状态切换为群组成员状态,并根据全局信息获取目标虚拟群组的群组信息,通过虚拟群组的集合指令,进而达到了集中控制虚拟对象的技术目的,从而实现了提高虚拟对象的控制效率的技术效果。
作为一种可选的方案,确定目标虚拟对象在虚拟场景中的当前环境信息包括:
S1,根据全局空间结构信息确定目标虚拟对象的空间感知范围,其中,空间感知范围为目标虚拟对象的可视范围;
S2,从空间感知范围内获取目标虚拟对象的当前环境信息;
S3,在从空间感知范围内并未获取到当前环境信息的情况下,确定目标虚拟对象的射线感知信息,并根据射线感知信息获取目标虚拟对象的当前环境信息。
需要说明的是,根据全局空间结构信息确定目标虚拟对象的空间感知范围,其中,空间感知范围为目标虚拟对象的可视范围;从空间感知范围内获取目标虚拟对象的当前环境信息;在从空间感知范围内并未获取到当前环境信息的情况下,确定目标虚拟对象的射线感知信息,并根据射线感知信息获取目标虚拟对象的当前环境信息。可选的,获取射线感知信息的过程可以但不限于包括以目标虚拟对象为中心,并取目标虚拟对象前向方向的预设角度为范围,发射N条射线,获取与射线相交的其他个体信息,其中,N为大于等于1的正整数。
进一步举例说明,可以但不限于利用图6所示的晶休结构,求解与以个体节点602为中心、视域距离为半径的圆相交的晶格,并获取晶格所包含的全部节点。可选的,保留和个体节点602连线距离小于视域距离,且和个体节点602连线向量与个体节点602前向向量夹角小于视角的节点,作为感知得到的节点信息。可选的,虚拟对象的视域距离分为长距离和短距离,如果短距离中收集到足够的视觉信息,则直接进入信息分析,否则按照长距离再获取一次信息,进而以此方案收集以及分析信息,可以提高信息的处理效率。
进一步举例说明,可选的通过射线感知信息获取当前环境信息可以但不限于描述为:以个体(目标虚拟对象)为中心,取个体前向方向的半圆角度为范围,按照一次或多次间隔采样,发射N条射线,获取与射线相交的其他个体信息,其中,N为大于等于1的正整数。可选的,间隔采样可以但不限于包括间隔预定时间采样、间隔预定距离(目标虚拟对象的行进距离)采样等,进而可以达到减少冗余信息的采样,从而实现了提高信息采样的效率的技术效果。
通过本申请提供的实施例,根据全局空间结构信息确定目标虚拟对象的空间感知范围,其中,空间感知范围为目标虚拟对象的可视范围;从空间感知范围内获取目标虚拟对象的当前环境信息;在从空间感知范围内并未获取到当前环境信息的情况下,确定目标虚拟对象的射线感知信息,并根据射线感知信息获取目标虚拟对象的当前环境信息,进而达到了通过多种方式获取目标虚拟对象的当前环境信息的技术目的,从而实现了提高的目标虚拟对象的当前环境信息获取的全面性的技术效果。
作为一种可选的方案,根据全局空间结构信息确定目标虚拟对象的空间感知范围包括:
S1,以目标虚拟对象所在位置为中心位置,以目标虚拟对象的视域距离为半径确定出候选感知范围;
S2,根据目标虚拟对象的可视视角,从候选感知范围中确定出目标虚拟对象的空间感知范围。
需要说明的是,以目标虚拟对象所在位置为中心位置,以目标虚拟对象的视域距离为半径确定出候选感知范围;根据目标虚拟对象的可视视角,从候选感知范围中确定出目标虚拟对象的空间感知范围。可选的,视域距离可以但不限于为以目标虚拟对象为中心,发射N条射线的射线距离;可视视角可以但不限于为以目标虚拟对象为中心,取目标虚拟对象前向方向的预设角度的范围。
进一步举例说明,可选的例如图8所示,晶格802的结构为将场景平面分割为多个等大小的晶格,且其中包括多个个体,具体包括感知主体804(目标虚拟对象),不被感知的忽略个体812,在感知范围806中的非忽略个体——保留个体808以及不再感知范围806中的非忽略个体——其他个体810,即在此场景下,可选的感知主体804(目标虚拟对象)的当前环境信息即为保留个体808的位置信息。其中,可选的,忽略个体可以但不限于为不被感知主体804(目标虚拟对象)感知的个体(虚拟对象),非忽略个体则可以但不限于为被感知主体804(目标虚拟对象)感知的个体(虚拟对象)。
通过本申请提供的实施例,以目标虚拟对象所在位置为中心位置,以目标虚拟对象的视域距离为半径确定出候选感知范围;根据目标虚拟对象的可视视角,从候选感知范围中确定出目标虚拟对象的空间感知范围,进而达到了在预设范围中确定出目标虚拟对象的空间感知范围的技术目的,从而实现了提高当前环境信息获取的效率的技术效果。
作为一种可选的方案,确定目标虚拟对象的射线感知信息包括:
S1,以目标虚拟对象所在位置为中心位置,以目标虚拟对象的前向方向的半圆角度为范围,按照一定间隔采样,得到多条射线;
S2,获取与多条射线相交的交点信息,作为射线感知信息。
需要说明的是,以目标虚拟对象所在位置为中心位置,以目标虚拟对象的前向方向的半圆角度为范围,按照一定间隔采样,得到多条射线;获取与多条射线相交的交点信息,作为射线感知信息。
进一步举例说明,可选的例如图9所示,包括由感知主体804发射的多条感知射线902,进而将与感知射线902相交的非忽略个体确定为保留个体808,即在此场景下,可选的感知主体804(目标虚拟对象)的当前环境信息即为保留个体808的位置信息。
通过本申请提供的实施例,以目标虚拟对象所在位置为中心位置,以目标虚拟对象的前向方向的半圆角度为范围,按照一定间隔采样,得到多条射线;获取与多条射线相交的交点信息,作为射线感知信息,进而达到了通过射线获取与多条射线相交的交点信息,作为射线感知信息的技术目的,从而实现了提高提高当前环境信息获取的精准性的技术效果。
作为一种可选的方案,控制目标虚拟对象执行目标行为包括:
S1,确定目标虚拟对象在执行目标行为的过程中的移动轨迹;
S2,获取在移动轨迹上的虚拟对象对目标虚拟对象产生的吸引力和排斥力;
S3,根据吸引力和排斥力确定目标虚拟对象的受力;
S4,控制目标对象按照受力执行目标行为。
需要说明的是,根据感知系统获取的其他个体的位置信息,首先进行碰撞避免计算,选择一个与其他个体相对不会碰撞的速度移动,因此需先确定目标虚拟对象在执行目标行为的过程中的移动轨迹,再获取在移动轨迹上的虚拟对象对目标虚拟对象产生的吸引力和排斥力,进而根据吸引力和排斥力确定目标虚拟对象的受力,并控制目标对象按照受力执行目标行为。可选的,吸引力和排斥力可以但不限于为用于避免虚拟对象之间发生碰撞的虚拟力场法中的虚拟力,其中,虚拟力场法可以但不限于为构造目标方位的引力场和障碍物周围的斥力场共同作用的虚拟人工立场,搜索势函数的下降方向来寻找无碰撞路径,使得虚拟对象沿着虚拟吸引力和排斥力的合力方向运动,以实现实时避障的效果。
可选的,再根据感知系统获取的其他个体包含位置信息的其他信息,如:队伍编号等,进行信息分析;信息分析的过程可依据场景需求(场景信息)和虚拟对象信息来进行处理,例如:选择距离目标虚拟对象最近的其他非本队伍个体作为移动目标等。
可选的,根据吸引力和排斥力确定目标虚拟对象的受力,并控制目标对象按照受力执行目标行为用于避免碰撞,而避免碰撞则可参考下述社会力的计算公式(1)所示:
进一步举例说明,可选的例如通过计算得知目标虚拟对象以当前移动速度在执行目标行为的过程中的移动轨迹,会与其他个体发生碰撞的情况下,根据吸引力和排斥力确定目标虚拟对象的受力,并控制目标对象按照受力执行目标行为。
通过本申请提供的实施例,先确定目标虚拟对象在执行目标行为的过程中的移动轨迹,再获取在移动轨迹上的虚拟对象对目标虚拟对象产生的吸引力和排斥力,进而根据吸引力和排斥力确定目标虚拟对象的受力,并控制目标对象按照受力执行目标行为,进而达到了避免虚拟对象之间发生碰撞的技术目的,从而实现了提高虚拟对象的可控性的技术效果。
作为一种可选的方案,获取在移动轨迹上的虚拟对象对目标虚拟对象产生的吸引力包括:
通过目标虚拟对象下一帧的移动速度、目标虚拟对象到达当前帧的移动速度、当前帧和下一帧的帧间时间间隔,计算获取目标虚拟对象所受的吸引力。
进一步举例说明,例如获取在移动轨迹上的虚拟对象对目标虚拟对象产生的吸引力包括公式(2):
其中,上述公式(2)中的F(t)为目标虚拟对象所受的吸引力,vnext为目标虚拟对象下一帧的移动速度,vcurr为目标虚拟对象到达当前帧的移动速度,Δt为帧间时间间隔。
作为一种可选的方案,获取在移动轨迹上的虚拟对象对目标虚拟对象产生的排斥力包括:
通过目标虚拟对象与移动轨迹上的第j个虚拟对象的距离和、目标虚拟对象与移动轨迹上的第j个虚拟对象之间的中心距离、目标虚拟对象与移动轨迹上的第j个虚拟对象的速度差、移动轨迹上的第j个虚拟对象指向目标虚拟对象的单位向量、与指向目标虚拟对象的单位向量正交的切向方向单位向量,计算获取目标虚拟对象与移动轨迹上的第j个虚拟对象之间的排斥力。
获取在移动轨迹上的虚拟对象对目标虚拟对象产生的排斥力包括公式(3)、公式(4):
其中,上述公式(3)、公式(4)中的Fj(t)为目标虚拟对象与移动轨迹上的第j个虚拟对象之间的排斥力,A、B、k为常数,rj为目标虚拟对象与移动轨迹上的第j个虚拟对象的距离和,dj为目标虚拟对象与移动轨迹上的第j个虚拟对象之间的中心距离,为目标虚拟对象与移动轨迹上的第j个虚拟对象的速度差;nj为移动轨迹上的第j个虚拟对象指向目标虚拟对象的单位向量,tj为与nj正交的切向方向单位向量。
作为一种可选的方案,在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之前,还包括:
S1,获取用于组建虚拟对象的个体模型的组件信息;
S2,利用组件信息组建虚拟对象,并复制得到多个虚拟对象来参与目标虚拟游戏。
可选的,组件信息可以单不限于包括组件的面片和材质信息,其中,组件包括头、手、脚、身体等组成虚拟对象的虚拟元素。
需要说明的是,获取用于组建虚拟对象的个体模型的组件信息;利用组件信息组建虚拟对象,并复制得到多个虚拟对象来参与目标虚拟游戏。
进一步举例说明,可选的例如图10所示,图10为目标虚拟游戏中用于创建虚拟对象模型的虚拟场景,具体的,用户通过交互界面1002选择角色类型1004和队伍编号1006,输入队伍人数1008和队列列数1010,并设置队伍在场景中的位置和朝向。点击按钮1012(“Fight”)进行模型导入和场景设置。
可选的,场景导入用户通过交互界面1002所选择的角色类型1004(一个或多个)对应的个体模型,若存在多个个体模型,则进行模型合并,可选的。个体模型合并的步骤为:
(a)读取个体模型所有组件的面片和材质信息,组件包括头、手、脚、身体等;
(b)创建一个新的面片和材质存储空间;
(c)将各个组件的面片和材质信息依次存储到新的面片和材质存储空间中,包括将面片对应的骨骼序号贴图纹理坐标按顺序存储在一起、材质对应的贴图拼接成同一张贴图。
将合并完成的个体模型,按照用户设置,复制与队伍人数相当的个体模型,按照队伍列数均匀排列,并移动且旋转到对应的位置。
通过本申请提供的实施例,获取用于组建虚拟对象的个体模型的组件信息;利用组件信息组建虚拟对象,并复制得到多个虚拟对象来参与目标虚拟游戏,进而达到了灵活创建虚拟对象模型的技术目的,从而实现了提高虚拟对象模型的创建灵活性的技术效果。
作为一种可选的方案,控制目标虚拟对象执行目标行为包括:
S1,获取与目标行为匹配的行为逻辑;
S2,根据行为逻辑生成行为树结构中的节点;
S3,控制目标虚拟对象按照行为树结构执行目标行为。
需要说明的是,获取与目标行为匹配的行为逻辑;根据行为逻辑生成行为树结构中的节点;控制目标虚拟对象按照行为树结构执行目标行为。
进一步举例说明,可选的例如依据信息分析结果(场景信息和/或行为控制指令),将内容输入到行为树中进行行为决策,进而针对决策结果做出动画响应。的行为决策和动画响应利用行为树结构和有限状态机混合控制,其具体机制为:根据角色(目标虚拟对象)的行为需求(行为逻辑),设置行为树中的逻辑节点(顺序、选择、并行等逻辑)、修饰节点(或、与、非等结果修饰)和叶节点。叶节点根据设置的行为需要修改影响有限状态机的参数,有限状态机根据参数改变角色所处的行为状态(控制目标虚拟对象按照行为树结构执行目标行为)。
进一步举例说明,例如图11所示,可选的行为树结构为:每次从头开始遍历条件“受到攻击(Get Hit)”“锁定目标(Have Target)”“待机(Idle)”“漫游(Wander)”,一旦其中一个条件满足,则进入该状态;若进入“受到攻击(Get Hit)”状态,则个体(目标虚拟对象)生命值减少,并通知有限状态机播放“Hurt”动画,若个体生命值小于0,则通知有限状态机播放“Die”动画;若进入“锁定目标(Have Target)”状态,根据虚拟对象设置的逃跑概率选择是否逃跑,是则超目标反方向移动,否则判断目标是否在攻击范围。若目标在攻击范围,则通知有限状态机播放“Attack”动画,否则朝目标方向移动;若进入“待机(Idle)”状态,则判断待机时间是否超过限制,是则直接进入“漫游(Wander)”状态,随机选定一个目标点移动,否则播放“Idle”动画。
通过本申请提供的实施例,获取与目标行为匹配的行为逻辑;根据行为逻辑生成行为树结构中的节点;控制目标虚拟对象按照行为树结构执行目标行为,进而达到了使得与目标行为匹配的行为逻辑更加清晰的技术目的,从而实现了提高控制目标虚拟对象按照行为树结构执行目标行为的效率的技术效果。
作为一种可选的方案,控制目标虚拟对象执行目标行为包括:
S1,获取目标虚拟对象执行目标行为的行为状态;
S2,播放与行为状态匹配的动画。
需要说明的是,获取目标虚拟对象执行目标行为的行为状态,播放与行为状态匹配的动画。
进一步举例说明,可选的例如图12所示的行为树,其中“攻击(Attack)”、“受伤(Hurt)”、“死亡(Die)”主要根据行为树的决策通知来进行动画播放;“闲置(Idle)”、“行走(Walk)”、“奔跑(Run)”根据个体移动速度大小进行转换;“跳跃(Jump)”根据个体在场景中是否碰到低障碍物有选择地播放动画;“转向(Turn)”主要根据用户指令,在个体还处于群组成员状态下,根据“向左/右转”指令进行动画播放。通过本申请提供的实施例,获取目标虚拟对象执行目标行为的行为状态,播放与行为状态匹配的动画,进而达到了动画与行为状态实时匹配的技术目的,从而实现了提高动画播放的实时性的技术效果。
作为一种可选的方案,可选的以层级式结构排布(全局层(Global)–队伍层(Team)–队组层(Group)-个体层(NPC))的方式,实现上述虚拟对象的行为控制方法,例如图13所示,具体情况下如下:
(a)Global 1308,用于控制全局信息,包括通过全局空间结构存储单个个体的位置信息、场景整体的状态信息,如:战斗场景里的胜负判断;
(b)Team 1306,用于存储每只队伍的信息,包括队伍剩余人数,统计成员完成任务次数等。同时,每个Team 1306监控本队伍在场景中的状态,一旦本队伍在场景中状态结束,则将信息传递给Global 1308;
(c)Group 1304,一个Group 1304代表一种角色类型的小队,Group 1304用于控制队伍内的NPC 1302进行集体行动,一个Team 1306里面可以但不限于有多个Group 1304,通过C#中的委托和事件机制向队伍内的NPC 1302传递统一命令;
(d)NPC 1302包含两部分状态:群组成员状态13022和智能体状态(个体状态)13024,其中,群组成员状态13022用于接收并响应Group Group 1304传递的统一命令;智能体状态13024用于独立感知周围信息以及自主决策。
进一步举例说明,可选的例如基于图13所示的层级式结构,用户下达“解散”指令,指令传达至Group 1304,基于委托和事件机制,从Group 1304将指令下达到每一个NPC1302上,NPC 1302响应指令,从群组成员状态13022转化为智能体状态13024;
进一步举例说明,基于图13所示,并可选的结合图14举例说明,个体状态(图13中的智能体状态13024)下的NPC 1302,各个过程之间的转换和信息传递的步骤如以下所示:
S1,感知系统1404获取信息1402,其中信息1402可以但不限于包括环境信息、虚拟对象的状态信息等,感知系统1404根据信息1402做出行为决策1406,其中,行为决策1406可以但不限于影响信息1402;
S2,行为决策1406可以但不限于根据规则1408做出属性1410上的改变,其中,属性1410可以但不限于包括移动速度、攻击目标、移动目标、移动方向等;
S3,根据行为决策1406做出行为响应1412,其中,做出可以但不限于包括虚拟对象执行目标行为、以及播放与目标行为对应的动画。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述虚拟对象的行为控制方法的虚拟对象的行为控制装置。如图15所示,该装置包括:
第一获取单元1502,用于获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;
第一控制单元1504,用于在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为;
第二控制单元1506,用于在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为。
可选的,在本实施例中,虚拟对象的行为控制装置可以但不限于应用在在游戏人工智能领域,具体的,可以但不限于应用在多方竞争类型的游戏场景下。目标虚拟游戏可以但不限于包括可控制多个虚拟对象进行竞争或战斗的游戏类型。虚拟场景可以但不限于包括游戏开始后的场景,如战斗场景、竞赛场景、剧情场景等,也可以但不限于包括游戏开始前的场景,如设置场景、交互场景等,也可以但不限于包括游戏结束后的场景,如结算场景等。行为控制指令可以但不限于控制虚拟场景下的目标虚拟对象执行目标行为,例如在游戏开始后的场景下,控制虚拟对象执行游戏中的操作等、在游戏开始前的场景下,预设虚拟对象在预设条件下执行游戏中的操作等。群组成员可以但不限于包括多个同虚拟类型或不同虚拟类型的虚拟对象成员。当前环境信息可以但不限于包括以虚拟对象为中心,预设范围内的虚拟游戏场景的相关信息,如其他虚拟对象的位置信息、虚拟场景的地形信息等。
需要说明的是,获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为。
需要说明的是,获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为。可选的,控制目标虚拟对象执行目标行为可以但不限于不根据行为控制指令,例如在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行与当前环境信息相匹配的行为条件;可选的,控制目标虚拟对象执行目标行为可以但不限于根据行为控制指令,例如在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,根据行为控制指令控制目标虚拟对象执行目标行为,和/或根据当前环境信息执行目标行为。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
通过本申请提供的实施例,获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为;在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为,通过判断目标虚拟对象处于群组成员状态或个体状态的两种情况,控制全部虚拟对象或单个根据行为控制指令执行目标行为,进而达到了增加虚拟对象控制方式的多样性的技术目的,从而实现了提高虚拟对象的行为控制的灵活性的技术效果。
作为一种可选的方案,还包括:
第二获取单元,用于在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之后,获取虚拟场景的全局信息,其中,全局信息中包括虚拟场景的全局空间结构信息、虚拟场景中各个虚拟群组的群组信息及虚拟场景中各个虚拟对象的对象信息;
第三获取单元,用于在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之后,在收到用于解散目标虚拟群组的解散指令的情况下,确定将目标虚拟对象从群组成员状态切换为个体状态,并根据全局信息获取目标虚拟对象在虚拟场景中的当前环境信息;
第四获取单元,用于在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之后,在收到用于将多个虚拟对象聚合为一个虚拟群组的集合指令,且多个虚拟对象中包括目标虚拟对象的情况下,确定将目标虚拟对象从个体状态切换为群组成员状态,并根据全局信息获取目标虚拟群组的群组信息。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第二控制单元1506包括:
第一确定模块,用于根据全局空间结构信息确定目标虚拟对象的空间感知范围,其中,空间感知范围为目标虚拟对象的可视范围;
第一获取模块,用于从空间感知范围内获取目标虚拟对象的当前环境信息;
第二获取模块,用于在从空间感知范围内并未获取到当前环境信息的情况下,确定目标虚拟对象的射线感知信息,并根据射线感知信息获取目标虚拟对象的当前环境信息。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,确定模块包括:
第一确定子模块,用于以目标虚拟对象所在位置为中心位置,以目标虚拟对象的视域距离为半径确定出候选感知范围;
第二确定子模块,用于根据目标虚拟对象的可视视角,从候选感知范围中确定出目标虚拟对象的空间感知范围。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第二获取模块包括:
采样子模块,用于以目标虚拟对象所在位置为中心位置,以目标虚拟对象的前向方向的半圆角度为范围,按照一定间隔采样,得到多条射线;
获取子模块,用于获取与多条射线相交的交点信息,作为射线感知信息。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第二控制单元1506包括:
第二确定模块,用于确定目标虚拟对象在执行目标行为的过程中的移动轨迹;
第三获取模块,用于获取在移动轨迹上的虚拟对象对目标虚拟对象产生的吸引力和排斥力;
第三确定模块,用于根据吸引力和排斥力确定目标虚拟对象的受力;
控制模块,用于控制目标对象按照受力执行目标行为。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第三获取模块包括:
第一计算子单元,用于通过目标虚拟对象下一帧的移动速度、目标虚拟对象到达当前帧的移动速度、当前帧和下一帧的帧间时间间隔,计算获取目标虚拟对象所受的吸引力。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第三获取模块包括:
第二计算子单元,用于通过目标虚拟对象与移动轨迹上的第j个虚拟对象的距离和、目标虚拟对象与移动轨迹上的第j个虚拟对象之间的中心距离、目标虚拟对象与移动轨迹上的第j个虚拟对象的速度差、移动轨迹上的第j个虚拟对象指向目标虚拟对象的单位向量、与指向目标虚拟对象的单位向量正交的切向方向单位向量,计算获取目标虚拟对象与移动轨迹上的第j个虚拟对象之间的排斥力。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,还包括:
第五获取单元,用于在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之前,获取用于组建虚拟对象的个体模型的组件信息;
复制单元,用于在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之前,利用组件信息组建虚拟对象,并复制得到多个虚拟对象来参与目标虚拟游戏。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第二控制单元1506包括:
第六获取单元,用于获取与目标行为匹配的行为逻辑;
生成单元,用于根据行为逻辑生成行为树结构中的节点;
第三控制单元,用于控制目标虚拟对象按照行为树结构执行目标行为。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第二控制单元1506包括:
第四获取模块,用于获取目标虚拟对象执行目标行为的行为状态;
播放模块,用于播放与行为状态匹配的动画。
具体实施例可以参考上述虚拟对象的行为控制方法中所示示例,本示例中在此不再赘述。
根据本发明实施例的又一个方面,还提供了一种用于实施上述虚拟对象的行为控制方法的电子装置,如图16所示,该电子装置包括存储器1602和处理器1604,该存储器1602中存储有计算机程序,该处理器1604被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;
S2,在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为;
S3,在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为。
可选地,本领域普通技术人员可以理解,图16所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图16其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图16中所示更多或者更少的组件(如网络接口等),或者具有与图16所示不同的配置。
其中,存储器1602可用于存储软件程序以及模块,如本发明实施例中的虚拟对象的行为控制方法和装置对应的程序指令/模块,处理器1604通过运行存储在存储器1602内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟对象的行为控制方法。存储器1602可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1602可进一步包括相对于处理器1604远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1602具体可以但不限于用于存储行为控制指令、目标行为、群组成员状态、个体状态、当前环境信息以及行为条件等信息。作为一种示例,如图16所示,上述存储器1602中可以但不限于包括上述虚拟对象的行为控制装置中的第一获取单元1502、第一控制单元1504及第二控制单元1506。此外,还可以包括但不限于上述虚拟对象的行为控制装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1606用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1606包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1606为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1608,用于显示上述控制指令、目标行为、群组成员状态、个体状态、当前环境信息以及行为条件等信息;和连接总线1610,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;
S2,在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为;
S3,在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种虚拟对象的行为控制方法,其特征在于,包括:
获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;
在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为;
在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为;
其中,在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之后,所述方法还包括:获取虚拟场景的全局信息,其中,全局信息中包括虚拟场景的全局空间结构信息;
所述确定目标虚拟对象在虚拟场景中的当前环境信息包括:根据全局空间结构信息确定目标虚拟对象的空间感知范围,其中,空间感知范围为目标虚拟对象的可视范围;从空间感知范围内获取目标虚拟对象的当前环境信息;在从空间感知范围内并未获取到当前环境信息的情况下,确定目标虚拟对象的射线感知信息,并根据射线感知信息获取目标虚拟对象的当前环境信息;
其中,确定目标虚拟对象的射线感知信息包括:以目标虚拟对象为中心,并取目标虚拟对象前向方向的预设角度为范围,发射N条射线,获取与射线相交的其他个体信息,其中,N为大于等于1的正整数。
2.根据权利要求1的方法,其特征在于,全局信息中还包括虚拟场景中各个虚拟群组的群组信息;在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之后,所述方法还包括:
在收到用于解散目标虚拟群组的解散指令的情况下,确定将目标虚拟对象从群组成员状态切换为个体状态,并根据全局信息获取目标虚拟对象在虚拟场景中的当前环境信息;
在收到用于将多个虚拟对象聚合为一个虚拟群组的集合指令,且多个虚拟对象中包括目标虚拟对象的情况下,确定将目标虚拟对象从个体状态切换为群组成员状态,并根据全局信息获取目标虚拟群组的群组信息。
3.根据权利要求1的方法,其特征在于,所述全局空间结构信息是指晶格结构,每个晶格代表场景平面中的一块坐标范围,并对每个晶格维护一个双向链表。
4.根据权利要求1的方法,其特征在于,所述根据全局空间结构信息确定目标虚拟对象的空间感知范围包括:
以目标虚拟对象所在位置为中心位置,以目标虚拟对象的视域距离为半径确定出候选感知范围;
根据目标虚拟对象的可视视角,从候选感知范围中确定出目标虚拟对象的空间感知范围。
5.根据权利要求1的方法,其特征在于,所述确定目标虚拟对象的射线感知信息包括:
以目标虚拟对象所在位置为中心位置,以目标虚拟对象的前向方向的半圆角度为范围,按照一定间隔采样,得到多条射线;
获取与多条射线相交的交点信息,作为射线感知信息。
6.根据权利要求1的方法,其特征在于,所述控制目标虚拟对象执行目标行为包括:
确定目标虚拟对象在执行目标行为的过程中的移动轨迹;
获取在移动轨迹上的虚拟对象对目标虚拟对象产生的吸引力和排斥力;
根据吸引力和排斥力确定目标虚拟对象的受力;
控制目标对象按照受力执行目标行为。
7.根据权利要求6的方法,其特征在于,所述获取在移动轨迹上的虚拟对象对目标虚拟对象产生的吸引力包括:
通过所述目标虚拟对象下一帧的移动速度、所述目标虚拟对象到达当前帧的移动速度、所述当前帧和所述下一帧的帧间时间间隔,计算所述目标虚拟对象所受的所述吸引力。
8.根据权利要求6的方法,其特征在于,所述获取在移动轨迹上的虚拟对象对目标虚拟对象产生的排斥力包括:
通过所述目标虚拟对象与移动轨迹上的第j个虚拟对象的距离和、所述目标虚拟对象与所述第j个虚拟对象之间的中心距离、所述目标虚拟对象与所述第j个虚拟对象的速度差、所述第j个虚拟对象指向所述目标虚拟对象的单位向量、与所述单位向量正交的切向方向单位向量,计算所述目标虚拟对象与所述第j个虚拟对象之间的所述排斥力。
9.根据权利要求1的方法,其特征在于,在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之前,所述方法还包括:
获取用于组建虚拟对象的个体模型的组件信息;
利用组件信息组建虚拟对象,并复制得到多个虚拟对象来参与目标虚拟游戏。
10.根据权利要求1的方法,其特征在于,所述控制目标虚拟对象执行目标行为包括:
获取与目标行为匹配的行为逻辑;
根据行为逻辑生成行为树结构中的节点;
控制目标虚拟对象按照行为树结构执行目标行为。
11.根据权利要求1的方法,其特征在于,所述控制目标虚拟对象执行目标行为包括:
获取目标虚拟对象执行目标行为的行为状态;
播放与行为状态匹配的动画。
12.一种虚拟对象的行为控制装置,其特征在于,包括:
第一获取单元,用于获取在目标虚拟游戏的虚拟场景中触发的行为控制指令,其中,行为控制指令用于控制虚拟场景下的目标虚拟对象执行目标行为;
第一控制单元,用于在目标虚拟对象处于群组成员状态的情况下,确定目标虚拟对象所在的目标虚拟群组,及目标虚拟群组中处于群组成员状态的其他成员虚拟对象,并控制目标虚拟对象及其他成员虚拟对象根据行为控制指令执行目标行为;
第二控制单元,用于在目标虚拟对象处于个体状态的情况下,确定目标虚拟对象在虚拟场景中的当前环境信息,并在当前环境信息达到与目标虚拟对象匹配的行为条件的情况下,控制目标虚拟对象执行目标行为;
所述装置还包括:
第二获取单元,用于在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之后,获取虚拟场景的全局信息,其中,全局信息中包括虚拟场景的全局空间结构信息;
所述第二控制单元用于,根据全局空间结构信息确定目标虚拟对象的空间感知范围,其中,空间感知范围为目标虚拟对象的可视范围;从空间感知范围内获取目标虚拟对象的当前环境信息;在从空间感知范围内并未获取到当前环境信息的情况下,确定目标虚拟对象的射线感知信息,并根据射线感知信息获取目标虚拟对象的当前环境信息,其中,确定目标虚拟对象的射线感知信息包括:以目标虚拟对象为中心,并取目标虚拟对象前向方向的预设角度为范围,发射N条射线,获取与射线相交的其他个体信息,其中,N为大于等于1的正整数。
13.根据权利要求12的装置,其特征在于,全局信息中还包括虚拟场景中各个虚拟群组的群组信息;所述装置还包括:
第三获取单元,用于在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之后,在收到用于解散目标虚拟群组的解散指令的情况下,确定将目标虚拟对象从群组成员状态切换为个体状态,并根据全局信息获取目标虚拟对象在虚拟场景中的当前环境信息;
第四获取单元,用于在获取在目标虚拟游戏的虚拟场景中触发的行为控制指令之后,在收到用于将多个虚拟对象聚合为一个虚拟群组的集合指令,且多个虚拟对象中包括目标虚拟对象的情况下,确定将目标虚拟对象从个体状态切换为群组成员状态,并根据全局信息获取目标虚拟群组的群组信息。
14.一种计算机可读的存储介质,计算机可读的存储介质包括存储的程序,其中,程序运行时执行权利要求1至11任一项中的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行权利要求1至11任一项中的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010345540.9A CN111544889B (zh) | 2020-04-27 | 2020-04-27 | 虚拟对象的行为控制方法和装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010345540.9A CN111544889B (zh) | 2020-04-27 | 2020-04-27 | 虚拟对象的行为控制方法和装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111544889A CN111544889A (zh) | 2020-08-18 |
CN111544889B true CN111544889B (zh) | 2021-06-25 |
Family
ID=71998214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010345540.9A Active CN111544889B (zh) | 2020-04-27 | 2020-04-27 | 虚拟对象的行为控制方法和装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111544889B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112704878B (zh) * | 2020-12-31 | 2023-04-18 | 深圳市乙亥互娱信息科技有限公司 | 集群游戏中的单位位置调整方法、系统、设备及存储介质 |
CN112717410B (zh) * | 2021-01-21 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 虚拟对象控制方法、装置、计算机设备及存储介质 |
CN113470151B (zh) * | 2021-04-06 | 2024-03-22 | 成都完美时空网络技术有限公司 | 一种动画状态机的实现方法和装置 |
CN113393726A (zh) * | 2021-06-16 | 2021-09-14 | 中国人民解放军海军工程大学 | 工业装配训练方法、装置、电子设备及可读存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002166048A (ja) * | 2000-11-30 | 2002-06-11 | Konami Computer Entertainment Yokyo Inc | ゲーム装置、ゲーム提供方法及び情報記憶媒体 |
JP4064291B2 (ja) * | 2003-04-25 | 2008-03-19 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及びゲーム装置 |
CN105056528B (zh) * | 2015-07-23 | 2019-04-26 | 珠海金山网络游戏科技有限公司 | 一种虚拟角色的移动方法及装置 |
CN105561578A (zh) * | 2015-12-11 | 2016-05-11 | 北京像素软件科技股份有限公司 | 一种非玩家控制角色npc的行为决策方法 |
US10413829B2 (en) * | 2016-02-09 | 2019-09-17 | Disney Enterprises, Inc. | System and method of implementing behavior trees when modifying attribute values of game entities based on physical token detection |
CN109960545B (zh) * | 2019-03-29 | 2022-09-13 | 网易(杭州)网络有限公司 | 虚拟对象控制方法、系统、装置、介质及电子设备 |
CN110084354A (zh) * | 2019-04-09 | 2019-08-02 | 浙江工业大学 | 一种基于遗传算法训练神经网络控制游戏角色行为的方法 |
CN109925720B (zh) * | 2019-04-12 | 2022-11-22 | 网易(杭州)网络有限公司 | 信息处理方法和装置 |
CN110694266B (zh) * | 2019-10-23 | 2023-07-18 | 网易(杭州)网络有限公司 | 一种游戏状态的同步方法、展示方法及装置 |
CN111054075B (zh) * | 2019-12-24 | 2023-06-30 | 北京像素软件科技股份有限公司 | 虚拟对象的控制方法、装置及电子设备 |
-
2020
- 2020-04-27 CN CN202010345540.9A patent/CN111544889B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111544889A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111544889B (zh) | 虚拟对象的行为控制方法和装置及存储介质 | |
WO2021244322A1 (zh) | 瞄准虚拟对象的方法、装置、设备及存储介质 | |
CN108463273B (zh) | 基于游戏者的移动历史来进行非游戏者角色的路径寻找的游戏系统 | |
US20140078144A1 (en) | Systems and methods for avatar creation | |
JP7199517B2 (ja) | 情報予測方法、モデルトレーニング方法、サーバー及びコンピュータプログラム | |
JP7325664B2 (ja) | 仮想オブジェクトの制御方法及び装置、端末、並びに、コンピュータプログラム | |
CN111672116B (zh) | 控制虚拟对象释放技能的方法、装置、终端及存储介质 | |
US12020360B2 (en) | Method and apparatus for displaying virtual character, device, and storage medium | |
WO2022156616A1 (zh) | 虚拟对象的控制方法、装置、终端、存储介质及程序产品 | |
US20160114243A1 (en) | Image processing program, server device, image processing system, and image processing method | |
US20240269556A1 (en) | Method for interaction in game, device, and non-transitory computer-readable storage medium | |
CN108421255A (zh) | 场景图像的展示方法和装置、存储介质、电子装置 | |
US20230065576A1 (en) | Battle settlement interface display method, apparatus, device, and storage medium | |
Kasapakis et al. | Pervasive games research: a design aspects-based state of the art report | |
CN111968204B (zh) | 一种骨骼模型的运动展示方法和装置 | |
WO2023024762A1 (zh) | 人工智能对象控制方法、装置、设备及存储介质 | |
CN111589115A (zh) | 虚拟对象的视野控制方法、装置、存储介质及计算机设备 | |
KR101872000B1 (ko) | 가상현실공간 내의 상호작용 반영 방법 | |
CN111389007B (zh) | 一种游戏控制方法、装置、计算设备及存储介质 | |
Reis et al. | Coordination in multi-robot systems: Applications in robotic soccer | |
CN116531758A (zh) | 虚拟角色的控制方法、装置、存储介质以及电子装置 | |
CN113018861B (zh) | 虚拟角色显示方法、装置、计算机设备和存储介质 | |
Vitek et al. | Intelligent agents in games: Review with an open-source tool | |
CN107050848B (zh) | 基于体域网的体感游戏实现方法以及装置 | |
Schatten et al. | Towards Agent-Based Simulation of Emerging and Large-Scale Social Networks: Examples of the Migrant Crisis and MMORPGs |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40027420 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |