CN111921200B - 虚拟对象的控制方法、装置、电子设备及存储介质 - Google Patents
虚拟对象的控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111921200B CN111921200B CN202010871359.1A CN202010871359A CN111921200B CN 111921200 B CN111921200 B CN 111921200B CN 202010871359 A CN202010871359 A CN 202010871359A CN 111921200 B CN111921200 B CN 111921200B
- Authority
- CN
- China
- Prior art keywords
- virtual object
- virtual
- subarea
- determining
- shaped
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 230000003993 interaction Effects 0.000 claims abstract description 98
- 230000008447 perception Effects 0.000 claims abstract description 79
- 238000011156 evaluation Methods 0.000 claims description 57
- 230000004044 response Effects 0.000 claims description 39
- 230000003068 static effect Effects 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 19
- 230000006399 behavior Effects 0.000 description 42
- 238000013473 artificial intelligence Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 22
- 230000007935 neutral effect Effects 0.000 description 19
- 238000011835 investigation Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 230000001960 triggered effect Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 208000015041 syndromic microphthalmia 10 Diseases 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000007711 solidification Methods 0.000 description 1
- 230000008023 solidification Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟对象的控制方法、装置、电子设备及存储介质,属于计算机领域。本申请通过实时根据第一虚拟对象的朝向来确定感知区域,能够使得第一虚拟对象模拟出真实环境的人类感知方式,如果有第二虚拟对象进入感知区域,基于警戒参数来控制第一虚拟对象的互动行为,能够基于虚拟场景中实时、动态的战斗环境,来控制第一虚拟对象给出相应的反馈,为第一虚拟对象提供了一种非固化的行为逻辑,提升了第一虚拟对象的互动性、趣味性,从而提升了人机交互效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种虚拟对象的控制方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展以及终端功能的多样化,出现了越来越多的网络游戏,在网络游戏中涉及到一类不受玩家操控的虚拟对象,俗称为NPC(Non-Player Character,非玩家角色),NPC的行为表现称为网络游戏的AI(Artificial Intelligence,人工智能)模式。
目前主流的网络游戏均采用基于行为序列的AI模式,在这种AI模式下,NPC的行为表现是按照以一定条件来罗列的行为序列进行行动的,这类行动很少会被外界环境的变化影响,NPC不会因为外界环境的变化而打乱自身的行动顺序。比如,用户操纵一个被控虚拟对象进入NPC的战斗区域之后,即使立刻退出战斗区域,但由于在进入时刻已经触发NPC进入战斗模式,因此NPC仍然会向被控虚拟对象释放技能。因此,传统网络游戏中NPC的行为固化、互动性差、趣味性低、人机交互效率低。
发明内容
本申请实施例提供了一种虚拟对象的控制方法、装置、电子设备及存储介质,能够避免NPC行为固化、提升NPC的互动性和趣味性、提升人机交互效率。该技术方案如下:
一方面,提供了一种虚拟对象的控制方法,该方法包括:
基于虚拟场景中第一虚拟对象的朝向,确定所述第一虚拟对象的感知区域;
响应于第二虚拟对象位于所述感知区域内,确定所述第一虚拟对象对所述第二虚拟对象的警戒参数;
响应于所述警戒参数符合互动条件,在所述虚拟场景中控制所述第一虚拟对象与所述第二虚拟对象进行互动。
一方面,提供了一种虚拟对象的控制装置,该装置包括:
第一确定模块,用于基于虚拟场景中第一虚拟对象的朝向,确定所述第一虚拟对象的感知区域;
第二确定模块,用于响应于第二虚拟对象位于所述感知区域内,确定所述第一虚拟对象对所述第二虚拟对象的警戒参数;
控制互动模块,用于响应于所述警戒参数符合互动条件,在所述虚拟场景中控制所述第一虚拟对象与所述第二虚拟对象进行互动。
在一种可能实施方式中,所述第一确定模块用于:
基于所述第一虚拟对象的位置,确定以所述位置为圆心的圆形子区域;
基于所述第一虚拟对象的朝向,确定与所述朝向相匹配的至少一个扇形子区域;
将所述圆形子区域和所述至少一个扇形子区域获取为所述感知区域。
在一种可能实施方式中,所述装置还包括:
第三确定模块,用于若所述第二虚拟对象为可发声对象,基于所述第二虚拟对象的发声位置符合感知条件,确定所述第二虚拟对象位于所述感知区域内。
在一种可能实施方式中,所述感知条件为所述发声位置与所述第一虚拟对象的位置之间的距离小于感知阈值。
在一种可能实施方式中,所述第二确定模块包括:
确定单元,用于基于所述第一虚拟对象和所述第二虚拟对象之间的距离以及所述第二虚拟对象在所述感知区域内的停留时长,确定所述警戒参数。
在一种可能实施方式中,所述感知区域包括多个对应于不同感知等级的子区域;
所述确定单元用于:
基于所述第二虚拟对象所在子区域的感知等级,确定基础警戒速度;
基于所述第一虚拟对象和所述第二虚拟对象之间的距离,确定警戒速度增幅;
获取所述基础警戒速度与所述警戒速度增幅相加所得的第一数值,将所述第一数值与所述停留时长相乘所得的第二数值确定为所述警戒参数。
在一种可能实施方式中,所述控制互动模块用于:
响应于所述警戒参数位于目标区间,控制所述第一虚拟对象对所述第二虚拟对象进行攻击。
在一种可能实施方式中,所述控制互动模块还用于:
响应于所述警戒参数符合巡逻条件,控制所述第一虚拟对象在巡逻范围内搜寻所述第二虚拟对象。
在一种可能实施方式中,所述控制互动模块还用于:
响应于所述警戒参数符合调查条件,控制所述第一虚拟对象在所述感知区域内调查所述第二虚拟对象;
响应于调查到所述第二虚拟对象,确定符合所述互动条件;
响应于调查不到所述第二虚拟对象,确定不符合所述互动条件。
在一种可能实施方式中,响应于所述第一虚拟对象遭受攻击,执行所述控制互动模块。
在一种可能实施方式中,所述控制互动模块用于:
获取所述虚拟场景中至少一个位置点的静态评估分数;
根据所述虚拟场景的战斗信息,确定所述至少一个位置点的动态评估分数;
基于所述静态评估分数和所述动态评估分数,确定所述第一虚拟对象的下一个走位点。
在一种可能实施方式中,所述控制互动模块用于:
若存在多个第二虚拟对象对应的警戒参数符合所述互动条件,控制所述第一虚拟对象与警戒参数最高的第二虚拟对象进行互动。
一方面,提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现如上述任一种可能实现方式的虚拟对象的控制方法。
一方面,提供了一种存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现如上述任一种可能实现方式的虚拟对象的控制方法。
一方面,提供一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括一条或多条程序代码,所述一条或多条程序代码存储在计算机可读存储介质中。电子设备的一个或多个处理器能够从计算机可读存储介质中读取所述一条或多条程序代码,所述一个或多个处理器执行所述一条或多条程序代码,使得电子设备能够执行上述任一种可能实施方式的虚拟对象的控制方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过实时根据第一虚拟对象的朝向来确定感知区域,能够使得第一虚拟对象模拟出真实环境的人类感知方式,如果有第二虚拟对象进入感知区域,基于警戒参数来控制第一虚拟对象的互动行为,能够基于虚拟场景中实时、动态的战斗环境,来控制第一虚拟对象给出相应的反馈,为第一虚拟对象提供了一种非固化的行为逻辑,提升了第一虚拟对象的互动性、趣味性,从而提升了人机交互效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图。
图1是本申请实施例提供的一种虚拟对象的控制方法的实施环境示意图;
图2是本申请实施例提供的一种虚拟对象的控制方法的流程图;
图3是本申请实施例提供的一种第一虚拟对象的AI模式的原理性架构图;
图4是本申请实施例提供的一种虚拟对象的控制方法的流程图;
图5是本申请实施例提供的一种感知区域的示意图;
图6是本申请实施例提供的一种警戒值系统的示意图;
图7是本申请实施例提供的一种配置静态评估分数示意图;
图8是本申请实施例提供的一种第一虚拟对象的互动行为示意图;
图9是本申请实施例提供的一种第一虚拟对象的状态转换系统的原理性示意图;
图10是本申请实施例提供的一种虚拟对象的控制方法的原理性示意图;
图11是本申请实施例提供的一种虚拟对象的控制装置的结构示意图;
图12是本申请实施例提供的一种终端的结构示意图;
图13是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。
在介绍本申请实施例之前,首先对本实施例所涉及的术语进行介绍。
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。可选地,该虚拟场景还可以用于至少两个虚拟对象之间的虚拟场景对战,在该虚拟场景中具有可供至少两个虚拟对象使用的虚拟资源。可选地,该虚拟场景中可以包括对称的两个区域,属于两个敌对阵营的虚拟对象分别占据其中一个区域,并以摧毁对方区域深处的目标建筑/据点/基地/水晶来作为胜利目标,其中,对称的区域比如左下角区域和右上角区域,又比如左侧中部区域和右侧中部区域等。
虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。在虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。可选地,当虚拟场景为三维虚拟场景时,可选地,虚拟对象可以是一个三维立体模型,该三维立体模型可以是基于三维人体骨骼技术构建的三维角色,同一个虚拟对象可以通过穿戴不同的皮肤来展示出不同的外在形象。在一些实施例中,虚拟对象也可以采用2.5维或2维模型来实现,本申请实施例对此不加以限定。
可选地,该虚拟对象可以是通过客户端上的操作进行控制的玩家角色,还可以是设置在虚拟场景互动中的非玩家角色(Non-Player Character,NPC)。可选地,该虚拟对象可以是在虚拟场景中进行竞技的虚拟人物。可选地,该虚拟场景中参与互动的虚拟对象的数量可以是预先设置的,也可以是根据加入互动的客户端的数量动态确定的。
第一虚拟对象:指非用户控制的虚拟对象(也即NPC对象),在形式上可以包括虚拟生物、虚拟物品、虚拟幽灵等各类形式。第一虚拟对象可以隶属于某个参与对抗的用户阵营,也可以不隶属于参与对抗的任何用户阵营(也即中立虚拟对象)。
在一个示例中,中立虚拟对象可以与参与对抗的任一用户阵营的虚拟对象之间进行对抗行为,换言之,中立虚拟对象可以攻击参与对抗的任一用户阵营的虚拟对象,也可以被参与对抗的任一用户阵营的虚拟对象攻击。中立虚拟对象通常作为一种可夺取的竞技资源,并为夺取方提供增益效果,比如,中立虚拟对象可以由参与对抗的各个用户阵营以对抗的方式进行争夺,率先击败(或击杀)中立虚拟对象的用户所在的阵营可以获取该中立虚拟对象所提供的增益效果。
第二虚拟对象:指虚拟环境中与第一虚拟对象属于不同阵营的任一虚拟对象,包括敌对阵营中玩家控制的虚拟对象、敌对阵营中不受玩家控制的NPC对象以及不隶属于任何阵营的中立虚拟对象等。在一个示例中,若第一虚拟对象为红方阵营的NPC对象,那么第二虚拟对象包括蓝方阵营中玩家控制的虚拟对象、蓝方阵营中的NPC对象或者中立虚拟对象。
AI(Artificial Intelligence,人工智能)模式:在本申请实施例中特指网络游戏中NPC对象的行为表现,由于提供了一种非固化的NPC行为逻辑,也即NPC行为能够被外界环境的变化所影响,并非按照一些预定的行为序列执行的行为逻辑,因此能够呈现出有别于传统固化NPC的智能性,称为NPC的AI模式。AI模式的底层支撑机制称为AI架构,AI架构用于保证NPC的行为按照某种规则而执行。
以下,对本申请涉及的系统架构进行介绍。
图1是本申请实施例提供的一种虚拟对象的控制方法的实施环境示意图。参见图1,该实施环境包括:第一终端120、服务器140和第二终端160。
第一终端120安装和运行有支持虚拟场景的应用程序。该应用程序可以是多人在线战术竞技游戏(Multiplayer Online Battle Arena games,MOBA)、大型多人在线角色扮演游戏(Massively Multiplayer Online Role Playing Game,MMORPG)、第一人称射击游戏(First-Person Shooting game,FPS)、第三人称射击游戏、虚拟现实应用程序、三维地图程序、军事仿真程序或者多人枪战类生存游戏中的任意一种。第一终端120可以是第一用户使用的终端,第一用户使用第一终端120操作位于虚拟场景中的虚拟对象进行活动,该活动包括但不限于:释放互动技能、调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第一终端120操控的虚拟对象是第一虚拟人物,比如仿真人物角色或动漫人物角色。
服务器140可以包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。服务器140用于为支持虚拟场景的应用程序提供后台服务。可选地,服务器140可以承担主要计算工作,第一终端120和第二终端160可以承担次要计算工作;或者,服务器140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。
第二终端160安装和运行有支持虚拟场景的应用程序。该应用程序可以是MOBA游戏、MMORPG游戏、FPS游戏、第三人称射击游戏、虚拟现实应用程序、三维地图程序、军事仿真程序或者多人枪战类生存游戏中的任意一种。第二终端160可以是第二用户使用的终端,第二用户使用第二终端160操作位于虚拟场景中的虚拟对象进行活动,该活动包括但不限于:释放互动技能、调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第二终端160操控的虚拟对象是第二虚拟人物,比如仿真人物角色或动漫人物角色。
第一终端120以及第二终端160可以通过有线或无线通信方式与服务器140进行直接或间接地连接,本申请实施例在此不对连接方式进行限制。
在一些实施例中,第一终端120控制的虚拟对象和第二终端160控制的虚拟对象处于同一虚拟场景中,此时上述两个不同的虚拟对象可以在虚拟场景中进行互动。
在一些实施例中,上述两个不同的虚拟对象互为敌对关系,例如,两个不同的虚拟对象属于不同的队伍或阵营,具有敌对关系的虚拟对象之间能够以互相释放互动技能的方式进行对战,比如,一个阵营的虚拟对象向另一个阵营的虚拟对象释放攻击技能。
在另一些实施例中,上述两个不同的虚拟对象互为队友关系,例如,两个不同的虚拟对象属于同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限,在这种情况下,同一阵营的虚拟对象之间还可以互相释放治疗技能。
上述服务器140可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器。
上述第一终端120或者第二终端160可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、电子书阅读器等,但并不局限于此。
需要说明的是,第一终端120和第二终端160上安装的应用程序可以是相同的,或两个终端上安装的应用程序是不同操作系统平台的同一类型应用程序。第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端120和第二终端160来举例说明。第一终端120和第二终端160的设备类型可以相同或不同。本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
图2是本申请实施例提供的一种虚拟对象的控制方法的流程图。参见图2,该实施例应用于电子设备,该电子设备可以是终端或者服务器,终端与服务器之间能够基于帧同步技术来同步虚拟对象的互动情况。在本申请实施例中,以电子设备为服务器为例进行说明,该实施例包括下述步骤:
201、服务器基于虚拟场景中第一虚拟对象的朝向,确定该第一虚拟对象的感知区域。
可选地,该第一虚拟对象是指虚拟场景中任一阵营的NPC对象,该第一虚拟对象不受用户的控制,而是基于本申请实施例提供的虚拟对象的控制方法,以决定下一时刻执行的互动行为。该第一虚拟对象的表现形式包括虚拟生物、虚拟物品、虚拟幽灵等各类形式,本申请实施例不对第一虚拟对象的表现形式进行具体限定。
在上述过程中,在任一场对局中,终端响应于用户的开局操作,在应用程序中显示虚拟场景,接着在虚拟场景中可以展示第一虚拟对象及第二虚拟对象,假设第一虚拟对象为第一阵营的NPC对象,第二虚拟对象则包括第二阵营的用户操控对象、第二阵营的NPC对象以及中立虚拟对象,其中,该中立虚拟对象是指不隶属于参与对抗的任何阵营的虚拟对象。接下来,终端可以基于帧同步技术向服务器实时同步第一虚拟对象的朝向,服务器在获取终端同步的第一虚拟对象的朝向之后,基于该第一虚拟对象的朝向,确定该第一虚拟对象的感知区域。
可选地,该感知区域可以是单个连通的区域,也可以包括一系列互不重叠的子区域,该单个连通的区域或者该感知区域的任一子区域的形状包括但不限于:圆形、矩形、扇形或者不规则形状等,本申请实施例不对该感知区域的形状进行具体限定。在一些实施例中,不同的第一虚拟对象具有不同形状的感知区域,或者,不同的第一虚拟对象具有相同形状的感知区域,本申请实施例不对不同第一虚拟对象的感知区域的形状是否相同进行限定。
在一个示例性实施例中,该感知区域包括多个对应于不同感知等级的子区域,在确定感知区域的过程中,服务器可以基于该第一虚拟对象的位置,确定以该位置为圆心的圆形子区域;基于该第一虚拟对象的朝向,确定与该朝向相匹配的至少一个扇形子区域;将该圆形子区域和该至少一个扇形子区域获取为该感知区域。
在这种情况下,该圆形子区域以及各个扇形子区域对应于不同的感知等级,可选地,一个子区域的中心与该第一虚拟对象之间距离与该子区域的感知等级呈负相关,也即是说,子区域的中心与第一虚拟对象的距离越近,子区域的感知等级越高,反之,子区域的中心与第一虚拟对象的距离越远,子区域的感知等级越低。通过对感知区域划分出具有不同感知等级的各个子区域,能够针对处于不同子区域的第二虚拟对象,设置不同的警戒参数计算方式,从而能够使得第一虚拟对象模拟出人类真实感知的场景,针对不同距离的子区域,具有不同的敏感度,使得第一虚拟对象的智能性更高。
可选地,服务器在上述过程中,以该第一虚拟对象的位置为圆心、以第一长度为半径,确定该圆形子区域。在一个示例中,当第一长度小于其他子区域的半径时,该圆形子区域作为最靠近第一虚拟对象的子区域,具有最高的感知等级,该圆形子区域俗称为“360度敏感区”,只要第二虚拟对象与第一虚拟对象之间的距离小于第一长度,也即第二虚拟对象位于该圆形子区域内,即可引发第二虚拟对象立刻进入战斗状态。
可选地,服务器在上述过程中,以该第一虚拟对象的位置作为顶点、以至少一个角度作为圆心角、以至少一个第二长度作为半径,可以确定出圆心角的角平分线与该第一虚拟对象的朝向重合的至少一个扇形子区域。由于这些扇形子区域的圆心角的角平分线与第一虚拟对象的朝向重合,因此能够形象地模拟出第一虚拟对象能够对其朝向的扇形区域进行感知。在一个示例中,扇形子区域的半径约短时,则圆心角越大,这样更贴近于真实场景中人类的感知环境,呈现出当第二虚拟对象越靠近第一虚拟对象时,越容易被第一虚拟对象感知的互动效果。
在一些实施例中,该感知区域还可以仅包括基于该朝向确定的至少一个扇形子区域,或者,该感知区域仅包括以该第一虚拟对象的位置为圆心的圆形子区域,本申请实施例不对感知区域的形状进行具体限定。
202、服务器响应于第二虚拟对象位于该感知区域内,确定该第一虚拟对象对该第二虚拟对象的警戒参数。
可选地,该第二虚拟对象为虚拟环境中与第一虚拟对象属于不同阵营的任一虚拟对象,包括敌对阵营中玩家控制的虚拟对象、敌对阵营中不受玩家控制的NPC对象以及不隶属于任何阵营的中立虚拟对象等。假设第一虚拟对象为第一阵营的NPC对象,第二虚拟对象则包括第二阵营的用户操控对象、第二阵营的NPC对象以及中立虚拟对象,其中,该中立虚拟对象是指不隶属于参与对抗的任何阵营的虚拟对象。
可选地,该警戒参数用于表示该第二虚拟对象对该第一虚拟对象造成的威胁程度,当该警戒参数取值越小时,该第二虚拟对象对该第一虚拟对象造成的威胁程度越低,那么第一虚拟对象不会主动向第二虚拟对象发起攻击,当该警戒参数取值越大时,威胁程度越高,直到该警戒参数增长到位于目标区间时,触发第一虚拟对象主动向第二虚拟对象发起进攻。基于这一警戒参数,可以对第一虚拟对象量化出一个拟人化的感知机制,在这一感知机制下,第一虚拟对象通过衡量位于感知区域内的第二虚拟对象对自身造成的威胁程度,来判断是否触发攻击行为,使得第一虚拟对象更加拟人化和智能化。
在一个示例中,该警戒参数以数值形式表示,此时的警戒参数也称为警戒值,该警戒值的影响因素包括:第二虚拟对象和第一虚拟对象之间的距离,以及第二虚拟对象在该感知区域内的停留时长,距离越近且停留时长越长时,威胁程度越高,警戒值越大,反之,距离越远且停留时长越短时,威胁程度越低,警戒值越小。
在上述过程中,服务器可以通过两种不同的方式来确定第二虚拟对象是否位于感知区域内,下面分别进行介绍。
一、基于视野的感知方式
在这种情况下,终端与服务器需要实时同步第一虚拟对象的朝向以及第二虚拟对象的位置,如果第二虚拟对象的位置落入到感知区域内,确定该第二虚拟对象位于该感知区域内,从而执行确定该警戒参数的相关步骤。可选地,终端与服务器基于帧同步技术来同步该第一虚拟对象的朝向以及该第二虚拟对象的位置。
二、基于听觉的感知方式
上述基于听觉的感知方式通常适用于第二虚拟对象为可发声对象的情况,若第二虚拟对象为可发声对象,服务器可以基于该第二虚拟对象的发声位置符合感知条件,确定该第二虚拟对象位于该感知区域内。可选地,该感知条件为该发声位置与该第一虚拟对象的位置之间的距离小于感知阈值。
在一个示例性场景中,第二虚拟对象为静态声源,此时第二虚拟对象的发声位置是虚拟场景中的一个静止点,此时可以根据发声起始点(即第二虚拟对象的发声位置)与感知点(即第一虚拟对象的位置)之间的距离来判断是否符合感知条件,如果该距离小于感知阈值,确定符合感知条件。换言之,该感知条件可以表示为Distance(Pos发声点,Pos感知点)≤R感知。
在另一个示例性场景中,第二虚拟对象为动态声源,此时第二虚拟对象的发声位置是虚拟场景中的一个动态点,也即第二虚拟对象会随着时间推移而进行移动,此时服务器可以周期性地监听第一虚拟对象是否进入到该动态声源的可被感知范围内,也即根据动态声源的位置确定该动态声源的可被感知范围,如果第一虚拟对象位于该可被感知范围内,确定符合感知条件。换言之,该感知条件可以表示为下述公式:
UpdateCheck(Distance(Pos发声点,Pos感知点)≤R感知)==TRUE。
服务器可以基于上述两种感知方式中任一种来确定第二虚拟对象是否位于第一虚拟对象的感知区域内,如果该第二虚拟对象位于该第一虚拟对象的感知区域内,服务器可以基于该第一虚拟对象和该第二虚拟对象之间的距离以及该第二虚拟对象在该感知区域内的停留时长,确定该警戒参数。这样不仅能够考虑到空间上的距离远近,而且能够考虑到时间上的停留时间长短,可以更加全面、准确地确定出警戒参数。
可选地,当第一虚拟对象与第二虚拟对象之间的距离越近、第二虚拟对象在该感知区域内的停留时长越长时,该警戒参数取值越大,当第一虚拟对象与第二虚拟对象之间的距离越远、第二虚拟对象在该感知区域内的停留时长越短时,该警戒参数取值越小。
在一些实施例中,当该感知区域包括多个对应于不同感知等级的子区域时,服务器可以基于下述方式来确定警戒参数:基于该第二虚拟对象所在子区域的感知等级,确定基础警戒速度Vbase;基于该第一虚拟对象和该第二虚拟对象之间的距离,确定警戒速度增幅ΔVincrease;获取该基础警戒速度与该警戒速度增幅相加所得的第一数值(Vbase+ΔVincrease),将该第一数值(Vbase+ΔVincrease)与该停留时长t相乘所得的第二数值确定为该警戒参数WaringValue,也即是说:
WaringValue=(Vbase+ΔVincrease)*t。
在上述过程中,通过基于第一虚拟对象与第二虚拟对象之间的距离以及第二虚拟对象在感知区域内的停留时长,来综合获取该警戒参数,能够分别考虑到时间和空间这两个不同维度的影响因子,能够提升第一虚拟对象的在感知过程的仿真度和逼真度,从而可以提升第一虚拟对象的智能性。
可选地,对于具有某一感知等级的子区域而言,该子区域内所有的位置可以共享相同的基础警戒速度,或者,将该子区域划分为多个子子区域,不同的子子区域分别具有不同的基础警戒速度,本申请不对基础警戒速度的设置方式进行具体限定。
在一些实施例中,服务器也可以仅基于第一虚拟对象与第二虚拟对象之间的距离确定该警戒参数,或者,仅基于第二虚拟对象在该感知区域内的停留时长来确定该警戒参数,这样能够简化警戒参数的确定逻辑,从而节约服务器的计算资源,本申请实施例不对该警戒参数的确定方式进行具体限定。
203、服务器响应于该警戒参数符合互动条件,在该虚拟场景中控制该第一虚拟对象与该第二虚拟对象进行互动。
在一些实施例中,该互动条件为该警戒参数位于目标区间,此时服务器响应于该警戒参数位于目标区间,可以控制该第一虚拟对象对该第二虚拟对象进行攻击。也即是说,若该警戒参数位于目标区间,此时直接触发第一虚拟对象进入战斗状态,控制第一虚拟对象向第二虚拟对象发起进攻。
在一些实施例中,除了由服务器实时更新该警戒参数并基于警戒参数确定是否符合互动条件之外,如果第一虚拟对象遭受到攻击,此时还可以直接触发第一虚拟对象进入战斗状态。也即是说,服务器响应于该第一虚拟对象遭受攻击,执行该控制该第一虚拟对象与该第二虚拟对象进行互动的操作。比如,如果第二虚拟对象不在感知区域内,但可以通过直接向第一虚拟对象释放一个远程的攻击技能,触发第一虚拟对象进入战斗状态,并与第一虚拟对象进行互动。这样能够丰富第一虚拟对象触发战斗状态的执行逻辑,提供更具有多样化的互动方式。
在一些实施例中,服务器在控制第一虚拟对象与第二虚拟对象进行互动的过程中,可以通过如下方式来确定第一虚拟对象的走位点:获取该虚拟场景中至少一个位置点的静态评估分数;根据该虚拟场景的战斗信息,确定该至少一个位置点的动态评估分数;基于该静态评估分数和该动态评估分数,确定该第一虚拟对象的下一个走位点。
在上述过程中,通过综合考虑静态评估分数和动态评估分数,不仅能够通过增加静态评估分数的权重,在副本场景下精准控制第一虚拟对象进行固定位置点的走位,而且能够通过增加动态评估分数的权重,在大世界场景下精准控制第一虚拟对象进行智能化的走位,可以大大提升第一虚拟对象的智能性和趣味性。
在一些实施例中,该静态评估分数是由技术人员预先在虚拟场景中为各个位置点配置的分数(通常在副本场景下静态评估分数占比较大),而动态评估分数则是基于终端同步的战斗信息而实时确定的分数(通常在大世界场景下动态评估分数占比较大),通过对静态评估分数和动态评估分数进行加权求和,可以确定出各个位置点的综合评估分数PosValue=PosValuestatic+PosValuedynamic,服务器可以选取综合评估分数最高的位置点作为该第一虚拟对象的下一个走位点。在一个示例性场景中,动态评估分数的影响因素包括但不限于:当前位置点是否包含其他已被击败的NPC对象、当前位置点是否包含其他的友方NPC对象等,基于对局中实时的战斗信息,可以确定出各个位置点的动态评估分数。
在一些实施例中,由于可能会同时存在多个第二虚拟对象位于感知区域内,并触发第一虚拟对象进行战斗状态,也即是说,若存在多个第二虚拟对象对应的警戒参数符合该互动条件,服务器可以控制该第一虚拟对象与警戒参数最高的第二虚拟对象进行互动。通过基于警戒参数选取本次互动目标,能够使得第一虚拟对象可以智能向威胁程度最高的第二虚拟对象发起攻击,从而优化了第一虚拟对象的行为逻辑,提升了第一虚拟对象的智能性。
在一些实施例中,服务器还可以响应于该警戒参数符合巡逻条件,控制该第一虚拟对象在巡逻范围内搜寻该第二虚拟对象。可选地,该巡逻范围可以等于该感知区域,或者,该巡逻范围为整个第一虚拟对象的可活动范围,或者,该巡逻范围为整个虚拟场景,本申请实施例不对该巡逻范围的设置方式进行具体限定。
可选地,该巡逻条件包括该警戒参数从0上升至第一区间,或者,该训练条件包括该警戒参数从该目标区间下降至该第一区间,其中,该第一区间的上界小于该目标区间的下界,也即是说,第一区间的整体取值范围小于目标区间的整体取值范围。在上述过程中,通过提供第一虚拟对象的巡逻行为逻辑,能够呈现出更加丰富多样化的AI互动模式。
在一些实施例中,服务器还可以响应于该警戒参数符合调查条件,控制该第一虚拟对象在该感知区域内调查该第二虚拟对象;响应于调查到该第二虚拟对象,确定符合该互动条件;响应于调查不到该第二虚拟对象,确定不符合该互动条件。在上述过程中,通过提供第一虚拟对象的调查行为逻辑,能够呈现出更加丰富多样化的AI互动模式。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过实时根据第一虚拟对象的朝向来确定感知区域,能够使得第一虚拟对象模拟出真实环境的人类感知方式,如果有第二虚拟对象进入感知区域,基于警戒参数来控制第一虚拟对象的互动行为,能够基于虚拟场景中实时、动态的战斗环境,来控制第一虚拟对象给出相应的反馈,为第一虚拟对象提供了一种非固化的行为逻辑,提升了第一虚拟对象的互动性、趣味性,从而提升了人机交互效率。
上述实施例介绍了第一虚拟对象在何种情况下会触发与第二虚拟对象进行互动,而在本申请实施例中,将围绕第一虚拟对象的生命周期,对第一虚拟对象的AI模式进行介绍,该AI模式中包括感知系统、警戒值系统、状态转换系统、威胁系统、走位系统等,这些不同系统可以分别控制第一虚拟对象进行不同的互动行为。
图3是本申请实施例提供的一种第一虚拟对象的AI模式的原理性架构图,请参考图3,以第一虚拟对象为虚拟怪物为例,虚拟怪物的生命周期可以划分为4个阶段:怪物出生301、怪物的出生方式302、怪物行为303、怪物死亡304。在怪物行为303阶段中,服务器可以基于感知系统311、警戒值系统312、状态转换系统313进行控制,该感知系统用于控制第一虚拟对象感知第二虚拟对象,该警戒值系统用于确定第一虚拟对象对第二虚拟对象的警戒参数(例如警戒值),该状态转换系统用于以状态机的方式来控制第一虚拟对象在不同状态之间的切换,不同状态对应于不同行为。
在一些实施例中,状态转换系统313提供五种可切换的状态:巡逻状态、准备状态、调查状态、战斗状态和战斗调查状态。在巡逻状态中,第一虚拟对象在可活动范围内对第二虚拟对象进行搜寻,在准备状态中,第一虚拟对象确定是退回到巡逻状态、进入到调查状态还是跳转到战斗状态,在调查状态中,第一虚拟对象在感知区域内调查第二虚拟对象,在战斗状态中,第一虚拟对象与第二虚拟对象进行战斗,在战斗调查状态中,第一虚拟对象在战斗状态中失去攻击目标时持续搜寻可攻击的第二虚拟对象。在一些实施例中,处于战斗状态的虚拟怪物基于战斗AI来进行走位,比如基于威胁系统314确定本次的攻击目标,基于走位系统315确定下一个走位点等。
通过这一AI架构,可以构建一个基于真实感知的非常拟人化的第一虚拟对象,并基于AI架构控制第一虚拟对象执行智能性较高的NPC交互行为,将在下一实施例中进行详述。
图4是本申请实施例提供的一种虚拟对象的控制方法的流程图,请参考图4,该实施例应用于电子设备,该电子设备可以是终端或者服务器,终端与服务器之间能够基于帧同步技术来同步虚拟对象的互动情况。在本申请实施例中,以电子设备为服务器为例进行说明,该实施例包括下述步骤:
401、服务器获取虚拟场景中第一虚拟对象的朝向。
可选地,该第一虚拟对象是指虚拟场景中任一阵营的NPC对象,该第一虚拟对象不受用户的控制,而是基于本申请实施例提供的虚拟对象的控制方法,以决定下一时刻执行的互动行为。该第一虚拟对象的表现形式包括虚拟生物、虚拟物品、虚拟幽灵等各类形式,本申请实施例不对第一虚拟对象的表现形式进行具体限定。
在上述过程中,在任一场对局中,终端响应于用户的开局操作,在应用程序中显示虚拟场景,接着在虚拟场景中可以展示第一虚拟对象及第二虚拟对象,假设第一虚拟对象为第一阵营的NPC对象,第二虚拟对象则包括第二阵营的用户操控对象、第二阵营的NPC对象以及中立虚拟对象,其中,该中立虚拟对象是指不隶属于参与对抗的任何阵营的虚拟对象。接下来,终端可以基于帧同步技术向服务器实时同步第一虚拟对象的朝向,相应地,服务器基于帧同步技术获取到终端同步的第一虚拟对象的朝向,执行下述步骤402。
402、服务器基于该第一虚拟对象的位置,确定以该位置为圆心的圆形子区域。
可选地,服务器在上述过程中,以该第一虚拟对象的位置为圆心、以第一长度为半径,确定该圆形子区域。在一个示例中,该圆形子区域作为最靠近第一虚拟对象的子区域,具有最高的感知等级,该圆形子区域俗称为“360度敏感区”,只要第二虚拟对象与第一虚拟对象之间的距离小于第一长度,也即第二虚拟对象位于该圆形子区域内,即可引发第二虚拟对象立刻进入战斗状态。
403、服务器基于该第一虚拟对象的朝向,确定与该朝向相匹配的至少一个扇形子区域。
可选地,服务器在上述过程中,以该第一虚拟对象的位置作为顶点、以至少一个角度作为圆心角、以至少一个第二长度作为半径,可以确定出圆心角的角平分线与该第一虚拟对象的朝向重合的至少一个扇形子区域。
由于这些扇形子区域的圆心角的角平分线与第一虚拟对象的朝向重合,因此能够形象地模拟出第一虚拟对象能够对其朝向的扇形区域进行感知。在一个示例中,扇形子区域的半径约短时,则圆心角越大,这样更贴近于真实场景中人类的感知环境,呈现出当第二虚拟对象越靠近第一虚拟对象时,越容易被第一虚拟对象感知的互动效果。
404、服务器将该圆形子区域和该至少一个扇形子区域获取为该感知区域。
在上述步骤402-404中,服务器基于虚拟场景中第一虚拟对象的朝向,确定该第一虚拟对象的感知区域。在本申请实施例中,以该感知区域包括一系列互不重叠的子区域为例进行说明,在另一些实施例中,该感知区域还可以是单个连通的区域,该单个连通的区域或者该感知区域的任一子区域的形状包括但不限于:圆形、矩形、扇形或者不规则形状等,本申请实施例不对该感知区域的形状进行具体限定。
在一些实施例中,不同的第一虚拟对象具有不同形状的感知区域,或者,不同的第一虚拟对象具有相同形状的感知区域,本申请实施例不对不同第一虚拟对象的感知区域的形状是否相同进行限定。
可选地,该圆形子区域以及各个扇形子区域对应于不同的感知等级,可选地,一个子区域的中心与该第一虚拟对象之间距离与该子区域的感知等级呈负相关,也即是说,子区域的中心与第一虚拟对象的距离越近,子区域的感知等级越高,反之,子区域的中心与第一虚拟对象的距离越远,子区域的感知等级越低。通过对感知区域划分出具有不同感知等级的各个子区域,能够针对处于不同子区域的第二虚拟对象,设置不同的警戒参数计算方式,从而能够使得第一虚拟对象模拟出人类真实感知的场景,针对不同距离的子区域,具有不同的敏感度,使得第一虚拟对象的智能性更高。
在一些实施例中,该感知区域还可以仅包括基于该朝向确定的至少一个扇形子区域,此时服务器仅基于上述步骤403确定感知区域,或者,该感知区域仅包括以该第一虚拟对象的位置为圆心的圆形子区域,此时服务器仅基于上述步骤402确定感知区域,这样可以减少服务器的计算量,简化服务器的处理逻辑,本申请实施例不对感知区域的形状进行具体限定。
405、若虚拟场景中的第二虚拟对象为可发声对象,服务器基于该第二虚拟对象的发声位置符合感知条件,确定该第二虚拟对象位于该感知区域内。
可选地,该第二虚拟对象为虚拟环境中与第一虚拟对象属于不同阵营的任一虚拟对象,包括敌对阵营中玩家控制的虚拟对象、敌对阵营中不受玩家控制的NPC对象以及不隶属于任何阵营的中立虚拟对象等。假设第一虚拟对象为第一阵营的NPC对象,第二虚拟对象则包括第二阵营的用户操控对象、第二阵营的NPC对象以及中立虚拟对象,其中,该中立虚拟对象是指不隶属于参与对抗的任何阵营的虚拟对象。
可选地,该感知条件为该发声位置与该第一虚拟对象的位置之间的距离小于感知阈值。
在一个示例性场景中,第二虚拟对象为静态声源,此时第二虚拟对象的发声位置是虚拟场景中的一个静止点,此时可以根据发声起始点(即第二虚拟对象的发声位置)与感知点(即第一虚拟对象的位置)之间的距离来判断是否符合感知条件,如果该距离小于感知阈值,确定符合感知条件。换言之,该感知条件可以表示为Distance(Pos发生点,Pos感知点)≤R感知。
在另一个示例性场景中,第二虚拟对象为动态声源,此时第二虚拟对象的发声位置是虚拟场景中的一个动态点,也即第二虚拟对象会随着时间推移而进行移动,此时服务器可以周期性地监听第一虚拟对象是否进入到该动态声源的可被感知范围内,也即根据动态声源的位置确定该动态声源的可被感知范围,如果第一虚拟对象位于该可被感知范围内,确定符合感知条件。换言之,该感知条件可以表示为下述公式:
UpdateCheck(Distance(Pos发声点,Pos感知点)≤R感知)==TRUE。
图5是本申请实施例提供的一种感知区域的示意图,请参考图5,该感知区域包括4个子区域,圆形的360度敏感区501、扇形的余光区502、扇形的立即战斗区503以及扇形的模糊感知区504,其中,立即战斗区503和模糊感知区504的圆心角相等,且小于余光区502的圆心角,在这种情况下,360度敏感区501的感知等级最高,余光区502的感知等级第二高,立即战斗区503的感知等级第三高,以及模糊感知区504的感知等级最低。
在本申请实施例中,以第二虚拟对象为可发声对象为例,介绍了上述步骤202中涉及的“基于听觉的感知方式”。在另一些实施例中,服务器也可以基于上述步骤202中涉及的“基于视野的感知方式”来判断第二虚拟对象是否位于该感知区域内,在此不作赘述。
上述过程也即是利用第一虚拟对象的感知系统模拟人类的感知情况,不仅提供了模拟人类的视野来“看”到第二虚拟对象的感知方式,而且提供了模拟人类的听觉来“听”到第二虚拟对象的感知方式。由于人类的视野角度有限、听觉范围也有限,因此根据第一虚拟对象的朝向来确定第一虚拟对象的感知区域,且随着第一虚拟对象自身行动的不同(朝向不同),会产生不同的感知结果,而对于感知区域外的第二虚拟对象,则无法进行感知,具有更高的逼真度和智能性。
406、服务器响应于第二虚拟对象位于该感知区域内,基于该第一虚拟对象和该第二虚拟对象之间的距离以及该第二虚拟对象在该感知区域内的停留时长,确定该第一虚拟对象对该第二虚拟对象的警戒参数。
可选地,当第一虚拟对象与第二虚拟对象之间的距离越近、第二虚拟对象在该感知区域内的停留时长越长时,该警戒参数取值越大,当第一虚拟对象与第二虚拟对象之间的距离越远、第二虚拟对象在该感知区域内的停留时长越短时,该警戒参数取值越小。这样不仅能够考虑到空间上的距离远近,而且能够考虑到时间上的停留时间长短,可以更加全面、准确地确定出警戒参数。
在一些实施例中,当该感知区域包括多个对应于不同感知等级的子区域时,服务器可以基于下述方式来确定警戒参数:基于该第二虚拟对象所在子区域的感知等级,确定基础警戒速度Vbase;基于该第一虚拟对象和该第二虚拟对象之间的距离,确定警戒速度增幅ΔVincrease;获取该基础警戒速度与该警戒速度增幅相加所得的第一数值(Vbase+ΔVincrease),将该第一数值(Vbase+ΔVincrease)与该停留时长t相乘所得的第二数值确定为该警戒参数WaringValue,也即是说:
WaringValue=(Vbase+ΔVincrease)*t。
在上述过程中,通过基于第一虚拟对象与第二虚拟对象之间的距离以及第二虚拟对象在感知区域内的停留时长,来综合获取该警戒参数,能够分别考虑到时间和空间这两个不同维度的影响因子,能够提升第一虚拟对象的在感知过程的仿真度和逼真度,从而可以提升第一虚拟对象的智能性。
可选地,对于具有某一感知等级的子区域而言,该子区域内所有的位置可以共享相同的基础警戒速度,或者,将该子区域划分为多个子子区域,不同的子子区域分别具有不同的基础警戒速度,本申请不对基础警戒速度的设置方式进行具体限定。
图6是本申请实施例提供的一种警戒值系统的示意图,请参考600,服务器将整个感知区域重新划分为7个具有不同基础警戒速度的子区域,而阴影部分的子区域也代表着如果第二虚拟对象位于这一阴影部分的子区域,那么立即出发第一虚拟对象进入战斗状态。警戒值系统向第一虚拟对象提供了一种量化的模拟人类认知过程的控制方式,针对不同距离范围内的第二虚拟对象,第一虚拟对象具有不同的基础警戒速度。
上述步骤406仅为服务器确定该第一虚拟对象对该第二虚拟对象的警戒参数的一种可能实施方式,在一些实施例中,服务器也可以仅基于第一虚拟对象与第二虚拟对象之间的距离确定该警戒参数,或者,仅基于第二虚拟对象在该感知区域内的停留时长来确定该警戒参数,这样能够简化警戒参数的确定逻辑,从而节约服务器的计算资源,本申请实施例不对该警戒参数的确定方式进行具体限定。
407、服务器响应于该警戒参数位于目标区间,控制该第一虚拟对象对该第二虚拟对象进行攻击。
上述步骤407中,以互动条件为该警戒参数位于目标区间为例,提供了服务器响应于该警戒参数符合互动条件,在该虚拟场景中控制该第一虚拟对象与该第二虚拟对象进行互动的一种可能实施方式。也即是说,若该警戒参数位于目标区间,此时直接触发第一虚拟对象进入战斗状态,控制第一虚拟对象向第二虚拟对象发起进攻。
在一些实施例中,除了由服务器实时更新该警戒参数并基于警戒参数确定是否符合互动条件之外,如果第一虚拟对象遭受到攻击,此时还可以直接触发第一虚拟对象进入战斗状态。也即是说,服务器响应于该第一虚拟对象遭受攻击,执行该控制该第一虚拟对象与该第二虚拟对象进行互动的操作。比如,如果第二虚拟对象不在感知区域内,但可以通过直接向第一虚拟对象释放一个远程的攻击技能,触发第一虚拟对象进入战斗状态,并与第一虚拟对象进行互动。这样能够丰富第一虚拟对象触发战斗状态的执行逻辑,提供更具有多样化的互动方式。
在一些实施例中,服务器在控制第一虚拟对象与第二虚拟对象进行互动的过程中,可以通过如下方式来确定第一虚拟对象的走位点:获取该虚拟场景中至少一个位置点的静态评估分数;根据该虚拟场景的战斗信息,确定该至少一个位置点的动态评估分数;基于该静态评估分数和该动态评估分数,确定该第一虚拟对象的下一个走位点。
在上述过程中,通过综合考虑静态评估分数和动态评估分数,不仅能够通过增加静态评估分数的权重,在副本场景下精准控制第一虚拟对象进行固定位置点的走位,而且能够通过增加动态评估分数的权重,在大世界场景下精准控制第一虚拟对象进行智能化的走位,可以大大提升第一虚拟对象的智能性和趣味性。
在一些实施例中,该静态评估分数是由技术人员预先在虚拟场景中为各个位置点配置的分数(通常在副本场景下静态评估分数占比较大),而动态评估分数则是基于终端同步的战斗信息而实时确定的分数(通常在大世界场景下动态评估分数占比较大),通过对静态评估分数和动态评估分数进行加权求和,可以确定出各个位置点的综合评估分数PosValue=PosValuestatic+PosValuedynamic,服务器可以选取综合评估分数最高的位置点作为该第一虚拟对象的下一个走位点。在一个示例性场景中,动态评估分数的影响因素包括但不限于:当前位置点是否包含其他已被击败的NPC对象、当前位置点是否包含其他的友方NPC对象等,基于对局中实时的战斗信息,可以确定出各个位置点的动态评估分数。
图7是本申请实施例提供的一种配置静态评估分数示意图,如图7所示,在虚拟场景700中,预先确定至少一个位置点,这些位置点可以作为第一虚拟对象的备选走位点,接着,为每个位置点分配各自的静态评估分数,最终在战斗过程中综合考虑静态评估分数和动态评估分数,以确定第一虚拟对象的走位方式。
在一些实施例中,由于可能会同时存在多个第二虚拟对象位于感知区域内,并触发第一虚拟对象进行战斗状态,也即是说,若存在多个第二虚拟对象对应的警戒参数符合该互动条件,服务器可以控制该第一虚拟对象与警戒参数最高的第二虚拟对象进行互动。通过基于警戒参数选取本次互动目标,能够使得第一虚拟对象可以智能向威胁程度最高的第二虚拟对象发起攻击,从而优化了第一虚拟对象的行为逻辑,提升了第一虚拟对象的智能性。
上述选取攻击目标的过程,也即是服务器利用威胁系统执行选择目标机制,从而确定攻击目标的过程,当第一虚拟对象感知到多个目标(多个第二虚拟对象)的时候,选取哪个目标作为攻击目标,可以基于警戒参数来进行确定,比如第一虚拟对象优选攻击警戒参数最高的第二虚拟对象。
在一些实施例中,随着时间推移,不同第二虚拟对象有可能在战斗过程中警戒参数发生变化,使得第一虚拟对象在战斗中切换到另一攻击目标,比如,某一目标向第一虚拟对象释放了嘲讽技能,使得该目标的警戒参数提升至最高,此时第一虚拟对象将攻击目标切换至该目标。威胁系统可以对多个目标进行动态评估,综合计算每个目标对自己的警戒参数(也即威胁值),从而判断出是否需要切换到别的攻击目标,能够提供更加拟人化的互动方式。其中,威胁值的影响因素包括但不限于:目标和第一虚拟对象之间的距离,目标是否在虚拟场景的掩体内,目标是在第一虚拟对象的侧翼等。可选地,服务器可以将威胁值系统封装成一个行为树接口,以供行为树编辑使用,并基于技术人员设置的参数,来通过行为树以控制攻击目标的选取机制。
在一些实施例中,服务器还可以响应于该警戒参数符合巡逻条件,控制该第一虚拟对象在巡逻范围内搜寻该第二虚拟对象。可选地,该巡逻范围可以等于该感知区域,或者,该巡逻范围为整个第一虚拟对象的可活动范围,或者,该巡逻范围为整个虚拟场景,本申请实施例不对该巡逻范围的设置方式进行具体限定。
可选地,该巡逻条件包括该警戒参数从0上升至第一区间,或者,该训练条件包括该警戒参数从该目标区间下降至该第一区间,其中,该第一区间的上界小于该目标区间的下界,也即是说,第一区间的整体取值范围小于目标区间的整体取值范围。在上述过程中,通过提供第一虚拟对象的巡逻行为逻辑,能够呈现出更加丰富多样化的AI互动模式。
在一些实施例中,服务器还可以响应于该警戒参数符合调查条件,控制该第一虚拟对象在该感知区域内调查该第二虚拟对象;响应于调查到该第二虚拟对象,确定符合该互动条件;响应于调查不到该第二虚拟对象,确定不符合该互动条件。在上述过程中,通过提供第一虚拟对象的调查行为逻辑,能够呈现出更加丰富多样化的AI互动模式。
图8是本申请实施例提供的一种第一虚拟对象的互动行为示意图,请参考图8,示意性地给出了第一虚拟对象的4种不同的互动行为,随着警戒参数的增加,互动行为也随之发生改变,当警戒参数位于第一区间时,第一虚拟对象处于巡逻(Idle)状态,用于模拟人类的模糊感知行为801,此时远距离看到、听到感兴趣的目标,当警戒参数从第一区间上升到第二区间时,第一虚拟对象进入调查状态,用于模拟人类的搜索调查行为802,此时进一步地确认互动目标,当警戒参数从第二区间上升到第三区间时,第一虚拟对象进一步明确识别出互动目标,并对互动目标进行判断,用于模拟人类的确认目标行为803,当警戒参数从第三区间上升到目标区间时,第一虚拟对象进入战斗状态,用于模拟人类的正式行动行为804,根据互动目标的属性进行正确行为,比如如果互动目标是友方虚拟对象,那么退回到巡逻状态,如果互动目标是敌方虚拟对象,那么直接触发释放攻击技能。其中,第一区间的上界小于第二区间的下界,第二区间的上界小于第三区间的下界,第三区间的上界小于目标区间的下界。
图9是本申请实施例提供的一种第一虚拟对象的状态转换系统的原理性示意图,请参考图9,服务器可以通过状态机来控制第一虚拟对象从一种状态切换至另一种状态,并改变第一虚拟对象执行的互动行为。以第一虚拟对象为NPC为例,在状态901中,到达NPC出生的目标时刻,在状态902中,NPC强制执行出生行为,在状态903(巡逻状态)中,NPC进行巡逻/表演,在状态904(调查状态)中,NPC进行警戒,在状态905(战斗状态)中,NPC进行战斗,在状态906中,NPC被击败导致NPC死亡,此时NPC的虚拟生命值降低为零。可选地,如果第二虚拟对象直接出现在NPC的360度敏感区或者第二虚拟对象向NPC远程释放攻击技能,可以直接触发NPC通过感知从状态903切换至状态905。可选地,如果NPC击败了第二虚拟对象,此后NPC将会脱离战斗状态并失去了攻击目标,这时触发NPC从状态905切换至状态904。可选地,对于一些NPC,还可以直接设置在出生后立刻进入到状态905中,换言之,出生即战斗状态。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过实时根据第一虚拟对象的朝向来确定感知区域,能够使得第一虚拟对象模拟出真实环境的人类感知方式,如果有第二虚拟对象进入感知区域,基于警戒参数来控制第一虚拟对象的互动行为,能够基于虚拟场景中实时、动态的战斗环境,来控制第一虚拟对象给出相应的反馈,为第一虚拟对象提供了一种非固化的行为逻辑,提升了第一虚拟对象的互动性、趣味性,从而提升了人机交互效率。
图10是本申请实施例提供的一种虚拟对象的控制方法的原理性示意图,请参考图10,在一个示例性场景中,提供了五种不同的状态:巡逻状态1001、准备状态1002、调查状态1003、战斗状态1004以及战斗调查状态1005。在本实施例中,提供一种基于阈值执行状态切换的处理逻辑。第一虚拟对象在出生后,即刻进入到巡逻状态1001,如果检测到第二虚拟对象位于感知区域内,确定该第二虚拟对象的警戒参数,如果警戒参数大于或等于第一阈值,从巡逻状态1001切换至准备状态1002,如果警戒参数大于或等于第二阈值,从巡逻状态1001切换至调查状态1003,如果警戒参数大于或等于第三阈值,从巡逻状态1001切换至战斗状态1004。其中,第一阈值、第二阈值、第三阈值呈递增趋势。
对于处于准备状态1002的第一虚拟对象,如果警戒参数下降至小于第一阈值,从准备状态1002切换回巡逻状态1001,如果警戒参数上升至大于或等于第二阈值,从准备状态1002切换至调查状态1003。
对于处于调查状态1003的第一虚拟对象,如果调查失败,也即并未识别到可攻击的第二虚拟对象,从调查状态1003切换回准备状态1002,如果警戒参数上升至大于或等于第三阈值,从调查状态1003切换至战斗状态1004。
对于处于战斗状态1004的第一虚拟对象,如果第一虚拟对象击败了所有的第二虚拟对象(也即所有敌对目标均死亡),从战斗状态1004切换回准备状态1002,如果经过目标时长未发现可攻击目标,从战斗状态1004切换至战斗调查状态1005。此外,如果第一虚拟对象遭受到攻击(被直接伤害),或者被使用了技能,或者在感知区域的立即战斗区和360度敏感区检测到第二虚拟对象,可以直接从任意状态触发切换至战斗状态1004。
对于处于战斗调查状态1005的第一虚拟对象,如果在战斗状态下调查失败,也即并未识别到可攻击的第二虚拟对象,从战斗调查状态1005切换至准备状态1002。
在本实施例中,提供了一种基于阈值执行状态切换的处理逻辑,同样可以实现控制第一虚拟对象在不同状态中进行切换,与上述实施例中基于区间执行状态切换的处理逻辑均为可选的可能实施方式,本申请实施例不对状态切换的处理逻辑进行具体限定。
图11是本申请实施例提供的一种虚拟对象的控制装置的结构示意图,请参考图11,该装置包括:
第一确定模块1101,用于基于虚拟场景中第一虚拟对象的朝向,确定该第一虚拟对象的感知区域;
第二确定模块1102,用于响应于第二虚拟对象位于该感知区域内,确定该第一虚拟对象对该第二虚拟对象的警戒参数;
控制互动模块1103,用于响应于该警戒参数符合互动条件,在该虚拟场景中控制该第一虚拟对象与该第二虚拟对象进行互动。
本申请实施例提供的装置,通过实时根据第一虚拟对象的朝向来确定感知区域,能够使得第一虚拟对象模拟出真实环境的人类感知方式,如果有第二虚拟对象进入感知区域,基于警戒参数来控制第一虚拟对象的互动行为,能够基于虚拟场景中实时、动态的战斗环境,来控制第一虚拟对象给出相应的反馈,为第一虚拟对象提供了一种非固化的行为逻辑,提升了第一虚拟对象的互动性、趣味性,从而提升了人机交互效率。
在一种可能实施方式中,该第一确定模块1101用于:
基于该第一虚拟对象的位置,确定以该位置为圆心的圆形子区域;
基于该第一虚拟对象的朝向,确定与该朝向相匹配的至少一个扇形子区域;
将该圆形子区域和该至少一个扇形子区域获取为该感知区域。
在一种可能实施方式中,基于图11的装置组成,该装置还包括:
第三确定模块,用于若该第二虚拟对象为可发声对象,基于该第二虚拟对象的发声位置符合感知条件,确定该第二虚拟对象位于该感知区域内。
在一种可能实施方式中,该感知条件为该发声位置与该第一虚拟对象的位置之间的距离小于感知阈值。
在一种可能实施方式中,基于图11的装置组成,该第二确定模块1102包括:
确定单元,用于基于该第一虚拟对象和该第二虚拟对象之间的距离以及该第二虚拟对象在该感知区域内的停留时长,确定该警戒参数。
在一种可能实施方式中,该感知区域包括多个对应于不同感知等级的子区域;
该确定单元用于:
基于该第二虚拟对象所在子区域的感知等级,确定基础警戒速度;
基于该第一虚拟对象和该第二虚拟对象之间的距离,确定警戒速度增幅;
获取该基础警戒速度与该警戒速度增幅相加所得的第一数值,将该第一数值与该停留时长相乘所得的第二数值确定为该警戒参数。
在一种可能实施方式中,该控制互动模块1103用于:
响应于该警戒参数位于目标区间,控制该第一虚拟对象对该第二虚拟对象进行攻击。
在一种可能实施方式中,该控制互动模块1103还用于:
响应于该警戒参数符合巡逻条件,控制该第一虚拟对象在巡逻范围内搜寻该第二虚拟对象。
在一种可能实施方式中,该控制互动模块1103还用于:
响应于该警戒参数符合调查条件,控制该第一虚拟对象在该感知区域内调查该第二虚拟对象;
响应于调查到该第二虚拟对象,确定符合该互动条件;
响应于调查不到该第二虚拟对象,确定不符合该互动条件。
在一种可能实施方式中,响应于该第一虚拟对象遭受攻击,执行该控制互动模块1103。
在一种可能实施方式中,该控制互动模块1103用于:
获取该虚拟场景中至少一个位置点的静态评估分数;
根据该虚拟场景的战斗信息,确定该至少一个位置点的动态评估分数;
基于该静态评估分数和该动态评估分数,确定该第一虚拟对象的下一个走位点。
在一种可能实施方式中,该控制互动模块1103用于:
若存在多个第二虚拟对象对应的警戒参数符合该互动条件,控制该第一虚拟对象与警戒参数最高的第二虚拟对象进行互动。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的虚拟对象的控制装置在控制虚拟对象时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟对象的控制装置与虚拟对象的控制方法实施例属于同一构思,其具体实现过程详见虚拟对象的控制方法实施例,这里不再赘述。
图12是本申请实施例提供的一种终端的结构示意图,以电子设备为终端为例进行说明。可选地,该终端1200的设备类型包括:智能手机、平板电脑、MP3播放器(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1200还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1200包括有:处理器1201和存储器1202。
可选地,处理器1201包括一个或多个处理核心,比如4核心处理器、8核心处理器等。可选地,处理器1201采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。在一些实施例中,处理器1201包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
在一些实施例中,存储器1202包括一个或多个计算机可读存储介质,可选地,该计算机可读存储介质是非暂态的。可选地,存储器1202还包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1201所执行以实现本申请中各个实施例提供的虚拟对象的控制方法。
在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间能够通过总线或信号线相连。各个外围设备能够通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207和电源1209中的至少一种。
外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。可选地,射频电路1204通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。可选地,该UI包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号能够作为控制信号输入至处理器1201进行处理。可选地,显示屏1205还用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205为一个,设置终端1200的前面板;在另一些实施例中,显示屏1205为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在再一些实施例中,显示屏1205是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,可选地,显示屏1205设置成非矩形的不规则图形,也即异形屏。可选地,显示屏1205采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还包括闪光灯。可选地,闪光灯是单色温闪光灯,或者是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,用于不同色温下的光线补偿。
在一些实施例中,音频电路1207包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风为多个,分别设置在终端1200的不同部位。可选地,麦克风是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。可选地,扬声器是传统的薄膜扬声器,或者是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅能够将电信号转换为人类可听见的声波,也能够将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还包括耳机插孔。
电源1209用于为终端1200中的各个组件进行供电。可选地,电源1209是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池支持有线充电或无线充电。该可充电电池还用于支持快充技术。
在一些实施例中,终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、光学传感器1215以及接近传感器1216。
在一些实施例中,加速度传感器1211检测以终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211用于检测重力加速度在三个坐标轴上的分量。可选地,处理器1201根据加速度传感器1211采集的重力加速度信号,控制显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还用于游戏或者用户的运动数据的采集。
在一些实施例中,陀螺仪传感器1212检测终端1200的机体方向及转动角度,陀螺仪传感器1212与加速度传感器1211协同采集用户对终端1200的3D动作。处理器1201根据陀螺仪传感器1212采集的数据,实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
可选地,压力传感器1213设置在终端1200的侧边框和/或显示屏1205的下层。当压力传感器1213设置在终端1200的侧边框时,能够检测用户对终端1200的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在显示屏1205的下层时,由处理器1201根据用户对显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201根据光学传感器1215采集的环境光强度,控制显示屏1205的显示亮度。具体地,当环境光强度较高时,调高显示屏1205的显示亮度;当环境光强度较低时,调低显示屏1205的显示亮度。在另一个实施例中,处理器1201还根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1216,也称距离传感器,通常设置在终端1200的前面板。接近传感器1216用于采集用户与终端1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变小时,由处理器1201控制显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变大时,由处理器1201控制显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员能够理解,图12中示出的结构并不构成对终端1200的限定,能够包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图13是本申请实施例提供的一种服务器的结构示意图,以电子设备为服务器为例进行说明。该服务器1300可因配置或性能不同而产生比较大的差异,该服务器1300包括一个或一个以上处理器(Central Processing Units,CPU)1301和一个或一个以上的存储器1302,其中,该存储器1302中存储有至少一条程序代码,该至少一条程序代码由该处理器1301加载并执行以实现上述各个实施例提供的虚拟对象的控制方法。可选地,该服务器1300还具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1300还包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条程序代码的存储器,上述至少一条程序代码可由终端中的处理器执行以完成上述实施例中虚拟对象的控制方法。例如,该计算机可读存储介质包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-OnlyMemory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,包括一条或多条程序代码,该一条或多条程序代码存储在计算机可读存储介质中。电子设备的一个或多个处理器能够从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器执行该一条或多条程序代码,使得电子设备能够执行以完成上述实施例中虚拟对象的控制方法。
本领域普通技术人员能够理解实现上述实施例的全部或部分步骤能够通过硬件来完成,也能够通过程序来指令相关的硬件完成,可选地,该程序存储于一种计算机可读存储介质中,可选地,上述提到的存储介质是只读存储器、磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种虚拟对象的控制方法,其特征在于,所述方法包括:
基于虚拟场景中第一虚拟对象的朝向,确定所述第一虚拟对象的感知区域,所述感知区域包括一个圆形子区域和至少两个半径不同的扇形子区域,半径最大的扇形子区域中包括第一扇形区域,所述第一扇形区域的半径与所述半径最大的扇形子区域的半径一致,所述第一扇形区域的圆心角小于所述半径最大的扇形子区域的圆心角;所述第一虚拟对象的位置为所述圆形子区域的圆心以及每个所述扇形子区域和所述第一扇形区域的顶点,任一个所述扇形子区域的角平分线与所述第一虚拟对象的朝向重合,所述圆形子区域的半径小于任一个所述扇形子区域的半径;扇形子区域的半径越短,所述扇形子区域的圆心角越大;所述圆形子区域和每个所述扇形子区域的感知等级不同;
响应于第二虚拟对象位于所述感知区域内,基于所述第二虚拟对象所在子区域的感知等级,确定基础警戒速度;其中,每个所述扇形子区域包括多个子子区域,不同的子子区域分别具有不同的基础警戒速度;
基于所述第一虚拟对象和所述第二虚拟对象之间的距离,确定警戒速度增幅;
获取所述基础警戒速度与所述警戒速度增幅相加所得的第一数值,将所述第一数值与在所述感知区域内的停留时长相乘所得的第二数值确定为所述第一虚拟对象对所述第二虚拟对象的警戒参数;
响应于所述警戒参数符合互动条件,获取所述虚拟场景中至少一个位置点的静态评估分数;根据所述虚拟场景的战斗信息,确定所述至少一个位置点的动态评估分数;基于所述静态评估分数和所述动态评估分数,确定所述第一虚拟对象的下一个走位点;或者,
响应于所述第二虚拟对象位于所述第一扇形区域内,在所述虚拟场景中控制所述第一虚拟对象与所述第二虚拟对象进行互动。
2.根据权利要求1所述的方法,其特征在于,所述基于虚拟场景中第一虚拟对象的朝向,确定所述第一虚拟对象的感知区域包括:
基于所述第一虚拟对象的位置,确定以所述位置为圆心的圆形子区域;
基于所述第一虚拟对象的朝向,确定与所述朝向相匹配的至少一个扇形子区域;
将所述圆形子区域和所述至少一个扇形子区域获取为所述感知区域。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第二虚拟对象为可发声对象,基于所述第二虚拟对象的发声位置符合感知条件,确定所述第二虚拟对象位于所述感知区域内。
4.根据权利要求3所述的方法,其特征在于,所述感知条件为所述发声位置与所述第一虚拟对象的位置之间的距离小于感知阈值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述警戒参数位于目标区间,控制所述第一虚拟对象对所述第二虚拟对象进行攻击。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述警戒参数符合巡逻条件,控制所述第一虚拟对象在巡逻范围内搜寻所述第二虚拟对象。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述警戒参数符合调查条件,控制所述第一虚拟对象在所述感知区域内调查所述第二虚拟对象;
响应于调查到所述第二虚拟对象,确定符合所述互动条件;
响应于调查不到所述第二虚拟对象,确定不符合所述互动条件。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述第一虚拟对象遭受攻击,执行控制所述第一虚拟对象与所述第二虚拟对象进行互动的操作。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若存在多个第二虚拟对象对应的警戒参数符合所述互动条件,控制所述第一虚拟对象与警戒参数最高的第二虚拟对象进行互动。
10.一种虚拟对象的控制装置,其特征在于,所述装置包括:
第一确定模块,用于基于虚拟场景中第一虚拟对象的朝向,确定所述第一虚拟对象的感知区域,所述感知区域包括一个圆形子区域和至少两个半径不同的扇形子区域,半径最大的扇形子区域中包括第一扇形区域,所述第一扇形区域的半径与所述半径最大的扇形子区域的半径一致,所述第一扇形区域的圆心角小于所述半径最大的扇形子区域的圆心角;所述第一虚拟对象的位置为所述圆形子区域的圆心以及每个所述扇形子区域和所述第一扇形区域的顶点,任一个所述扇形子区域的角平分线与所述第一虚拟对象的朝向重合,所述圆形子区域的半径小于任一个所述扇形子区域的半径;扇形子区域的半径越短,所述扇形子区域的圆心角越大;所述圆形子区域和每个所述扇形子区域的感知等级不同;
第二确定模块,用于响应于第二虚拟对象位于所述感知区域内,基于所述第二虚拟对象所在子区域的感知等级,确定基础警戒速度;其中,每个所述扇形子区域包括多个子子区域,不同的子子区域分别具有不同的基础警戒速度;基于所述第一虚拟对象和所述第二虚拟对象之间的距离,确定警戒速度增幅;获取所述基础警戒速度与所述警戒速度增幅相加所得的第一数值,将所述第一数值与在所述感知区域内的停留时长相乘所得的第二数值确定为所述第一虚拟对象对所述第二虚拟对象的警戒参数;
控制互动模块,用于响应于所述警戒参数符合互动条件,获取所述虚拟场景中至少一个位置点的静态评估分数;根据所述虚拟场景的战斗信息,确定所述至少一个位置点的动态评估分数;基于所述静态评估分数和所述动态评估分数,确定所述第一虚拟对象的下一个走位点;或者,响应于所述第二虚拟对象位于所述第一扇形区域内,在所述虚拟场景中控制所述第一虚拟对象与所述第二虚拟对象进行互动。
11.根据权利要求10所述的装置,其特征在于,所述第一确定模块用于:
基于所述第一虚拟对象的位置,确定以所述位置为圆心的圆形子区域;
基于所述第一虚拟对象的朝向,确定与所述朝向相匹配的至少一个扇形子区域;
将所述圆形子区域和所述至少一个扇形子区域获取为所述感知区域。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于若所述第二虚拟对象为可发声对象,基于所述第二虚拟对象的发声位置符合感知条件,确定所述第二虚拟对象位于所述感知区域内。
13.根据权利要求12所述的装置,其特征在于,所述感知条件为所述发声位置与所述第一虚拟对象的位置之间的距离小于感知阈值。
14.根据权利要求10所述的装置,其特征在于,所述控制互动模块还用于:
响应于所述警戒参数位于目标区间,控制所述第一虚拟对象对所述第二虚拟对象进行攻击。
15.根据权利要求10所述的装置,其特征在于,所述控制互动模块还用于:
响应于所述警戒参数符合巡逻条件,控制所述第一虚拟对象在巡逻范围内搜寻所述第二虚拟对象。
16.根据权利要求10所述的装置,其特征在于,所述控制互动模块还用于:
响应于所述警戒参数符合调查条件,控制所述第一虚拟对象在所述感知区域内调查所述第二虚拟对象;
响应于调查到所述第二虚拟对象,确定符合所述互动条件;
响应于调查不到所述第二虚拟对象,确定不符合所述互动条件。
17.根据权利要求10所述的装置,其特征在于,响应于所述第一虚拟对象遭受攻击,执行所述控制互动模块。
18.根据权利要求10所述的装置,其特征在于,所述控制互动模块用于:
若存在多个第二虚拟对象对应的警戒参数符合所述互动条件,控制所述第一虚拟对象与警戒参数最高的第二虚拟对象进行互动。
19.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求9任一项所述的虚拟对象的控制方法。
20.一种存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至权利要求9任一项所述的虚拟对象的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010871359.1A CN111921200B (zh) | 2020-08-26 | 2020-08-26 | 虚拟对象的控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010871359.1A CN111921200B (zh) | 2020-08-26 | 2020-08-26 | 虚拟对象的控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111921200A CN111921200A (zh) | 2020-11-13 |
CN111921200B true CN111921200B (zh) | 2023-10-13 |
Family
ID=73305648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010871359.1A Active CN111921200B (zh) | 2020-08-26 | 2020-08-26 | 虚拟对象的控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111921200B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113680055B (zh) * | 2021-08-19 | 2023-08-22 | 网易(上海)网络有限公司 | 虚拟对象的控制方法、电子设备及可读介质 |
CN114504821A (zh) * | 2022-01-17 | 2022-05-17 | 深圳市锐昌智能科技有限公司 | Ue4虚拟现实中虚拟对象的警戒操作控制方法和装置 |
CN116943215A (zh) * | 2023-03-21 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 可见虚拟对象的确定方法、装置、设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010088675A (ja) * | 2008-10-08 | 2010-04-22 | Copcom Co Ltd | ゲームプログラム、記憶媒体およびコンピュータ装置 |
CN110711382A (zh) * | 2019-10-21 | 2020-01-21 | 腾讯科技(深圳)有限公司 | 虚拟操作对象的控制方法、装置、存储介质及电子装置 |
-
2020
- 2020-08-26 CN CN202010871359.1A patent/CN111921200B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010088675A (ja) * | 2008-10-08 | 2010-04-22 | Copcom Co Ltd | ゲームプログラム、記憶媒体およびコンピュータ装置 |
CN110711382A (zh) * | 2019-10-21 | 2020-01-21 | 腾讯科技(深圳)有限公司 | 虚拟操作对象的控制方法、装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111921200A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111589142B (zh) | 虚拟对象的控制方法、装置、设备及介质 | |
CN111589124B (zh) | 虚拟对象的控制方法、装置、终端及存储介质 | |
CN111589140B (zh) | 虚拟对象的控制方法、装置、终端及存储介质 | |
CN111013142B (zh) | 互动效果显示方法、装置、计算机设备及存储介质 | |
CN111921200B (zh) | 虚拟对象的控制方法、装置、电子设备及存储介质 | |
CN111672114B (zh) | 目标虚拟对象确定方法、装置、终端及存储介质 | |
CN111596838B (zh) | 业务处理方法、装置、计算机设备及计算机可读存储介质 | |
CN111760278B (zh) | 技能控件的显示方法、装置、设备及介质 | |
CN111672104B (zh) | 虚拟场景的显示方法、装置、终端及存储介质 | |
CN112691370B (zh) | 虚拟对局中投票结果的显示方法、装置、设备及存储介质 | |
CN113289331B (zh) | 虚拟道具的显示方法、装置、电子设备及存储介质 | |
CN110801628B (zh) | 控制虚拟对象恢复生命值的方法、装置、设备及介质 | |
CN112083848B (zh) | 应用程序内的控件位置调整方法、装置、设备及存储介质 | |
CN113101656B (zh) | 虚拟对象的控制方法、装置、终端及存储介质 | |
CN111744186A (zh) | 虚拟对象的控制方法、装置、设备及存储介质 | |
CN113680060B (zh) | 虚拟画面显示方法、装置、设备、介质及计算机程序产品 | |
CN112156471B (zh) | 虚拟对象的技能选择方法、装置、设备及存储介质 | |
CN111672102A (zh) | 虚拟场景中的虚拟对象控制方法、装置、设备及存储介质 | |
CN111672108A (zh) | 虚拟对象的显示方法、装置、终端及存储介质 | |
CN113117331A (zh) | 多人在线对战程序中的消息发送方法、装置、终端及介质 | |
CN111651616B (zh) | 多媒体资源的生成方法、装置、设备及介质 | |
CN111672101B (zh) | 虚拟场景中的虚拟道具获取方法、装置、设备及存储介质 | |
CN114042315B (zh) | 基于虚拟场景的图形显示方法、装置、设备以及介质 | |
CN112156463B (zh) | 角色展示方法、装置、设备及介质 | |
CN112245920A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |