虚拟对象的切换方法、装置、设备、介质及程序产品与流程

文档序号:29135898发布日期:2022-03-05 01:57阅读:99来源:国知局
虚拟对象的切换方法、装置、设备、介质及程序产品与流程

1.本技术实施例涉及虚拟环境领域,特别涉及一种虚拟对象的切换方法、装置、设备、介质及程序产品。


背景技术:

2.在各式各样的游戏中,玩家通过从若干个敌方角色中锁定一个敌方角色进行攻击,并且,在战斗过程中,玩家经常需要切换锁定的敌方角色。
3.在相关技术中,玩家界面设置有锁定控件,响应于玩家第一次触控锁定控件,终端自动从若干个敌方角色中锁定第一敌方角色,响应于玩家再次触控锁定控件,终端按照预设的切换顺序,将第一敌方角色切换为第二敌方角色进行锁定。
4.然而,通过相关技术切换锁定的敌方角色仅仅根据预设的切换顺序进行切换,若玩家欲攻击的敌方角色处于切换顺序的末尾,通过相关技术进行切换需要多次触控锁定控件,效率低下。


技术实现要素:

5.本技术提供了一种虚拟对象的切换方法、装置、设备、介质及程序产品,提高了切换锁定目标的效率。所述技术方案如下:
6.根据本技术的一方面,提供了一种虚拟对象的切换方法,所述方法应用于移动终端,所述方法包括:
7.显示处于锁定状态的第一虚拟对象和未处于锁定状态的第二虚拟对象,锁定状态指示被锁定的虚拟对象成为主控虚拟对象的行为目标,主控虚拟对象是移动终端具有控制权限的虚拟对象;
8.接收甩动操作,甩动操作是用于甩动移动终端的机身的操作;
9.在甩动操作与第二虚拟对象匹配的情况下,显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
10.根据本技术的另一方面,提供了一种虚拟对象的切换装置,所述装置包括:
11.显示模块,用于显示处于锁定状态的第一虚拟对象和未处于锁定状态的第二虚拟对象,锁定状态指示被锁定的虚拟对象成为主控虚拟对象的行为目标,主控虚拟对象是移动终端具有控制权限的虚拟对象;
12.接收模块,用于接收甩动操作,甩动操作是用于甩动装置的操作;
13.显示模块,还用于在甩动操作与第二虚拟对象匹配的情况下,显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
14.根据本技术的一个方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的虚拟对象的切换方法。
15.根据本技术的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有
计算机程序,所述计算机程序由处理器加载并执行以实现如上所述的虚拟对象的切换方法。
16.根据本技术的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的虚拟对象的切换方法。
17.本技术实施例提供的技术方案带来的有益效果至少包括:
18.通过甩动操作实现切换处于锁定状态的虚拟对象,避免了通过多次触控锁定控件进行切换,方便了用户快速切换锁定目标。例如,在用户控制的主控虚拟角色正在与第一敌方角色激烈战斗时,用户发现第二敌方角色出现了短暂的致命破绽,只要主控虚拟角色向其发起攻击即能击败第二敌方角色,通过甩动操作用户将原来锁定的虚拟角色(第一敌方角色)快速切换为第二敌方角色,并对其发起攻击。因此,设置甩动操作切换锁定目标,不仅丰富了玩家的操作方式,还提高了用户切换锁定目标的效率,进而提高了游戏的策略性。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1示出了本技术一个示例性实施例提供的计算机系统的结构框图;
21.图2示出了本技术一个示例性实施例提供的虚拟对象的切换方法的流程图;
22.图3示出了本技术一个示例性实施例提供的处于锁定状态的第一虚拟对象和未处于锁定状态的第二虚拟对象的示意图;
23.图4示出了本技术一个示例性实施例提供的甩动操作的提示信息的示意图;
24.图5示出了本技术一个示例性实施例提供的甩动方向的提示信息的示意图;
25.图6示出了本技术另一个示例性实施例提供的虚拟对象的切换方法的流程图;
26.图7示出了本技术一个示例性实施例提供的确定甩动方向的示意图;
27.图8示出了本技术另一个示例性实施例提供的虚拟对象的切换方法的流程图;
28.图9示出了本技术另一个示例性实施例提供的虚拟对象的切换方法的流程图;
29.图10示出了本技术一个示例性实施例提供的虚拟对象的切换过程的示意图;
30.图11示出了本技术另一个示例性实施例提供的虚拟对象的切换方法的流程图;
31.图12示出了本技术一个示例性实施例提供的虚拟对象的切换装置的结构框图;
32.图13示出了本技术一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
33.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
34.应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
35.首先,对本技术实施例中涉及的名词进行简单介绍:
36.虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,本技术对此不加以限定。下述实施例以虚拟环境是三维虚拟环境来举例说明。
37.可选的,该虚拟环境可以提供虚拟对象的对战环境。示例性的,在大逃杀类型游戏中,至少一个虚拟对象在虚拟环境中进行单局对战,虚拟对象通过躲避敌方单位发起的攻击和虚拟环境中存在的危险(比如,毒气圈、沼泽地等)来达到在虚拟环境中存活的目的,当虚拟对象在虚拟环境中的生命值为零时,虚拟对象在虚拟环境中的生命结束,最后顺利通过关卡内的路线的虚拟对象是获胜方。每一个客户端可以控制虚拟环境中的一个或多个虚拟对象。
38.虚拟对象:是指虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在三维虚拟环境中显示的人物、动物。可选地,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
39.图1示出了本技术一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:移动终端120和服务器140。
40.移动终端120上安装和运行有支持虚拟环境的应用程序。该应用程序可以是三维地图程序、军事仿真程序、横版射击、横版冒险、横版过关、横版策略、虚拟现实(virtual reality,vr)应用程序、增强现实(augmented reality,ar)程序中的任意一种。移动终端120是用户使用的移动终端,用户使用移动终端120控制位于三维虚拟环境中的主控虚拟对象进行活动,该活动包括但不限于:调整身体姿态、行走、奔跑、跳跃、骑行、驾驶、瞄准、拾取、使用投掷类道具、攻击其他虚拟对象中的至少一种。示例性的,主控虚拟对象是虚拟人物,比如仿真人物对象或动漫人物对象。示例性的,用户通过虚拟环境画面上的ui控件来控制主控虚拟角色进行活动。
41.移动终端120通过无线网络或有线网络与服务器140相连。
42.服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示例性的,服务器140包括处理器144和存储器142,存储器142又包括接收模块1421、控制模块1422和发送模块1423,接收模块1421用于接收应用程序发送的请求,如攻击敌人;控制模块1422用于控制虚拟环境画面的渲染;发送模块1423用于向应用程序发送响应,如向应用程序发送攻击造成的伤害值。服务器140用于为支持三维虚拟环境的应用程序提供后台服务。可选地,服务器140承担主要计算工作,移动终端120承担次要计算工作;或者,服务器140承担次要计算工作,移动终端120承担主要计算工作。
43.可选的,上述应用程序运行在不同操作系统平台(安卓或ios)上。可选的,运行有该应用程序的移动终端140的设备类型相同或不同,该设备类型包括:智能手机、智能手表、
智能电视、车载移动终端、可穿戴设备、平板电脑、电子书阅读器、mp3播放器、mp4播放器、膝上型便携计算机中的至少一种。以下实施例以移动终端包括智能手机来举例说明。
44.本领域技术人员可以知晓,上述移动终端的数量可以更多或更少。比如上述移动终端可以仅为一个,或者上述移动终端为几十个或几百个,或者更多数量。本技术实施例对移动终端的数量和设备类型不加以限定。
45.为提高切换锁定目标的效率,图2示出了本技术一个示例性实施例提供的虚拟对象的切换方法的流程图,以该方法应用于图1所示的移动终端120(或移动终端120上的应用程序)进行举例说明,该方法包括:
46.步骤220,显示处于锁定状态的第一虚拟对象和未处于锁定状态的第二虚拟对象;
47.锁定状态:锁定状态指示被锁定的虚拟对象成为主控虚拟对象的行为目标。被锁定的虚拟对象之后可能遭受主控虚拟对象发动的攻击,如主控虚拟对象朝被锁定的虚拟对象挥砍、开火、释放投掷物、释放攻击技能等。或者,主控虚拟对象可能朝被锁定的虚拟对象移动,被锁定的虚拟对象所在的位置作为主控虚拟对象的目的地。或者,主控虚拟对象获取被锁定的虚拟对象的详细资料,如在锁定虚拟对象之后,移动终端的屏幕上显示被锁定的虚拟对象的详细介绍“炮兵[等级5]攻击力80防御力50”。在本技术中,锁定状态仅表示被锁定的虚拟对象成为主控虚拟对象的行为目标,本技术并不限制主控虚拟对象对被锁定的虚拟对象的具体行为。
[0048]
主控虚拟对象:指移动终端具有控制权限的虚拟对象。主控虚拟对象在移动终端的控制下可执行调整身体姿态、行走、奔跑、跳跃、骑行、驾驶、瞄准、拾取、使用投掷类道具、攻击其他虚拟对象中的至少一种行为。
[0049]
第一虚拟对象:指在虚拟环境中具有活动能力的虚拟对象,可选的,第一虚拟对象是其他用户控制的虚拟对象,或者,第一虚拟对象是npc(non-player character,非玩家角色)。第二虚拟对象也指在虚拟环境中具有活动能力的虚拟对象,第一虚拟对象和第二虚拟对象仅用于区分不同的虚拟对象,即,可能存在第一虚拟对象是其他用户控制的虚拟对象(或npc),而第二虚拟对象是npc(或其他用户控制的虚拟对象)的情况。
[0050]
在众多游戏中可能存在主动锁定和被动锁定两种锁定模式,主动锁定指用户主动控制主控虚拟对象锁定某个虚拟对象,被动锁定指根据预设的锁定规则锁定某个虚拟对象。比如,用户在周围多个虚拟对象中主动选择一个虚拟对象进行攻击,该行为即称为主动锁定;用户控制的主控虚拟对象遭受周围虚拟对象中的某个虚拟对象攻击后,被动地将该虚拟对象作为接下来攻击的目标,即为被动锁定。用户可进行相应的操作在主动锁定和被动锁定中进行切换。
[0051]
在主动锁定模式下,移动终端的界面上通常会设置有锁定指示器或锁定视觉特效等等用于提示用户当前锁定的虚拟对象。在被动锁定模式下,移动终端的界面通常不额外设置提示信息,响应于主控虚拟对象对被锁定的虚拟对象执行具体行为,在界面上可直接观察判断出被锁定的虚拟对象。
[0052]
在本技术中,主要介绍用户在主动锁定模式下进行锁定虚拟对象的切换。
[0053]
在一个实施例中,移动终端上显示处于锁定状态的第一虚拟对象和未处于锁定状态的第二虚拟对象。示意性的,在移动终端上通过文字、锁定指示器和锁定视觉特效中的至少一种方式表示第一虚拟对象处于锁定状态。例如,在第一虚拟对象的轮廓外围添加方框
(锁定指示器)指示成功锁定第一虚拟对象,在第一虚拟对象的躯干上显示准星(锁定指示器)指示成功锁定第一虚拟对象,设置第一虚拟对象显示出闪烁特效(锁定视觉特效),设置第一虚拟对象显示出放大特效(锁定视觉特效),在第一虚拟对象上显示出与第二虚拟对象不同的颜色(锁定视觉特效),等等。
[0054]
示意性的,图3示出了第一虚拟对象被锁定和第二虚拟对象未被锁定的示意图,第一虚拟对象31上具有锁定指示器301,第二虚拟对象32上不具有锁定指示器301。锁定指示器301指示虚拟对象处于锁定状态。
[0055]
步骤240,接收甩动操作;
[0056]
其中,甩动操作是用于甩动移动终端的机身的操作;响应于用户甩动移动终端的机身,移动终端接收甩动操作。
[0057]
可选的,移动终端通过内置的运动传感器接收甩动操作。示意性的,运动传感器可以是加速度传感器、陀螺仪传感器、对加速度传感器和陀螺仪传感器进行融合后的六轴传感器(或九轴传感器或十二轴传感器)中的至少一种。
[0058]
可选的,移动终端通过天线接收到的信号确认接收到甩动操作。示意性的,通过接收到的相邻两次信号的幅度变化值和/或频率变化值确认接收到甩动操作,或,通过接收到的相邻两次信号的能量变化值确认接收到甩动操作。响应于用户甩动移动终端,使得天线接收到的相邻两次信号在传输过程中的阻抗不一致,导致相邻两次信号的能量不一致。可选的,天线接收到的信号可能是无线保真wifi信号、移动网络信号、蓝牙信号等等。
[0059]
可选的,移动终端通过相机采集的图像确认接收到甩动操作。示意性的,通过采集到的相邻两帧图像之间的相似度确认接收到甩动操作。
[0060]
在一个实施例中,接收甩动操作之前,移动终端的屏幕上还显示第一形态的锁定控件,第一形态的锁定控件用于提示通过甩动操作切换处于锁定状态的虚拟对象。示意性的,图4示出了第一形态的锁定控件401,第一形态的锁定控件401上显示出“甩动手机”的提示图案。在一个实施例中,响应于移动终端界面上先显示预设时长的第一形态的锁定控件,如图4所示,再显示第三形态的锁定控件,如图3所示,图3示出了第三形态的锁定控件302,第三形态的锁定控件302显示出“取消锁定”的文字内容。
[0061]
步骤260,在甩动操作与第二虚拟对象匹配的情况下,显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0062]
在一个实施例中,移动终端根据运动传感器获取的甩动操作的甩动方向和甩动过程中的最大加速度,确定与甩动操作匹配的第二虚拟对象。之后,移动终端显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0063]
在一个实施例中,移动终端根据天线接收到的信号的波形产生突变确认接收到甩动操作。根据突变后的波形与突变前的波形的变化情况,确定甩动方向。根据波形突变前后信号的能量变化值,确认甩动操作的甩动幅度。移动终端根据甩动方向和甩动幅度确定第二虚拟对象。
[0064]
在一个实施例中,移动终端根据相机在甩动操作的启动时刻采集的图像,与,在甩动操作的结束时刻采集的图像,确定甩动操作的甩动方向和甩动幅度,进一步根据甩动方向和甩动幅度可确定第二虚拟对象。移动终端显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0065]
可选的,移动终端显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象,包括以下方式中的至少一种:
[0066]
·
在第二虚拟对象上显示锁定指示器,以及取消在第一虚拟对象上显示锁定指示器;
[0067]
·
在第二虚拟对象上显示锁定视觉特效,以及取消在第一虚拟对象上显示锁定视觉特效;
[0068]
·
显示移动终端在甩动操作的甩动方向的提示信息,提示信息的表现形式包括图形、箭头和文字中的至少一种。
[0069]
示意性的,图5示出了移动终端将处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象的界面。结合参考图3,可看出,锁定指示器301所在的位置由第一虚拟对象31转移至第二虚拟对象32。图5还示出了等腰三角形501,等腰三角形501的两条腰边长大于第三条边,等腰三角形501用于提示甩动操作的甩动方向,此时甩动方向为左。
[0070]
综上所述,通过甩动操作实现切换处于锁定状态的虚拟对象,避免了通过多次触控锁定控件进行切换,方便了用户快速切换锁定目标。例如,在用户控制的主控虚拟角色正在与第一敌方角色激烈战斗时,用户发现第二敌方角色出现了短暂的致命破绽,只要主控虚拟角色向其发起攻击即能击败第二敌方角色,通过甩动操作用户将原来锁定的虚拟角色(第一敌方角色)切换为第二敌方角色,并对其发起攻击。因此,设置甩动操作切换锁定目标,不仅丰富了玩家的操作方式,还提高了用户切换锁定目标的效率,进而提高了游戏的策略性。
[0071]
为提高切换锁定目标的效率,图6示出了本技术一个示例性实施例提供的虚拟对象的切换方法的流程图,以该方法应用于图2所示的移动终端120举例说明,该方法包括:
[0072]
步骤620,显示处于锁定状态的第一虚拟对象和未处于锁定状态的第二虚拟对象;
[0073]
其中,锁定状态指示被锁定的虚拟对象成为主控虚拟对象的行为目标,主控虚拟对象是移动终端具有控制权限的虚拟对象。在一个实施例中,移动终端上显示处于锁定状态的第一虚拟对象和未处于所述锁定状态的第二虚拟对象。可选的,在移动终端上通过文字、锁定指示器和锁定视觉特效中的至少一种方式表示第一虚拟对象处于锁定状态。
[0074]
步骤640,通过运动传感器获取甩动操作的甩动方向和甩动加速度;
[0075]
其中,甩动操作是用于甩动移动终端的机身的操作。
[0076]
在一个实施例中,移动终端通过运动传感器获取移动终端在甩动操作的启动时刻所处的第一位置,之后,通过运动传感器获取移动终端在甩动操作的结束时刻所处的第二位置;基于第一位置和第二位置,移动终端确定甩动方向。
[0077]
示意性的,移动终端通过陀螺仪传感器获取在甩动操作的启动时刻所处的第一位置的坐标为(x1,y1,z1),通过陀螺仪传感器获取在甩动操作的结束时刻所处的第二位置的坐标为(x2,y2,z2),通过坐标向量计算即可确定甩动方向。比如,第一位置坐标为(2,0,0),第二位置坐标为(1,0,0),则甩动方向为左。
[0078]
可选的,移动终端也可根据加速度传感器,或,加速度传感器和陀螺仪传感器进行融合后的六轴传感器(或九轴传感器或十二轴传感器)确定甩动方向。
[0079]
示意性的,图7(a)示出了在仅作出单次甩动的情况下,移动终端基于最终位置和初始位置确定甩动方向;图7(b)示出了在作出多次甩动的情况下,移动终端基于最终位置
和初始位置确定甩动方向。
[0080]
在一个实施例中,移动终端将通过运动传感器获取的甩动加速度大于第一阈值的时刻,确定为甩动操作的启动时刻,之后,移动终端获取甩动过程中的甩动加速度,最后,移动终端将通过运动传感器获取的甩动加速度小于第二阈值的时长达到时长阈值的时刻,确定为甩动操作的结束时刻。
[0081]
示意性的,移动终端根据加速度传感器,或,加速度传感器和陀螺仪传感器进行融合后的六轴传感器(或九轴传感器或十二轴传感器)获取加速度。
[0082]
基于上述,移动终端获取到甩动操作的甩动方向和甩动加速度。
[0083]
步骤660,基于甩动方向和甩动加速度,确定第二虚拟对象,以及显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0084]
在一个实施例中,移动终端在虚拟环境中确定以第一虚拟对象为基准位置的甩动方向上存在的虚拟对象的数量n。在n的值等于一的情况下,移动终端将甩动方向上存在的一个虚拟对象确定为第二虚拟对象;在n的值大于一的情况下,基于甩动过程中甩动加速度的最大值,移动终端在甩动方向上存在的n个虚拟对象中确定第二虚拟对象。
[0085]
在一个实施例中,在n的值大于一的情况下,移动终端设置与甩动方向对应的n个加速度区间;基于甩动过程中甩动加速度的最大值处于第i加速度区间的情况下,移动终端确定n个虚拟对象中的第i个虚拟对象为第二虚拟对象。其中,n个虚拟对象与n个加速度区间一一对应,n个虚拟对象按与第一虚拟对象的距离由近到远排序,n个加速度区间按加速度数值由小到大排序。其中,n、i为正整数。
[0086]
示意性的,运动传感器获取的甩动方向为左,第一虚拟对象的左侧存在两个候选虚拟对象,移动终端设置与左侧对应的两个加速度区间依次为(0,3)、(3,+∞),基于运动传感器获取的甩动操作的甩动加速度的最大值为2,则确定第一虚拟对象的左侧的第1个虚拟对象为第二虚拟对象。
[0087]
在另一个实施例中,在n的值大于一的情况下,移动终端获取预设的k个加速度区间,k大于n;之后,在甩动过程中甩动加速度的最大值处于第j个加速度区间,且j不大于n的情况下,确定n个虚拟对象中的第j个虚拟对象为第二虚拟对象;在甩动加速度的最大值处于第j个加速度区间,且j大于n的情况下,确定n个虚拟对象中的第n个虚拟对象为第二虚拟对象。其中,n个虚拟对象按与第一虚拟对象的距离由近到远排序,k个加速度区间按加速度数值由小到大排序。其中,k、j为正整数。
[0088]
示意性的,在n的值为3的情况下,移动终端获取预设的8个加速度区间,依次为(0,3)、(3,6)、(6,9)、(9,12)、(12,15)、(15,18)、(18,21)和(21,+∞)。若甩动过程中甩动加速度的最大值为5(落入第2个加速度区间),则确定第一虚拟对象的左侧的第2个虚拟对象为第二虚拟对象。若甩动过程中甩动加速度的最大值为14(落入第5个加速度区间),则确定第一虚拟对象的左侧的第3个虚拟对象为第二虚拟对象。
[0089]
可以说明的一点是,上述k个加速度区间可能是基于支持应用程序运行的服务器预先设置得到的,也可能是基于用户在应用程序上设置得到的,比如,用户在应用程序上调节甩动操作的灵敏度,即为调节加速度区间的跨度和/或加速度区间的数量。
[0090]
基于上述,在虚拟环境中确定出第二虚拟对象。在此之后,移动终端显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象,可能的显示方式已在上述步骤260
详细说明,此处不再赘述。
[0091]
综上所述,通过运动传感器接收甩动操作的甩动方向和甩动加速度,根据甩动方向和甩动加速度,确定第二虚拟对象,最终将处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象,提供了根据甩动操作实现切换锁定目标的具体实现方式,保证了切换锁定目标的高效率。
[0092]
为提高切换锁定目标的效率,图8示出了本技术一个示例性实施例提供的虚拟对象的切换方法的流程图,以该方法应用于图2所示的移动终端120举例说明,该方法包括:
[0093]
步骤820,显示处于锁定状态的第一虚拟对象和未处于锁定状态的第二虚拟对象;
[0094]
其中,锁定状态指示被锁定的虚拟对象成为主控虚拟对象的行为目标,主控虚拟对象是移动终端具有控制权限的虚拟对象。在一个实施例中,移动终端上显示处于锁定状态的第一虚拟对象和未处于所述锁定状态的第二虚拟对象。可选的,在移动终端上通过文字、锁定指示器和锁定视觉特效中的至少一种方式表示第一虚拟对象处于锁定状态。
[0095]
步骤840,通过相机采集的图像确定甩动操作的甩动方向和甩动幅度;
[0096]
在一个实施例中,移动终端通过相机,获取移动终端在甩动操作的启动时刻的第一图像,以及获取在甩动操作的结束时刻的第二图像;之后,基于第一图像和第二图像进行特征点匹配,移动终端确定甩动方向。
[0097]
在一个实施例中,移动终端对通过相机采集到的图像进行特征点追踪,特征点追踪可采用基于视觉里程计的追踪算法,本技术对此不加以限定。可选的,特征点追踪采用klt(kanade-lucas)光流追踪算法。可选的,特征点追踪采用基于orb(oriented fast and rotated brief,快速特征点提取和描述)算法提取的orb特征描述子进行特征点跟踪。本技术对特征点追踪的具体算法不加以限定。
[0098]
在一个实施例中,移动终端在通过相机获取的第一相邻两帧图像之间的相似度小于第三阈值的情况下,将第一相邻两帧图像中的前一帧确定为第一图像,以及将获取第一图像的时刻确定为甩动操作的启动时刻。
[0099]
示意性的,移动终端在通过相机获取图像之后,会计算相邻两帧图像之间的相似度。可选的,在相邻两帧图像之间重复出现的特征点的数量小于第一数量阈值的情况下,即认为相邻两帧图像之间的相似度小于第三阈值,此时将相邻两帧图像中的前一帧确定为第一图像。
[0100]
可选的,移动终端通过相机获取图像之后,确定相邻两帧图像之间的相似度小于第三阈值,则计数器加1,若在第一预设时长内,移动终端确定另一相邻两帧图像之间的相似度也小于第三阈值,则计数器再次加1,若在第二预设时长内,计数器累加的数值达到预设数值,则确定检测到甩动操作,将最开始达到第三阈值的相邻两帧图像中的前一帧图像确定为第一图像。
[0101]
在一个实施例中,移动终端在通过相机获取的第二相邻两帧图像之间的相似度大于第四阈值的情况下,将第二相邻两帧图像中的后一帧确定为第二图像,以及将获取第二图像的时刻确定为甩动操作的结束时刻;
[0102]
示意性的,移动终端在通过相机获取图像之后,会计算相邻两帧图像之间的相似度。可选的,在相邻两帧图像之间重复出现的特征点的数量大于第二数量阈值的情况下,即认为相邻两帧图像之间的相似度大于第四阈值,此时将相邻两帧图像中的后一帧确定为第
二图像。
[0103]
可选的,移动终端通过相机获取图像之后,确定相邻两帧图像之间的相似度大于第四阈值,则计数器加1,若在第三预设时长内,移动终端确定另一相邻两帧图像之间的相似度也大于第四阈值,则计数器再次加1,若在第四预设时长内,计数器累加的数值达到第二预设数值,则确定检测到停止甩动,将使得计数器达到第二预设数值的相邻两帧图像中的后一帧图像确定为第二图像。
[0104]
基于上述,确定得到第一图像和第二图像,即可进一步确定甩动操作的甩动方向和甩动幅度。
[0105]
可选的,移动终端根据第一图像和第二图像匹配的特征点的位移方向,即可确定甩动操作的甩动方向。可选的,根据第一图像和第二图像之间的相似度,即可映射得到甩动操作的甩动幅度的数值。
[0106]
步骤860,基于甩动方向和甩动幅度,确定第二虚拟对象,以及显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0107]
在虚拟环境中,移动终端确定以第一虚拟对象为基准位置的甩动方向上存在的虚拟对象的数量m;在m的值等于一的情况下,移动终端将甩动方向上存在的一个虚拟对象确定为第二虚拟对象;在m的值大于一的情况下,基于甩动过程中甩动幅度,移动终端在甩动方向上存在的m个虚拟对象中确定第二虚拟对象。
[0108]
可选的,在m的值大于一的情况下,移动终端设置与甩动方向对应的m个幅度区间;基于甩动幅度处于第p幅度区间的情况下,移动终端确定m个虚拟对象中的第p个虚拟对象为第二虚拟对象。其中,m个虚拟对象与m个幅度区间一一对应,m个虚拟对象按与第一虚拟对象的距离由近到远排序,m个幅度区间按幅度数值由小到大排序。
[0109]
可选的,在m的值大于一的情况下,移动终端获取预设的r个幅度区间,r大于m;之后,在甩动幅度处于第r个幅度区间,且r不大于m的情况下,确定m个虚拟对象中的第r个虚拟对象为第二虚拟对象;在甩动幅度处于第r个幅度区间,且r大于m的情况下,确定m个虚拟对象中的第m个虚拟对象为第二虚拟对象。其中,m个虚拟对象按与第一虚拟对象的距离由近到远排序,r个幅度区间按幅度数值由小到大排序。
[0110]
其中,上述m、p、r和r均为正整数。
[0111]
基于上述,移动终端在虚拟环境中确定出第二虚拟对象。在此之后,移动终端显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象,可能的显示方式已在上述步骤260详细说明,此处不再赘述。
[0112]
综上所述,通过移动终端内置的相机确认接收到甩动操作,根据相机采集到的图像确定甩动操作的甩动方向和甩动幅度,并根据甩动方向和甩动幅度确定第二虚拟对象,最终将处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象,提供了根据甩动操作实现切换锁定目标的具体实现方式,保证了切换锁定目标的高效率。
[0113]
为提高切换锁定目标的效率,图9是本技术一个示例性实施例提供的虚拟对象的切换方法的流程图,以该方法应用于图1所示的移动终端120进行举例说明,该方法包括:
[0114]
步骤910,显示第二形态的锁定控件;
[0115]
在移动终端的界面上,显示第二形态的锁定控件。第二形态的锁定控件用于主控虚拟对象在候选虚拟对象中锁定虚拟对象。结合参考图10(a),图10(a)示出了第二形态的
锁定控件1001,示意性的,第二形态的锁定控件1001位于移动终端的界面的右下角区域,方便用户快速执行锁定操作。
[0116]
步骤920,显示至少两个虚拟对象;
[0117]
其中,至少两个虚拟对象包括未处于锁定状态的第一虚拟对象。结合参考图10(a),此时图10(a)示出了5个虚拟对象。
[0118]
步骤930,响应于第二形态的锁定控件接收到第一触发操作,确定执行锁定操作;
[0119]
可选的,第一触发操作包括长按触发、单击触发、双击触发、拖动触发和压力触发中的至少一种。示意性的,响应于图10(a)中的第二形态的锁定控件1001接收到第一触发操作,移动终端确定执行锁定操作。
[0120]
步骤940,在第一虚拟对象满足锁定条件的情况下,显示处于锁定状态的第一虚拟对象;
[0121]
在一个实施例中,在第一虚拟对象满足锁定条件的情况下,显示处于锁定状态的第一虚拟对象,包括以下方式中的至少一种:
[0122]
·
在虚拟环境中,确定至少两个虚拟对象中与主控虚拟对象之间的距离最小的虚拟对象为第一虚拟对象,显示处于锁定状态的第一虚拟对象;
[0123]
·
在虚拟环境中,确定至少两个虚拟对象中与主控虚拟对象之间的距离小于距离阈值,且落入主控虚拟对象的朝向的虚拟对象为第一虚拟对象,显示处于锁定状态的第一虚拟对象;
[0124]
·
在虚拟环境中,确定至少两个虚拟对象中与主控虚拟对象之间的距离小于距离阈值,且绝对生物值最小的虚拟对象为第一虚拟对象,显示处于锁定状态的第一虚拟对象,生物值用于衡量虚拟对象在虚拟环境中的磨损程度,绝对生物值是虚拟对象剩余的生物值;
[0125]
·
在虚拟环境中,确定至少两个虚拟对象中与主控虚拟对象之间的距离小于距离阈值,且相对生物值最小的虚拟对象为第一虚拟对象,显示处于锁定状态的第一虚拟对象,相对生物值是虚拟对象剩余的生物值与完整生物值的比值。
[0126]
结合参考图10,在第一虚拟对象满足锁定条件的情况下,移动终端的显示界面即从图10(a)切换至图10(b)。
[0127]
步骤950,显示第一形态的锁定控件;
[0128]
响应于移动终端接收到第二形态的锁定控件1001的第一触发操作,在至少两个虚拟对象中锁定第一虚拟对象31,移动终端的显示界面从图10(a)切换至图10(b),结合参考图10(b),第一形态的锁定控件401提示用户可通过甩动操作切换处于锁定状态的虚拟对象。图10(b)还示出了第一虚拟对象31、第二虚拟对象32和锁定指示器301。
[0129]
步骤960,显示第三形态的锁定控件;
[0130]
在预设的时长完成显示第一形态的锁定控件之后,移动终端的界面上显示第三形态的锁定控件。第三形态的锁定控件用于取消锁定第一虚拟对象。
[0131]
示意性的,图10(c)示出了第三形态的锁定控件302。
[0132]
若移动终端通过第三形态的锁定控件302接收到第二触发操作,移动终端执行取消锁定操作,移动终端中断执行虚拟对象的切换方法。若移动终端未通过第三形态的锁定控件302接收到第二触发操作,执行下述步骤970。
[0133]
可选的,第二触发操作包括长按触发、单击触发、双击触发、拖动触发和压力触发中的至少一种。
[0134]
步骤970,显示处于锁定状态的第一虚拟对象和未处于锁定状态的第二虚拟对象;
[0135]
在一个实施例中,移动终端显示处于锁定状态的第一虚拟对象和未处于锁定状态的第二虚拟对象。可选的,第二虚拟对象属于上述步骤920中至少两个虚拟对象中的一个。
[0136]
示意性的,图10(c)示出了处于锁定状态的第一虚拟对象31和未处于锁定状态的第二虚拟对象32,此时第二虚拟对象属于上述步骤920中至少两个虚拟对象中的一个。
[0137]
步骤980,接收甩动操作;
[0138]
其中,甩动操作是指甩动移动终端的机身的操作。
[0139]
可选的,移动终端通过内置的运动传感器接收甩动操作,运动传感器包括加速度传感器、陀螺仪传感器、加速度传感器和陀螺仪传感器进行融合后的六轴传感器(或九轴传感器或十二轴传感器)。
[0140]
可选的,移动终端通过相机采集的图像确认接收到甩动操作。示意性的,通过采集到的相邻两帧图像之间的相似度确认接收到甩动操作。
[0141]
可选的,移动终端通过天线接收到的信号确认接收到甩动操作。示意性的,通过接收到的相邻两次信号的能量变化值,移动终端确认接收到甩动操作。
[0142]
可选的,移动终端可通过其他传感器接收甩动操作。比如,光学传感器,通过甩动操作导致的光线强度变化情况,可确认接收到甩动操作。也可能通过温度感应器、磁场感应器等接收甩动操作。
[0143]
步骤990,在甩动操作与第二虚拟对象匹配的情况下,显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0144]
在一个实施例中,移动终端根据运动传感器获取的甩动操作的甩动方向和甩动过程中的最大加速度,确定与甩动操作匹配的第二虚拟对象。之后,移动终端显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0145]
在一个实施例中,移动终端根据天线接收到的信号的波形产生突变确认接收到甩动操作。根据突变后的波形与突变前的波形的变化情况,确定甩动方向。根据波形突变前后信号的能量变化值,确认甩动操作的甩动幅度。移动终端根据甩动方向和甩动幅度确定第二虚拟对象。之后,移动终端显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0146]
在一个实施例中,移动终端根据相机在甩动操作的启动时刻采集的图像,与,在甩动操作的结束时刻采集的图像,确定甩动操作的甩动方向和甩动幅度,进一步根据甩动方向和甩动幅度可确定第二虚拟对象。之后,移动终端显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0147]
示意性的,图10(d)示出了处于锁定状态的第二虚拟对象32。可以注意到的是,图10(d)还示出了甩动方向的提示图形501。
[0148]
值得说明的一点是,在执行步骤970至步骤990的过程中,或执行步骤990之后,可能响应于第三形态的锁定控件接收到第二触发操作,移动终端执行取消锁定操作。在执行取消锁定操作之后,移动终端即停止切换锁定目标。
[0149]
综上所述,通过在移动终端的界面上设置有第一形态的锁定控件(甩动操作的提
示信息)、第二形态的锁定控件(可执行锁定操作)和第三形态的锁定控件(可执行取消锁定操作),并设置有甩动方向的提示信息,完善了虚拟对象的切换方法的具体实现方式,使得该切换方法更贴近用户的操作习惯。
[0150]
为提高切换锁定目标的效率,图11示出了本技术一个示例性实施例提供的虚拟对象的切换方法的流程图,以该方法应用于智能手机进行举例说明,该方法包括:
[0151]
步骤1101,开始;
[0152]
手机开始执行锁定目标的切换流程。
[0153]
步骤1102,判断用户是否在主界面点击了目标锁定按钮;
[0154]
手机判断用户是否在主界面点击了目标锁定按钮。目标锁定按钮是用于主动锁定主界面上的目标人物的按钮。在手机运行应用程序时,在手机屏幕的右下角设置有目标锁定按钮。在常规情况下,若距离玩家角色一定范围内不存在可锁定的目标,则用户对目标锁定按钮的触发操作不起作用。若在距离玩家角色一定范围内存在可锁定的目标,则用户对目标锁定按钮的触发操作触发锁定。
[0155]
若用户在主界面点击了目标锁定按钮,执行步骤1104;若用户未在主界面点击了目标锁定按钮,执行步骤1103。
[0156]
步骤1103,不执行目标锁定切换;
[0157]
若手机未接收到目标锁定按钮的触发操作,则手机不执行目标锁定切换。可选的,触发操作包括长按触发、单击触发、双击触发、拖动触发和压力触发,等等。
[0158]
步骤1104,判断视野范围内是否有可以锁定的目标;
[0159]
若手机接收到用户对目标锁定按钮的触发操作,手机判断玩家角色的视野范围内是否有可以锁定的目标。若存在可以锁定的目标,执行步骤1106;若不存在可以锁定的目标,则执行步骤1105。
[0160]
步骤1105,不执行目标锁定;
[0161]
手机确定玩家角色的视野范围内不存在可以锁定的目标,手机不执行目标锁定,即手机不在玩家角色的视野范围内锁定虚拟对象。
[0162]
步骤1106,当前符合锁定状态的目标数量大于1;
[0163]
手机判断玩家角色的视野范围内符合锁定状态的目标数量是否大于1。若符合锁定状态的目标数量大于1,则手机将会启动根据甩动操作切换锁定目标的线程,即,之后手机将执行步骤1108。若符合锁定状态的目标数量等于1,则手机判断当前无法切换锁定目标,即手机不启动根据甩动操作切换锁定目标的线程,即,之后手机将启动步骤1107。
[0164]
步骤1107,不启动加速度传感器;
[0165]
手机不启动加速度传感器。
[0166]
步骤1108,启动加速度传感器;
[0167]
基于当前符合锁定状态的目标数量大于1,手机启动加速度传感器。加速度传感器可用于确定之后甩动操作的甩动方向和甩动加速度。
[0168]
步骤1109,手机是否发生甩动操作;
[0169]
手机判断是否接收到甩动操作,若是则进一步判断甩动操作的甩动方向。若否则,执行步骤1110。
[0170]
步骤1110,不执行目标锁定;
[0171]
手机确认未接收到甩动操作,则不执行目标锁定。
[0172]
步骤1111,甩动后的位置较甩动前的位置向上;
[0173]
手机确认发生甩动操作后,手机确认甩动后的位置较甩动前的位置向上。
[0174]
步骤1112,甩动后的位置较甩动前的位置向左;
[0175]
手机确认发生甩动操作后,手机确认甩动后的位置较甩动前的位置向左。
[0176]
步骤1113,甩动后的位置较甩动前的位置向右;
[0177]
手机确认发生甩动操作后,手机确认甩动后的位置较甩动前的位置向右。
[0178]
步骤1114,甩动后的位置较甩动前的位置向下;
[0179]
手机确认发生甩动操作后,手机确认甩动后的位置较甩动前的位置向下。
[0180]
步骤1115,获取手机的甩动加速度值;
[0181]
手机获取甩动加速度值。可选的,手机通过加速度传感器获取甩动过程中甩动加速度的最大值。
[0182]
步骤1116,确定甩动加速度所处的加速度动态区域;
[0183]
手机确定甩动加速度所处的加速度动态区域,根据加速度动态区域确定切换后的锁定目标。可选的,手机根据甩动过程中甩动加速度的最大值,确定与所述甩动加速度的最大值匹配的加速度动态区域。可选的,手机事先预设有一定数量的加速度动态区域,或,手机根据虚拟环境中玩家角色的甩动方向上存在的虚拟对象数量,设置相同数量的加速度动态区域。
[0184]
步骤1117,锁定目标向后切换;
[0185]
在甩动后的位置较甩动前的位置向上的情况下,手机控制锁定目标向后切换。
[0186]
步骤1118,锁定目标向左切换;
[0187]
在甩动后的位置较甩动前的位置向左的情况下,手机控制锁定目标向左切换。
[0188]
步骤1119,锁定目标向右切换;
[0189]
在甩动后的位置较甩动前的位置向右的情况下,手机控制锁定目标向右切换。
[0190]
步骤1120,锁定目标向前切换;
[0191]
在甩动后的位置较甩动前的位置向下的情况下,手机控制锁定目标向前切换。
[0192]
步骤1121,用户是否点击取消锁定按钮;
[0193]
手机判断用户是否点击了取消锁定按钮。若用户点击了取消锁定按钮,则手机停止虚拟对象的切换,并关闭应用程序的锁定逻辑,退出锁定进程。
[0194]
若用户点击了取消锁定按钮,则执行步骤1122。
[0195]
步骤1122,关闭加速度感应器;
[0196]
手机退出锁定进程,并关闭加速度感应器。
[0197]
图12是本技术一个示例性实施例提供的虚拟对象的切换装置的结构框图,该装置包括:
[0198]
显示模块1201,用于显示处于锁定状态的第一虚拟对象和未处于锁定状态的第二虚拟对象,锁定状态指示被锁定的虚拟对象成为主控虚拟对象的行为目标,主控虚拟对象是移动终端具有控制权限的虚拟对象;
[0199]
接收模块1202,用于接收甩动操作,甩动操作是用于甩动移动终端的机身的操作;
[0200]
显示模块1201,还用于在甩动操作与第二虚拟对象匹配的情况下,显示处于锁定
状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0201]
在一个可选的实施例中,显示模块1201,还用于在第二虚拟对象上显示锁定指示器,以及取消在第一虚拟对象上显示锁定指示器。
[0202]
在一个可选的实施例中,显示模块1201,还用于在第二虚拟对象上显示锁定视觉特效,以及取消在第一虚拟对象上显示锁定视觉特效。
[0203]
在一个可选的实施例中,显示模块1201,还用于显示移动终端在甩动操作的甩动方向的提示信息,提示信息的表现形式包括图形、箭头和文字中的至少一种。
[0204]
在一个可选的实施例中,接收模块1202,还用于通过运动传感器获取甩动操作的甩动方向和甩动加速度。
[0205]
在一个可选的实施例中,显示模块1201,还用于基于甩动方向和甩动加速度,确定第二虚拟对象,以及显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0206]
在一个可选的实施例中,显示模块1201,还用于在虚拟环境中,确定以第一虚拟对象为基准位置的甩动方向上存在的虚拟对象的数量n。
[0207]
在一个可选的实施例中,显示模块1201,还用于在n的值等于一的情况下,将甩动方向上存在的一个虚拟对象确定为第二虚拟对象。
[0208]
在一个可选的实施例中,显示模块1201,还用于在n的值大于一的情况下,基于甩动过程中甩动加速度的最大值,在甩动方向上存在的n个虚拟对象中确定第二虚拟对象。
[0209]
在一个可选的实施例中,显示模块1201,还用于在n的值大于一的情况下,设置与甩动方向对应的n个加速度区间。
[0210]
在一个可选的实施例中,显示模块1201,还用于基于甩动过程中甩动加速度的最大值处于第i加速度区间,确定n个虚拟对象中的第i个虚拟对象为第二虚拟对象。
[0211]
其中,n个虚拟对象与n个加速度区间一一对应,n个虚拟对象按与第一虚拟对象的距离由近到远排序,n个加速度区间按加速度数值由小到大排序。
[0212]
在一个可选的实施例中,显示模块1201,还用于在n的值大于一的情况下,获取预设的k个加速度区间,k大于n。
[0213]
在一个可选的实施例中,显示模块1201,还用于在甩动过程中甩动加速度的最大值处于第j个加速度区间,且j不大于n的情况下,确定n个虚拟对象中的第j个虚拟对象为第二虚拟对象。
[0214]
在一个可选的实施例中,显示模块1201,还用于在甩动加速度的最大值处于第j个加速度区间,且j大于n的情况下,确定n个虚拟对象中的第n个虚拟对象为第二虚拟对象。
[0215]
其中,n个虚拟对象按与第一虚拟对象的距离由近到远排序,k个加速度区间按加速度数值由小到大排序。
[0216]
在一个可选的实施例中,接收模块1202,还用于通过运动传感器获取移动终端在甩动操作的启动时刻所处的第一位置。
[0217]
在一个可选的实施例中,接收模块1202,还用于通过运动传感器获取移动终端在甩动操作的结束时刻所处的第二位置。
[0218]
在一个可选的实施例中,接收模块1202,还用于基于第一位置和第二位置,确定甩动方向。
[0219]
在一个可选的实施例中,接收模块1202,还用于将通过运动传感器获取的甩动加
速度大于第一阈值的时刻,确定为甩动操作的启动时刻。
[0220]
在一个可选的实施例中,接收模块1202,还用于获取甩动过程中的甩动加速度。
[0221]
在一个可选的实施例中,接收模块1202,还用于将通过运动传感器获取的甩动加速度小于第二阈值的时长达到时长阈值的时刻,确定为甩动操作的结束时刻。
[0222]
在一个可选的实施例中,接收模块1202,还用于通过相机采集的图像确定甩动操作的甩动方向和甩动幅度。
[0223]
在一个可选的实施例中,显示模块1201,还用于基于甩动方向和甩动幅度,确定第二虚拟对象,以及显示处于锁定状态的虚拟对象由第一虚拟对象切换为第二虚拟对象。
[0224]
在一个可选的实施例中,显示模块1201,还用于在虚拟环境中,确定以第一虚拟对象为基准位置的甩动方向上存在的虚拟对象的数量m。
[0225]
在一个可选的实施例中,显示模块1201,还用于在m的值等于一的情况下,将甩动方向上存在的一个虚拟对象确定为第二虚拟对象。
[0226]
在一个可选的实施例中,显示模块1201,还用于在m的值大于一的情况下,基于甩动过程中甩动幅度,在甩动方向上存在的m个虚拟对象中确定第二虚拟对象。
[0227]
在一个可选的实施例中,接收模块1202,还用于通过移动终端的相机,获取移动终端在甩动操作的启动时刻的第一图像。
[0228]
在一个可选的实施例中,接收模块1202,还用于通过移动终端的相机,获取移动终端在甩动操作的结束时刻的第二图像。
[0229]
在一个可选的实施例中,接收模块1202,还用于基于第一图像和第二图像进行特征点匹配,确定甩动方向。
[0230]
在一个可选的实施例中,接收模块1202,还用于在通过相机获取的第一相邻两帧图像之间的相似度小于第三阈值的情况下,将第一相邻两帧图像中的前一帧确定为第一图像,以及将获取第一图像的时刻确定为甩动操作的启动时刻。
[0231]
在一个可选的实施例中,接收模块1202,还用于在通过相机获取的第二相邻两帧图像之间的相似度大于第四阈值的情况下,将第二相邻两帧图像中的后一帧确定为第二图像,以及将获取第二图像的时刻确定为甩动操作的结束时刻。
[0232]
在一个可选的实施例中,接收模块1202,还用于基于第一图像与第二图像之间的相似度,确定甩动操作的甩动幅度。
[0233]
在一个可选的实施例中,显示模块1201,还用于显示第一形态的锁定控件,第一形态的锁定控件用于提示通过甩动操作切换处于锁定状态的虚拟对象。
[0234]
在一个可选的实施例中,显示模块1201,还用于显示至少两个虚拟对象,至少两个虚拟对象包括未处于锁定状态的第一虚拟对象。
[0235]
在一个可选的实施例中,显示模块1201,还用于在第一虚拟对象满足锁定条件的情况下,显示处于锁定状态的第一虚拟对象。
[0236]
在一个可选的实施例中,显示模块1201,还用于在虚拟环境中,确定至少两个虚拟对象中与主控虚拟对象之间的距离最小的虚拟对象为第一虚拟对象,显示处于锁定状态的第一虚拟对象。
[0237]
在一个可选的实施例中,显示模块1201,还用于在虚拟环境中,确定至少两个虚拟对象中与主控虚拟对象之间的距离小于距离阈值,且落入主控虚拟对象的朝向的虚拟对象
为第一虚拟对象,显示处于锁定状态的第一虚拟对象。
[0238]
在一个可选的实施例中,显示模块1201,还用于在虚拟环境中,确定至少两个虚拟对象中与主控虚拟对象之间的距离小于距离阈值,且绝对生物值最小的虚拟对象为第一虚拟对象,显示处于锁定状态的第一虚拟对象,生物值用于衡量虚拟对象在虚拟环境中的磨损程度,绝对生物值是虚拟对象剩余的生物值。
[0239]
在一个可选的实施例中,显示模块1201,还用于在虚拟环境中,确定至少两个虚拟对象中与主控虚拟对象之间的距离小于距离阈值,且相对生物值最小的虚拟对象为第一虚拟对象,显示处于锁定状态的第一虚拟对象,相对生物值是虚拟对象剩下的生物值与完整生物值的比值。
[0240]
在一个可选的实施例中,显示模块1201,还用于显示第二形态的锁定控件。
[0241]
在一个可选的实施例中,显示模块1201,还用于响应于第二形态的锁定控件接收到第一触发操作,确定执行锁定操作。
[0242]
在一个可选的实施例中,显示模块1201,还用于显示第三形态的锁定控件。
[0243]
在一个可选的实施例中,显示模块1201,还用于响应于第三形态的锁定控件接收到第二触发操作,确定执行取消锁定操作。
[0244]
综上所述,上述装置通过甩动操作实现切换处于锁定状态的虚拟对象,避免了通过多次触控锁定控件进行切换,方便了用户快速切换锁定目标。例如,在用户控制的主控虚拟角色正在与第一敌方角色激烈战斗时,用户发现第二敌方角色出现了短暂的致命破绽,只要主控虚拟角色向其发起攻击即能击败第二敌方角色,通过甩动操作用户将原来锁定的虚拟角色(第一敌方角色)切换为第二敌方角色,并对其发起攻击。因此,设置甩动操作切换锁定目标,不仅丰富了玩家的操作方式,还提高了用户切换锁定目标的效率,进而提高了游戏的策略性。
[0245]
图13示出了本技术一个示例性实施例提供的计算机设备1300的结构框图。该计算机设备1300可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0246]
通常,计算机设备1300包括有:处理器1301和存储器1302。
[0247]
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0248]
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本技术中方法实施例提供的虚拟对象的切换方法。
[0249]
在一些实施例中,计算机设备1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。示例地,外围设备可以包括:射频电路1304、显示屏1305、摄像头组件1306、音频电路1307、定位组件1308和电源1309中的至少一种。
[0250]
外围设备接口1303可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0251]
射频电路1304用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及13g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0252]
显示屏1305用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置在计算机设备1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在计算机设备1300的不同表面或呈折叠设计;在另一些实施例中,显示屏1305可以是柔性显示屏,设置在计算机设备1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0253]
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合
拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0254]
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
[0255]
定位组件1308用于定位计算机设备1300的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1308可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0256]
电源1309用于为计算机设备1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0257]
在一些实施例中,计算机设备1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
[0258]
加速度传感器1311可以检测以计算机设备1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
[0259]
陀螺仪传感器1312可以检测计算机设备1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对计算机设备1300的3d动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0260]
压力传感器1313以设置在计算机设备1300的侧边框和/或显示屏1305的下层。当压力传感器1313设置在计算机设备1300的侧边框时,可以检测用户对计算机设备1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在显示屏1305的下层时,由处理器1301根据用户对显示屏1305的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0261]
指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识
别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置在计算机设备1300的正面、背面或侧面。当计算机设备1300上设置有物理按键或厂商logo时,指纹传感器1314可以与物理按键或厂商logo集成在一起。
[0262]
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制显示屏1305的显示亮度。示例地,当环境光强度较高时,调高显示屏1305的显示亮度;当环境光强度较低时,调低显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
[0263]
接近传感器1316,也称距离传感器,通常设置在计算机设备1300的前面板。接近传感器1316用于采集用户与计算机设备1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与计算机设备1300的正面之间的距离逐渐变小时,由处理器1301控制显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与计算机设备1300的正面之间的距离逐渐变大时,由处理器1301控制显示屏1305从息屏状态切换为亮屏状态。
[0264]
本领域技术人员可以理解,图13中示出的结构并不构成对计算机设备1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0265]
本技术还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方法实施例提供的虚拟对象的切换方法。
[0266]
本技术提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例提供的虚拟对象的切换方法。
[0267]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0268]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0269]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1