目标虚拟对象确定方法、装置、终端及存储介质与流程

文档序号:22252683发布日期:2020-09-18 13:06阅读:111来源:国知局
目标虚拟对象确定方法、装置、终端及存储介质与流程

本申请涉及计算机技术领域,特别涉及一种目标虚拟对象确定方法、装置、终端及存储介质。



背景技术:

随着计算机技术的发展以及终端功能的多样化,出现了越来越多的手机游戏,其中,moba(multiplayeronlinebattlearena,多人在线战术竞技)游戏逐渐成为手机游戏中极为重要的一类游戏。在游戏过程中,终端用户所控制的被控虚拟对象,可以通过使用技能来对虚拟场景中的其他虚拟对象造成伤害,如削减被技能命中的虚拟对象的虚拟生命值等。若虚拟对象的虚拟生命值被清零,则该虚拟对象被击败。

目前,在手机moba游戏中,由于用于触发技能的按键通常为虚拟按键,导致终端用户无法精确控制技能精确的命中预期的目标虚拟对象,因此终端通常会通过终端用户设置的命中条件,如虚拟生命值百分比最少、距离最近等,来辅助确定技能命中的目标虚拟对象。

上述技术方案存在的问题是,终端用户通常会预期通过技能击败其他虚拟对象,而可以被技能击败的虚拟对象不一定符合用户设置的命中条件,从而导致终端确定的目标虚拟对象与终端用户预期的目标虚拟对象不符,导致人机交互效率低下。



技术实现要素:

本申请实施例提供了一种目标虚拟对象确定方法、装置、终端及存储介质,能够使得终端确定的目标虚拟对象与终端用户预期的目标虚拟对象一致,从而提高了人机交互效率,优化了用户体验。该技术方案如下:

一方面,提供了一种目标虚拟对象确定方法,该方法包括:

响应于被控虚拟对象的目标技能的触发操作,确定所述目标技能对应的目标搜索范围,所述被控虚拟对象为终端用户控制的虚拟对象;

响应于在所述目标搜索范围中存在至少两个第一虚拟对象,从所述至少两个第一虚拟对象中,获取符合被击败条件的至少一个第一虚拟对象,所述第一虚拟对象为与所述被控虚拟对象属于不同阵营的虚拟对象;

从所述至少一个第一虚拟对象中,获取符合所述终端用户的目标命中条件的第一虚拟对象,将所述第一虚拟对象作为被所述目标技能命中的目标虚拟对象。

一方面,提供了一种目标虚拟对象确定装置,该装置包括:

范围确定模块,用于响应于被控虚拟对象的目标技能的触发操作,确定所述目标技能对应的目标搜索范围,所述被控虚拟对象为终端用户控制的虚拟对象;

第一对象获取模块,用于响应于在所述目标搜索范围中存在至少两个第一虚拟对象,从所述至少两个第一虚拟对象中,获取符合被击败条件的至少一个第一虚拟对象,所述第一虚拟对象为与所述被控虚拟对象属于不同阵营的虚拟对象;

第二对象获取模块,用于从所述至少一个第一虚拟对象中,获取符合所述终端用户的目标命中条件的第一虚拟对象,将所述第一虚拟对象作为被所述目标技能命中的目标虚拟对象。

在一种可选的实现方式中,所述第二对象获取模块,还用于响应于在所述目标技能对应的目标搜索范围中仅存在一个第一虚拟对象,将所述第一虚拟对象作为所述目标虚拟对象。

一方面,提供了一种终端,该终端包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现如上述任一种可能实现方式的目标虚拟对象确定方法所执行的操作。

一方面,提供了一种存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现如上述任一种可能实现方式的目标虚拟对象确定方法所执行的操作。

一方面提供了一种应用程序产品,该应用程序产品存储有一条或多条指令,该一条或多条指令可以由计算机设备的处理器执行,以完成上述目标虚拟对象确定方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

在本申请实施例中,通过从目标技能对应的搜索范围内获取的至少两个第一虚拟对象中,获取符合击败条件,即能够被目标技能击败的至少一个第一虚拟对象,再通过终端用户的目标命中条件进行筛选,使得终端确定的目标虚拟对象与终端用户预期的目标虚拟对象一致,从而提高了人机交互效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种目标虚拟对象确定方法的实施环境示意图;

图2是本申请实施例提供的一种目标虚拟对象确定方法的流程图;

图3是本申请实施例提供的一种目标虚拟对象确定方法的流程图;

图4是根据本申请实施例示例性提供的一种触发技能的方式的示意图;

图5是本申请实施例提供的一种目标搜索范围的示意图;

图6是本申请实施例提供的另一种目标搜索范围的示意图;

图7是本申请实施例提供的一种获取符合被击败条件的第一虚拟对象的流程示意图;

图8是本申请实施例提供的另一种目标虚拟对象确定方法的流程示意图;

图9是本申请实施例提供的一种搜索树的类图结构图;

图10是本申请实施例提供的一种游戏场景的示意图;

图11是本申请实施例提供的一种搜索树的逻辑示意图;

图12是本申请实施例提供的一种目标虚拟对象确定装置的结构示意图;

图13是本申请实施例提供的一种终端的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。

本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。

为了便于理解本申请实施例的技术过程,下面对本申请实施例所涉及的一些名词进行解释:

虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。可选地,该虚拟场景还可以用于至少两个虚拟对象之间的虚拟场景对战,在该虚拟场景中具有可供至少两个虚拟对象使用的虚拟资源。可选地,该虚拟场景中可以包括对称的两个区域,属于两个敌对阵营的虚拟对象分别占据其中一个区域,并以摧毁对方区域深处的目标建筑/据点/基地/水晶来作为胜利目标,其中,对称的区域比如左下角区域和右上角区域,又比如左侧中部区域和右侧中部区域等。

虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。在虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。可选地,当虚拟场景为三维虚拟场景时,可选地,虚拟对象可以是一个三维立体模型,该三维立体模型可以是基于三维人体骨骼技术构建的三维角色,同一个虚拟对象可以通过穿戴不同的皮肤来展示出不同的外在形象。在一些实施例中,虚拟对象也可以采用2.5维或2维模型来实现,本申请实施例对此不加以限定。

可选地,该虚拟对象可以是通过客户端上的操作进行控制的玩家角色,也可以是通过训练设置在虚拟场景对战中的人工智能(artificialintelligence,ai),还可以是设置在虚拟场景互动中的非玩家角色(non-playercharacter,npc)。可选地,该虚拟对象可以是在虚拟场景中进行竞技的虚拟人物。可选地,该虚拟场景中参与互动的虚拟对象的数量可以是预先设置的,也可以是根据加入互动的客户端的数量动态确定的。

npc对象:npc对象是指非用户控制的虚拟对象,在形式上可以包括虚拟生物、虚拟物品、虚拟幽灵等各类形式。npc对象可以隶属于某个参与对抗的用户阵营,也可以不隶属于参与对抗的任何用户阵营(也即中立虚拟对象)。

中立虚拟对象:不隶属于参与对抗的任何用户阵营的npc对象可以俗称为“中立虚拟对象”。中立虚拟对象可以与参与对抗的任一用户阵营的虚拟对象之间进行对抗行为,换言之,中立虚拟对象可以攻击参与对抗的任一用户阵营的虚拟对象,也可以被参与对抗的任一用户阵营的虚拟对象攻击,比如该中立虚拟对象可以包括本申请实施例所涉及的第一虚拟对象和第二虚拟对象。中立虚拟对象通常作为一种可夺取的竞技资源,并为夺取方提供增益效果,比如,中立虚拟对象可以由参与对抗的各个用户阵营以对抗的方式进行争夺,率先击败(或击杀)中立虚拟对象的用户所在的阵营可以获取该中立虚拟对象所提供的增益效果。

moba(multiplayeronlinebattlearena,多人在线战术竞技)游戏:是一种在虚拟场景中提供若干个据点,处于不同阵营的用户控制虚拟对象在虚拟场景中对战,占领据点或摧毁敌对阵营据点的游戏。例如,moba游戏可将用户分成至少两个敌对阵营,分属至少两个敌对阵营的不同虚拟队伍分别占据各自的地图区域,以某一种胜利条件作为目标进行竞技。该胜利条件包括但不限于:占领据点或摧毁敌对阵营据点、击杀敌对阵营的虚拟对象、在指定场景和时间内保证自身的存活、抢夺到某种资源、在指定时间内互动比分超过对方中的至少一种。例如,手机moba游戏可将用户分成两个敌对阵营,将用户控制的虚拟对象分散在虚拟场景中互相竞争,以摧毁或占领敌方的全部据点作为胜利条件。

可选地,每个虚拟队伍包括一个或多个虚拟对象,比如1个、2个、3个或5个,根据参与战术竞技中各队伍内虚拟对象的数量,可以将战术竞技划分为1v1竞技比拼、2v2竞技比拼、3v3竞技比拼、5v5竞技比拼等,其中,1v1是指“1对1”的意思,这里不做赘述。

可选地,moba游戏可以采用局(或称为回合)为单位来进行,每局战术竞技的地图可以相同,也可以不同。一局moba游戏的持续时间是从游戏开始的时刻至达成胜利条件的时刻。

在moba游戏中,用户可以控制虚拟对象在该虚拟场景的天空中自由下落、滑翔或者打开降落伞进行下落等,在陆地上中跑动、跳动、爬行、弯腰前行等,也可以控制虚拟对象在海洋中游泳、漂浮或者下潜等,在此仅以上述场景进行举例说明,本申请实施例对此不作具体限定。

在moba游戏中,用户还可以控制虚拟对象释放技能从而与其他虚拟对象进行战斗,例如,该技能的技能类型可以包括攻击技能、防御技能、治疗技能、辅助技能、斩杀技能等,每个虚拟对象都可以具有各自固定的一个或多个技能,而不同的虚拟对象通常具有不同的技能,不同的技能可以产生不同的作用效果。比如,若虚拟对象释放攻击技能击中了敌对虚拟对象,那么会对敌对虚拟对象造成一定的伤害,通常表现为扣除敌对虚拟对象的一部分虚拟生命值,又比如,若虚拟对象释放治疗技能命中了友方虚拟对象,那么会对友方虚拟对象产生一定的治疗,通常表现为回复友方虚拟对象的一部分虚拟生命值,其他各类技能均可以产生相应的作用效果,这里不再一一枚举。

逻辑层设置于客户端(终端),用于数据的逻辑运算,将运算完成后的数据传输给表现层执行。

表现层设置于客户端(终端),用于管理终端用户通过操作界面的输入、将数据包传输给服务器以及执行逻辑层传输的数据。

服务器设置于服务端,用于接收表现层传输的数据并同步给客户端的逻辑层。

以下,对本申请涉及的系统架构进行介绍。

图1是本申请实施例提供的一种目标虚拟对象确定方法的实施环境示意图。参见图1,该实施环境包括:终端110和服务器120。

终端110以及服务器120可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端110安装和运行有支持虚拟场景的应用程序。该应用程序可以是moba游戏、大型多人在线角色扮演游戏(massivelymultiplayeronlineroleplayinggame,mmorpg)、第一人称射击游戏(first-personshootinggame,fps)、第三人称射击游戏、虚拟现实应用程序、三维地图程序、军事仿真程序或者多人枪战类生存游戏中的任意一种。终端110可以是用户使用的终端,终端110中运行的应用程序内登录有用户账户。用户使用终端110操作位于虚拟场景中的被控虚拟对象进行活动,该活动包括但不限于:释放技能、调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,被控虚拟对象是虚拟人物,比如仿真人物角色或动漫人物角色。

服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器120用于为支持虚拟场景的应用程序提供后台服务。可选地,服务器120可以承担主要计算工作,终端110可以承担次要计算工作;或者,服务器120承担次要计算工作,终端110承担主要计算工作;或者,服务器120或终端110分别可以单独承担分类工作;或者,服务器120和终端110之间采用分布式计算架构进行协同计算。

可选地,服务器120可以由接入服务器、后台服务器和数据库服务器构成。接入服务器用于为终端110提供接入服务。后台服务器用于提供虚拟场景的应用程序的后台服务。后台服务器可以是一台或多台。当后台服务器是多台时,存在至少两台后台服务器用于提供不同的服务,和/或,存在至少两台后台服务器用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。

终端110可以泛指多个终端中的一个,本实施例仅以终端110来举例说明。终端上安装的应用程序可以是相同的,或两个终端上安装的应用程序是不同操作系统平台的同一类型应用程序。本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。在一些实施例中,终端110控制的被控虚拟对象和其他终端控制的其他虚拟对象处于同一虚拟场景中,此时被控虚拟对象可以在虚拟场景中与其他虚拟对象进行对抗式交互。上述被控虚拟对象以及其他虚拟对象可以为敌对关系,例如,被控虚拟对象与其他虚拟对象可以属于不同的队伍和阵营,敌对关系的虚拟对象之间,可以以互相释放技能的方式进行对战,比如,被控虚拟对象向其他虚拟对象释放攻击技能。在另一些实施例中,被控虚拟对象以及其他虚拟对象还可以为队友关系,例如,目标虚拟人物和其他虚拟人物可以属于同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限,在这种情况下,被控虚拟对象可以向其他虚拟对象释放治疗技能。

图2是本申请实施例提供的一种目标虚拟对象确定方法的流程图。在本申请实施例中以应用于终端为例,该终端可以是图1所示的终端110,参见图2,该目标虚拟对象确定方法包括以下步骤:

201、响应于被控虚拟对象的目标技能的触发操作,终端确定该目标技能对应的目标搜索范围,该被控虚拟对象为终端用户控制的虚拟对象。

在本申请实施例中,被控虚拟对象具有至少一个可以与敌对阵营的第一虚拟对象进行对抗式交互的技能。终端用户可以通过对技能的触发选项进行点击、拖动等触发操作来触发技能。被控虚拟对象的目标技能被触发时,终端可以获取到该目标技能的触发操作,终端可以将被控虚拟对象所在的位置作为中心,将在一定的搜索范围内搜索到的第一虚拟对象作为该目标技能的可选目标。由于不同技能对应的搜索范围不同,因此,目标搜索范围中存在的第一虚拟对象的数量也就有所不同。

202、响应于在目标搜索范围中存在至少两个第一虚拟对象,终端从该至少两个第一虚拟对象中,获取符合被击败条件的至少一个第一虚拟对象,该第一虚拟对象为与该被控虚拟对象属于不同阵营的虚拟对象。

在本申请实施例中,被控虚拟对象触发的目标技能可以是用于削减第一虚拟对象的虚拟生命值的攻击技能,第一虚拟对象的虚拟生命值被削减为零时,该第一虚拟对象被击败。若该目标技能可以将任一第一虚拟对象当前的虚拟生命值削减为零,则该第一虚拟对象为符合被击败条件的第一虚拟对象。

203、终端从该至少一个第一虚拟对象中,获取符合该终端用户的目标命中条件的第一虚拟对象,将该第一虚拟对象作为被该目标技能命中的目标虚拟对象。

在本申请实施例中,终端用户可以设置命中条件,如虚拟生命值百分比最少、距离被控虚拟对象最近或者虚拟生命值最低等。终端可以根据终端用户设置的目标命中条件,选择一个符合该目标命中条件的第一虚拟对象作为目标虚拟对象,即目标技能命中的目标虚拟对象。该目标虚拟对象在该目标技能命中后被击败。

在本申请实施例中,通过从目标技能对应的搜索范围内获取的至少两个第一虚拟对象中,获取符合击败条件,即能够被目标技能击败的至少一个第一虚拟对象,再通过终端用户的目标命中条件进行筛选,使得终端确定的目标虚拟对象与终端用户预期的目标虚拟对象一致,从而提高了人机交互效率。

图3是本申请实施例提供的一种目标虚拟对象确定方法的流程图。在本申请实施例中以应用于终端为例,该终端可以是图1中所示的终端110,参见图3,该目标虚拟对象确定方法包括以下步骤:

301、响应于被控虚拟对象的目标技能的触发操作,终端确定该目标技能对应的目标搜索范围,该被控虚拟对象为终端用户控制的虚拟对象。

在本申请实施例中,在游戏过程中,终端用户可以控制被控虚拟对象在虚拟场景中与其他虚拟对象进行交互。被控虚拟对象具有至少一个可以被触发的技能,该技能可以是攻击技能、防御技能、治疗技能、辅助技能、斩杀技能中的一个。其中,攻击技能通常表现为在命中敌对阵营的第一虚拟对象后,扣除该被命中的第一虚拟对象的一部分虚拟生命值。并且,通常攻击技能无法选择友方阵营的第二虚拟对象作为命中的目标。终端用户可以通过触发不同技能的触发选项来触发相应的技能,终端可以检测到各技能被触发时的触发操作。

下面简单介绍一下技能的触发方式。

在终端上运行的moba游戏,其技能的触发选项通常采用技能摇杆的方式进行显示。该技能摇杆为虚拟按键,包括两个区域:第一区域和第二区域。其中,第一区域用于快速触发该技能摇杆对应的技能,通常称为快速施法;第二区域用于由终端用户通过拖动操作来选择该技能摇杆对应的技能所命中的目标,通常称为主动瞄准。

例如,参见图4所示,图4是根据本申请实施例示例性提供的一种触发技能的方式的示意图。如图4所示,400表示技能摇杆,该技能摇杆包括第一区域401和第二区域402,其中第一区域401为以技能激活点为圆心,半径r为半径的圆,第二区域402为第一区域401外的圆环区域,r为正数。终端用户可以通过点击第一区域401来实现快速施法,终端用户可以通过按下技能摇杆并拖动到第二区域402来实现主动瞄准。

需要说明的是,终端用户触发技能的方式不同,终端确定目标技能对应的目标搜索范围的方式也不同。

当终端用户通过快速施法的方式触发技能时,终端可以将被控虚拟对象当前所在的第二场景位置作为圆心,将半径为n的圆形区域作为该技能对应的目标搜索范围。其中,n为正数。

例如,参见图5所示,图5是本申请实施例提供的一种目标搜索范围的示意图。如图5所示,图5中包括被控虚拟对象501、第一虚拟对象502和第一虚拟对象503,虚线区域504为以被控虚拟对象501的第二场景位置为圆心,半径为n的圆形区域,该虚线区域504即为目标搜索范围。其中半径n可以为技能射程范围参数和技能搜索范围参数的和。

当终端用户通过主动瞄准的方式触发技能时,终端可以根据终端用户拖动触发选项的距离以及被控虚拟对象当前所在的第二场景位置,来确定技能对应的目标搜索范围。相应的,终端确定目标技能对应的目标搜索范围的步骤可以为:终端可以获取对目标技能的触发选项进行拖拽操作时的第一屏幕位置和第二屏幕位置,该第一屏幕位置为起始位置,第二屏幕位置为结束位置。终端可以根据该第一屏幕位置和该第二屏幕位置,确定该目标技能在虚拟场景中对应的第一场景位置,该第一场景位置为目标搜索范围的中心位置。终端可以根据该第一场景位置、被控虚拟对象的第二场景位置和目标技能的技能范围信息,确定该目标技能对应的目标搜索范围。其中,技能范围信息包括技能射程范围参数和技能搜索范围参数。由于通过终端用户对触发选项进行拖动的相对位置,来确定一个第一场景位置,再结合被控虚拟对象的第二场景位置和技能范围信息来确定目标技能对应的目标搜索范围,使得该目标搜索范围中包括符合终端用户的预期的第一虚拟对象,提高了人机交互效率。

例如,参见图6所示,图6是本申请实施例提供的另一种目标搜索范围的示意图。如图6所示,图6中包括被控虚拟对象501、第一虚拟对象502和第一虚拟对象503,虚线区域504为以被控虚拟对象501的第二场景位置为圆心,半径为n的圆形区域,第一屏幕位置601,第二屏幕位置602,第一场景位置603,虚线区域604为以第一场景位置603为圆心,半径为r的圆形区域,该虚拟线区域604即为目标搜索范围。

在一种可选的实现方式中,第一屏幕位置和第二屏幕位置之间的距离可以通过比例关系映射为第一场景位置和第二场景位置之间的距离,相应的,终端根据第一屏幕位置和第二屏幕位置,确定目标技能在虚拟场景中对应的第一场景位置的步骤可以为:终端可以根据第一屏幕位置、第二屏幕位置以及屏幕中心对应的第三屏幕位置,确定第一位置信息,该第一位置信息用于指示第一场景位置相对于所述第二场景位置的方向。然后,终端可以根据第一屏幕位置、第二屏幕位置、目标技能的触发选项的拖动范围信息、目标技能的技能范围信息,确定第二位置信息,该第二位置信息用于指示第一场景位置与第二场景位置之间的距离。最后,终端可以根据第二场景位置、第一位置信息和第二位置信息,确定目标技能在虚拟场景中对应的第一场景位置。由于通过将第一屏幕位置到第二屏幕位置的变化映射到虚拟场景中第二场景位置到第一场景位置的变化,使得该第一场景位置为终端用户所期望的位置,提高了人机交互效率。

需要说明的是,终端可以通过以下公式(1)来表示各位置之间的距离的比例关系。

其中,downpos表示第一屏幕位置,dragpos表示第二屏幕位置,maxdragradius表示目标技能的触发选项的拖动范围信息所指示的最大拖动范围,focuspoint表示第一场景位置,heropos表示被控虚拟对象当前所在的第二场景位置,skillrange表示目标技能的技能范围信息所指示的技能射程。

基于上述比例关系,终端可以采用中心映射的方法,将屏幕中心(0,0)对应的第三屏幕位置映射到虚拟场景中,得到第三场景位置。然后根据屏幕中心和第一屏幕位置与第二屏幕位置之间的距离差的和值,映射得到第四场景位置。第三场景位置指向第四场景位置的方向与第二场景位置指向第一场景位置的方向相同。因此,第一场景位置可以通过以下公式(2)计算得到。

其中,focuspoint表示第一场景位置,heropos表示被控虚拟对象当前所在的第二场景位置,skillrange表示目标技能的技能范围信息所指示的技能射程,normalize()表示归一化,screencenter2sencepos表示第三场景位置,screendrag2scenepos表示第四场景位置。

需要说明的是,终端可以调用用于搜索第一虚拟对象的应用程序接口,来搜索目标搜索范围内包括的第一虚拟对象。终端可以将目标技能的技能标识、技能射程信息,技能范围信息,第一场景位置等多个参数作为上述应用程序接口的输入参数。

302、终端根据该目标技能对应的目标过滤条件,从该目标搜索范围内确定满足该目标过滤条件的第一虚拟对象,该第一虚拟对象为与该被控虚拟对象属于不同阵营的虚拟对象。

在本申请实施例中,终端可以将上述目标搜索范围内包括的可以被目标技能作为目标的对象以列表的形式进行存储,然后获取该目标技能对应的目标过滤条件,将不符合该目标过滤条件的对象从该列表中删除,剩余的对象为满足该目标过滤条件的对象。其中,目标过滤条件可以为技术人员为目标技能设置的条件,如目标的对象类型为虚拟对象、目标为敌方阵营的虚拟对象、虚拟对象处于可见状态、虚拟对象处于可选中状态等,本申请实施例对此不进行限制。通过设置不同的过滤条件,可以过滤得到不同的对象,如第一虚拟对象。

例如,目标技能可以作用于敌方阵营的第一虚拟对象,也可以作用于敌方阵营的建筑物,还可以作用于中立虚拟对象等,则终端可以通过目标过滤条件,将不属于第一虚拟对象、不属于敌方阵营的建筑物以及不属于中立虚拟对象的对象从列表中删除。再如,目标技能不可以作用于处于隐身状态和不可选中状态的虚拟对象,则终端可以从列表中删除处于隐身状态和不可选中状态的虚拟对象。

303、响应于在该目标搜索范围中仅存在一个第一虚拟对象,终端将该第一虚拟对象作为目标虚拟对象,流程结束。

在本申请实施例中,如果目标搜索范围中仅存在一个第一虚拟对象,则终端不需要在对该第一虚拟对象进行过多的判定,该第一虚拟对象即为终端用户预期的目标虚拟对象,终端可以直接将该第一虚拟对象作为目标虚拟对象。

304、响应于在该目标搜索范围中存在至少两个第一虚拟对象,终端从该至少两个第一虚拟对象中,获取符合被击败条件的至少一个第一虚拟对象。

在本申请实施例中,目标技能可以对第一虚拟对象造成伤害,来削减第一虚拟对象的虚拟生命值,若目标技能可以将第一虚拟对象的虚拟生命值削减为零,则该目标技能可以击败该第一虚拟对象,也即该第一虚拟对象符合被击败条件。

在一种可选的实现方式中,目标技能可以对第一虚拟对象造成多种类型的伤害,如单体伤害、溅射伤害、物理伤害、魔法伤害以及真实伤害等,本申请实施例对伤害类型不进行限制。相应的,终端从该至少两个第一虚拟对象中,获取符合被击败条件的至少一个第一虚拟对象的步骤可以为:对于至少两个第一虚拟对象中的任一第一虚拟对象,终端可以获取该目标技能对应的至少一种伤害类型。然后,终端可以对该至少一种伤害类型对应的伤害值进行累加,得到伤害总值。响应于该伤害总值大于该第一虚拟对象当前的虚拟生命值,将该第一虚拟对象获取为符合被击败条件的第一虚拟对象。由于通过将目标技能造成的多种类型的伤害的伤害值进行叠加,然后再判断各第一虚拟对象是否符合被击败条件,使得可以更准确的确定能够被目标技能击败的第一虚拟对象,从而满足终端用户的预期,提高人机交互效率。

例如,目标技能可以造成伤害类型a、伤害类型b和伤害类型c三种类型的伤害,则终端可以将三种伤害类型造成的伤害值a、b和c进行累加,得到伤害总值,通过该伤害总值来判断是否可以击败第一虚拟对象。相应的,终端对不同第一虚拟对象是否符合被击败条件的判定流程可以参见图7所示,图7是本申请实施例提供的一种获取符合被击败条件的第一虚拟对象的流程示意图。如图7所示,终端在目标搜索范围内确定的至少两个第一虚拟对象以列表的形式进行存储,得到目标列表。步骤701、终端遍历目标列表。步骤702、对于任一第一虚拟对象,终端初始化对该第一虚拟对象的伤害总值hurtvalue=0。步骤703、遍历目标技能对应的至少一种伤害类型。704、终端计算每个伤害类型对应的伤害值curhurt,并进行累加hurtvalue=hurtvalue+curhurt。705、判断hurtvalue是否大于该第一虚拟对象当前的虚拟生命值,如果hurtvalue大于该第一虚拟对象当前的虚拟生命值,则进行下一个第一虚拟对象的处理;如果hurtvalue不大于该第一虚拟对象当前的虚拟生命值,执行步骤706。步骤706、如果hurtvalue不大于该第一虚拟对象当前的虚拟生命值,从目标列表中删除该第一虚拟对象。

305、响应于该至少两个第一虚拟对象均不符合被击败条件,从该至少两个第一虚拟对象中,获取符合该终端用户的目标命中条件的第一虚拟对象,将该第一虚拟对象作为被该目标技能命中的目标虚拟对象,流程结束。

在本申请实施例中,在游戏开始前或者游戏过程中,终端用户可以设置不同的命中条件,如虚拟生命值剩余值优先、虚拟生命值百分比优先、与被控虚拟对象之间距离优先以及与第一场景位置之间距离优先等。终端通过该终端用户的目标命中条件,可以从上述至少两个第一虚拟对象中确定最符合该目标命中条件的第一虚拟对象作为目标虚拟对象。

需要说明的是,若终端用户设置的目标命中条件为虚拟生命值剩余值优先,即优先选择虚拟生命值剩余值最小的第一虚拟对象作为目标虚拟对象。终端可以根据当前剩余的虚拟生命值对上述至少两个第一虚拟对象进行升序排序,然后返回顺序位于第一位的第一虚拟对象。再如,终端用户设置的目标命中条件为虚拟生命值百分比优先,即优先选择虚拟生命值剩余百分比最小的第一虚拟对象作为目标虚拟对象。终端可以根据当前剩余的虚拟生命值的百分比对上述至少两个第一虚拟对象进行升序排序,然后返回顺序位于第一位的第一虚拟对象。同理,目标命中条件为与被控虚拟对象之间距离优先,则优先选择距离被控虚拟对象最近的第一虚拟对象作为目标虚拟对象。目标命中条件为与第一场景位置之间距离优先,则优先选择距离第一场景位置最近的第一虚拟对象作为目标虚拟对象。本申请实施例对目标命中条件不进行限制。

例如,第一虚拟对象a的总虚拟生命值为1000,当前的虚拟生命值为300,第一虚拟对象b的总虚拟生命值为500,当前的虚拟生命值为200。目标命中条件为虚拟生命值剩余值优先时,第一虚拟对象b为目标虚拟对象;目标命中条件为虚拟生命值百分比优先时,第一虚拟对象a为目标虚拟对象。

306、终端从该至少一个第一虚拟对象中,获取符合该终端用户的目标命中条件的第一虚拟对象,将该第一虚拟对象作为被该目标技能命中的目标虚拟对象。

在本申请实施例中,终端如果获取到了至少一个可以被目标技能击败的第一虚拟对象,则终端可以根据终端用户的目标命中条件对该至少一个第一虚拟对象进行进一步的筛选,可以参见步骤305所述,在此不再赘述。

需要说明的是,上述步骤301值步骤306是本申请实施例提供的目标虚拟对象确定方法的可选实施例,相应的,还有其他可选的实现方式。如参见图8所示,图8是本申请实施例提供的另一种目标虚拟对象确定方法的流程示意图。如图8所示,步骤801、终端获取逻辑层各虚拟对象的信息。步骤802、搜索目标技能的目标搜索范围内是否包含合法目标,即可以被目标技能命中的虚拟对象,如果不包含合法目标,则执行步骤803,如果包含合法目标,则执行步骤804。步骤803、持续搜索合法目标。步骤804、判断是否有合法目标可以被目标技能击败,如果没有则执行步骤805,如果有则执行步骤806。步骤805、执行默认搜索目标流程,即根据目标命中条件进行目标虚拟对象的选择。步骤806、根据终端用户设置的目标命中条件,对可以被击败的合法目标进行排序。步骤807、选出优先级最高的合法目标作为目标虚拟对象。

在本申请实施例中,通过从目标技能对应的搜索范围内获取的至少两个第一虚拟对象中,获取能够被目标技能击败的至少一个第一虚拟对象,再通过终端用户设置的目标命中条件进行筛选,使得终端确定的目标虚拟对象与终端用户预期的目标虚拟对象一致,从而提高了人机交互效率。

上述图3是本申请实施例提供的一种目标虚拟对象确定方法的一种实现方式,相应的本申请实施例在确定目标虚拟对象时,还可以通过复杂的搜索逻辑来实现,该搜索逻辑可以称为搜索树。参见图9所示,图9是本申请实施例提供的一种搜索树的类图结构图。如图9所示,搜索树中所有的节点都继承自baseselector这个类,baseselector有三个核心派生子类,linkedselector、branchselector和priorityselector。baseselector主要包括两个方法:configure()和select(),其中configure()用于通过技术人员配置的表格数据来初始化各selector的数据,如branchselector需要配置多个分支,则configure()配置的数据就是几个分支selector的id。再比如,linkedselector的子类shapefilter中需要配置形状字段,如圆形、扇形、圆形半径、扇形角度等参数。select()函数输入参数为list<battleactor>,即存储有虚拟对象的列表,返回参数为battleactor,即虚拟对象。

下面分别介绍baseselector的三个核心派生类。

linkselector:核心是有一个next参数,用于表示下一个需要的过滤器,从而形成链状结构。它有很多子类,很多子类基本都是filter,也即过滤器,主要在select函数中将不符合条件的battleactor从参数中删除,并将删除了battleactor的list<battleactor>传递给下一个selector,这样就实现了对虚拟对象的筛选。比如shapefilter,会在configure配置需要的图形和参数,select函数则会逐个判断参数list<battleactor>中的虚拟对象是否在形状范围内,并且将不在范围的虚拟对象从列表中删除,其他filter同理。比如bufftypefilter会将身上包含某一类附加状态的虚拟对象删除,如隐身状态、不可选中状态等。idfilter将含有某个技能标识的虚拟对象删除,用于处理某个技能不能第二次命中敌人,cankillfilter用于判断技能能否击败虚拟对象。除了以上的过滤器之外,还有其他很多过滤器,在此不在赘述。

branchselector:主要功能是用于处理多个条件优先级。在配置表格中会配置几个selector的id,在configure函数中会根据配置的selectorid初始化成员变量selectors,在select函数中需要将参数list<battleactor>中的虚拟对象先暂存起来,然后逐个用selectors中baseselector以暂存的list<battleactor>作为参数调用select函数判断是否有返回battleactor,如果有返回battleactor就表示已经有一个battleactor满足了目标条件,如在目标搜索范围内,或者可以被目标技能命中等,则不需要遍历之后的selectors了,如果没有返回则下一个selectors中的baseselector。

priorityselector:通过这个selector可以将已经过滤完成的list<battleactor>进行排序,选出合适的battleactor。技术人员可以在表格中配置命中条件,比如血量优先、距离优先、百分比血量优先、与focuspoint距离优先等,由终端用户进行命中条件的选择,在select函数中会根据配置的命中条件对参数的list<battleactor>做一个排序,并返回列表中的第一个,如果列表为空则返回null。

通过对多个selector进行组合,可以实现复杂的搜索逻辑,从而得到符合终端用户的预期的目标虚拟对象。例如,参见图10所示,图10是本申请实施例提供的一种游戏场景的示意图。如图10所示,图中包括被控虚拟对象1001,第一虚拟对象1002、第一虚拟对象1003和第一虚拟对象1004。其中,第一虚拟对象1002当前的虚拟生命值最少,但是其魔法抗性较高,即能够减少魔法攻击能造成的伤害;第一虚拟对象1003和第一虚拟对象1004当前的虚拟生命值较高,但是魔法抗性较低。当被控虚拟对象1001被触发的目标技能为魔法攻击技能时,可以击败第一虚拟对象1003和第一虚拟对象1004,但无法击败第一虚拟对象1002。终端用户预期通过目标技能击败其中一个第一虚拟对象,则搜索树的逻辑可以如图11所示,图11是本申请实施例提供的一种搜索树的逻辑示意图。如图11所示,首先通过branchselector(分支选择器)确定三个第一虚拟对象:第一虚拟对象1002、第一虚拟对象1003和第一虚拟对象1004。然后将该三个第一虚拟对象输入cankillfilter(击败过滤器),该cankillfilter为过滤器,用于过滤不能被目标技能击败的第一虚拟对象。由于第一虚拟对象1002不能被目标技能击败,则通过cankillfilter之后得到第一虚拟对象1003和第一虚拟对象1004。再通过priorityselector(优先选择器)+prioritytyp(优先类型):hplow(虚拟生命值最低),即终端用户设置的目标命中条件:虚拟生命值优先,进行过滤。由于第一虚拟对象1003当前的虚拟生命值小于第一虚拟对象1004当前的虚拟生命值,则返回第一虚拟对象1003作为目标虚拟对象。

通过搜索树对不同虚拟对象以及不同技能设置不用复杂程度的搜索逻辑,使得终端用户可以通过较低的操作成本,快速、精准的选择到预期的虚拟对象,提供了人机交互效率。尤其是对于一些具有特殊机制的技能,如击败敌对阵营的虚拟对象后可以再次使用的技能,通过本申请实施例提供的方法,可以大大的提高技能再次使用的成功率,提高了人机交互效率,给用户带来较好的使用体验,提高了游戏的可玩性。

图12是本申请实施例提供的一种目标虚拟对象确定装置的结构示意图,参见图12所示,该装置包括:范围确定模块1201、第一对象获取模块1202以及第二对象获取模块1203。

范围确定模块1201,用于响应于被控虚拟对象的目标技能的触发操作,确定该目标技能对应的目标搜索范围,该被控虚拟对象为终端用户控制的虚拟对象;

第一对象获取模块1202,用于响应于在该目标搜索范围中存在至少两个第一虚拟对象,从该至少两个第一虚拟对象中,获取符合被击败条件的至少一个第一虚拟对象,该第一虚拟对象为与该被控虚拟对象时域不同阵营的虚拟对象;

第二对象获取模块1203,用于从该至少一个第一虚拟对象中,获取符合该终端用户的目标命中条件的第一虚拟对象,将该第一虚拟对象作为被该目标技能命中的目标虚拟对象

在一种可选的实现方式中,该第一对象获取模块1202,用于对于该至少两个第一虚拟对象中的任一第一虚拟对象,获取该目标技能对应的至少一种伤害类型;对该至少一种伤害类型对应的伤害值进行累加,得到伤害总值;响应于该伤害总值大于该第一虚拟对象当前的虚拟生命值,将该第一虚拟对象获取为符合该被击败条件的第一虚拟对象。

在一种可选的实现方式中,该范围确定模块1201,包括:

位置获取单元12011,用于获取对该目标技能的触发选项进行拖拽操作时的第一屏幕位置和第二屏幕位置,该第一屏幕位置为起始位置,该第二屏幕位置为结束位置;

位置确定单元12012,用于根据该第一屏幕位置和该第二屏幕位置,确定该目标技能在虚拟场景中对应的第一场景位置,该第一场景位置为目标搜索范围的中心位置;

范围确定单元12013,用于根据该第一场景位置、该被控虚拟对象的第二场景位置和该目标技能的技能范围信息,确定该目标技能对应的目标搜索范围,该技能范围信息包括该技能射程范围参数和技能搜索范围参数。

在一种可选的实现方式中,该位置确定单元12012,用于根据该第一屏幕位置、该第二屏幕位置以及屏幕中心对应的第三屏幕位置,确定第一位置信息,该第一位置信息用于指示该第一场景位置相对于该第二场景位置的方向;根据该第一屏幕位置、该第二屏幕位置、该目标技能的触发选项的拖动范围信息、该目标技能的技能范围信息,确定第二位置信息,该第二位置信息用于指示该第一场景位置与该第二场景位置之间的距离;根据该第二场景位置、该第一位置信息和该第二位置信息,确定该目标技能在虚拟场景中对应的第一场景位置。

在一种可选的实现方式中,该装置还包括:

条件获取模块1204,用于获取该目标技能对应的目标过滤条件;

第三对象获取模块1205,用于从该目标搜索范围内获取满足该目标过滤条件的第一虚拟对象。

在一种可选的实现方式中,该第二对象获取模块1203,还用于响应于该至少两个第一虚拟对象均不符合该被击败条件,从该至少两个第一虚拟对象中,获取符合该终端用户的目标命中条件的第一虚拟对象,将该第一虚拟对象作为被该目标技能命中的目标虚拟对象。

在一种可选的实现方式中,该第二对象获取模块1203,还用于响应于在该目标技能对应的目标搜索范围中仅存在一个第一虚拟对象,将该第一虚拟对象作为该目标虚拟对象。

在本申请实施例中,通过从目标技能对应的搜索范围内获取的至少两个第一虚拟对象中,获取符合击败条件,即能够被目标技能击败的至少一个第一虚拟对象,再通过终端用户设置的目标命中条件进行筛选,使得终端确定的目标虚拟对象与终端用户预期的目标虚拟对象一致,从而提高了人机交互效率。

图13是根据本申请实施例提供的终端1300的结构框图。该终端1300可以是:智能手机、平板电脑、mp3(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)播放器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端1300包括有:处理器1301和存储器1302。

处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的目标虚拟对象确定方法。

在一些实施例中,终端1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、显示屏1305、摄像头组件1306、音频电路1307、定位组件1308和电源1309中的至少一种。

外围设备接口1303可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1304用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1305用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置在终端1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在终端1300的不同表面或呈折叠设计;在另一些实施例中,显示屏1305可以是柔性显示屏,设置在终端1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。

定位组件1308用于定位终端1300的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1308可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源1309用于为终端1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。

加速度传感器1311可以检测以终端1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1312可以检测终端1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端1300的3d动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1313可以设置在终端1300的侧边框和/或显示屏1305的下层。当压力传感器1313设置在终端1300的侧边框时,可以检测用户对终端1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在显示屏1305的下层时,由处理器1301根据用户对显示屏1305的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置在终端1300的正面、背面或侧面。当终端1300上设置有物理按键或厂商logo时,指纹传感器1314可以与物理按键或厂商logo集成在一起。

光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制显示屏1305的显示亮度。具体地,当环境光强度较高时,调高显示屏1305的显示亮度;当环境光强度较低时,调低显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。

接近传感器1316,也称距离传感器,通常设置在终端1300的前面板。接近传感器1316用于采集用户与终端1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变小时,由处理器1301控制显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变大时,由处理器1301控制显示屏1305从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图13中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质应用于终端,该计算机可读存储介质中包括至少一条程序代码的存储器,上述至少一条程序代码可由终端中的处理器执行以完成上述实施例中目标虚拟对象确定方法。例如,该计算机可读存储介质可以是rom(read-onlymemory,只读存储器)、ram(random-accessmemory,随机存取存储器)、cd-rom(compactdiscread-onlymemory,只读光盘)、磁带、软盘和光数据存储设备等。

本申请实施例还提供了一种应用程序产品,该应用程序产品存储有一条或多条指令,该一条或多条指令可以由计算机设备的处理器执行,以完成上述目标虚拟对象确定方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1