控制虚拟对象使用虚拟道具的方法、装置、设备及介质转让专利

申请号 : CN201910731768.9

文献号 : CN110465098B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘智洪

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请公开了一种控制虚拟对象使用虚拟道具的方法、装置、设备及存储介质,应用于计算机领域。该方法包括:显示用户界面,所述用户界面包括虚拟环境画面和蓄力控件,所述虚拟环境画面是以第一虚拟对象的视角对虚拟环境进行观察的画面,所述第一虚拟对象是正在使用虚拟道具的对象;在接收到所述蓄力控件上的蓄力操作时,控制所述虚拟道具进入蓄力状态;在所述蓄力操作满足开火条件时,控制所述虚拟道具按照蓄力后的推进力射出道具部件。该方法可以提高虚拟道具发射道具部件的推进力,减少道具部件实际命中位置与虚拟道具瞄准的目标位置的偏差。

权利要求 :

1.一种控制虚拟对象使用虚拟道具的方法,其特征在于,所述方法包括:显示用户界面,所述用户界面包括虚拟环境画面、蓄力控件和虚拟道具对应的准星,所述虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,所述第一虚拟对象是正在使用所述虚拟道具的对象;

在接收到所述蓄力控件上的蓄力操作时,控制所述虚拟道具进入蓄力状态;

根据所述蓄力状态的持续时长在所述用户界面上将所述虚拟道具对应的所述准星进行缩小化显示,所述缩小化显示包括:根据所述蓄力状态的持续时长准星逐渐缩小;

在所述蓄力操作满足开火条件时,控制所述虚拟道具按照蓄力后的推进力射出道具部件,所述蓄力后的推进力与所述持续时长呈正相关关系,所述持续时长是所述虚拟道具进入所述蓄力状态的时长。

2.根据权利要求1所述的方法,其特征在于,所述蓄力后的推进力具有蓄力上限值。

3.根据权利要求2所述的方法,其特征在于,所述开火条件包括:在所述虚拟道具处于所述蓄力状态时所述蓄力操作结束;

或,

在所述虚拟道具处于蓄力满状态时所述蓄力操作结束;

其中,所述蓄力满状态是所述蓄力后的推进力达到所述蓄力上限值的状态。

4.根据权利要求1至3任一所述的方法,其特征在于,所述用户界面上还显示有所述虚拟道具对应的蓄力进度控件;

所述方法还包括:

在所述虚拟道具处于所述蓄力状态时,根据所述蓄力状态的所述持续时长在所述用户界面上的所述虚拟道具对应的所述蓄力进度控件上显示蓄力进度。

5.根据权利要求4所述的方法,其特征在于,所述蓄力进度控件包括蓄力进度条或蓄力进度圈;

所述根据所述蓄力状态的所述持续时长在所述用户界面上的所述虚拟道具对应的所述蓄力进度条上显示蓄力进度,包括:根据所述蓄力状态的所述持续时长在所述用户界面上的所述虚拟道具对应的所述蓄力进度条上显示线形蓄力进度;

根据所述蓄力状态的所述持续时长在所述用户界面上的所述虚拟道具对应的所述蓄力进度圈上显示圆形蓄力进度。

6.根据权利要求1至3任一所述的方法,其特征在于,所述在接收到所述蓄力控件上的蓄力操作时,控制所述虚拟道具进入蓄力状态之后,还包括:在所述用户界面上显示所述虚拟道具对应的蓄力取消控件;

在接收到所述蓄力取消控件上的蓄力取消操作时,控制所述虚拟武器取消蓄力状态。

7.根据权利要求3所述的方法,其特征在于,所述在所述虚拟道具处于蓄力满状态时所述蓄力操作结束之前,还包括:在所述蓄力操作结束时,控制所述虚拟道具取消所述蓄力状态。

8.一种控制虚拟对象使用虚拟道具的装置,其特征在于,所述装置包括:显示模块,用于显示用户界面,所述用户界面包括虚拟环境画面、蓄力控件和虚拟道具对应的准星,所述虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,所述第一虚拟对象是正在使用所述虚拟道具的对象;

交互模块,用于接收所述蓄力控件上的蓄力操作;

控制模块,用于在接收到所述蓄力控件上的蓄力操作时,控制所述虚拟道具进入蓄力状态;

所述显示模块,还用于根据所述蓄力状态的持续时长在所述用户界面上将所述虚拟道具对应的所述准星进行缩小化显示,所述缩小化显示包括:根据所述蓄力状态的持续时长准星逐渐缩小;

所述控制模块,还用于在所述蓄力操作满足开火条件时,控制所述虚拟道具按照蓄力后的推进力射出道具部件,所述蓄力后的推进力与所述持续时长呈正相关关系,所述持续时长是所述虚拟道具进入所述蓄力状态的时长。

9.根据权利要求8所述的装置,其特征在于,

所述蓄力后的推进力具有蓄力上限值。

10.根据权利要求8所述的装置,其特征在于,所述开火条件包括:在所述虚拟道具处于所述蓄力状态时所述蓄力操作结束;

或,

在所述虚拟道具处于蓄力满状态时所述蓄力操作结束;

其中,所述蓄力满状态是所述蓄力后的推进力达到所述蓄力上限值的状态。

11.一种计算机设备,所述计算机包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行,以实现如权利要求1至7任一项所述的控制虚拟对象使用虚拟道具的方法。

12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行,以实现如权利要求1至7任一项所述的控制虚拟对象使用虚拟道具的方法。

说明书 :

控制虚拟对象使用虚拟道具的方法、装置、设备及介质

技术领域

[0001] 本申请涉及计算机领域,特别涉及一种控制虚拟对象使用虚拟道具的方法、装置、设备及存储介质。

背景技术

[0002] 在基于三维虚拟环境的应用程序中,如第一人称射击类游戏,用户可以操控虚拟环境中的虚拟对象进行行走、奔跑、攀爬、射击、格斗等动作,并且多个用户可以在线组队在同一个虚拟环境中协同完成某项任务。
[0003] 相关技术中,虚拟对象可以进行的射击动作为一键开火。一键开火是指用户点击或双击射击控件,控制虚拟道具射出道具部件,连续点击射击控件,可控制虚拟道具连续射出道具部件。
[0004] 上述控制虚拟对象使用虚拟道具的操作,发射出的道具部件受到重力和环境阻力的影响大,道具部件实际命中位置与虚拟道具瞄准的目标位置有偏差。

发明内容

[0005] 本申请实施例提供了一种控制虚拟对象使用虚拟道具的方法、装置、设备及存储介质,可以解决相关技术中发射出的道具部件受到重力和环境阻力的影响大,道具部件实际命中位置与虚拟道具瞄准的目标位置有偏差的问题。所述技术方案如下:
[0006] 根据本申请的一个方面,提供了一种控制虚拟对象使用虚拟道具的方法,所述方法包括:
[0007] 显示用户界面,所述用户界面包括虚拟环境画面和蓄力控件,所述虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,所述第一虚拟对象是正在使用虚拟道具的对象;
[0008] 在接收到所述蓄力控件上的蓄力操作时,控制所述虚拟道具进入蓄力状态;
[0009] 在所述蓄力操作满足开火条件时,控制所述虚拟道具按照蓄力后的推进力射出道具部件。
[0010] 根据本申请的另一方面,提供了一种控制虚拟对象使用虚拟道具的装置,所述装置包括:
[0011] 显示模块,用于显示用户界面,所述用户界面包括虚拟环境画面和蓄力控件,所述虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,所述第一虚拟对象是正在使用虚拟道具的对象;
[0012] 交互模块,用于接收所述蓄力控件上的蓄力操作;
[0013] 控制模块,用于在接收到所述蓄力控件上的蓄力操作时,控制所述虚拟道具进入蓄力状态;在所述蓄力操作满足开火条件时,控制所述虚拟道具按照蓄力后的推进力射出道具部件。
[0014] 根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的控制虚拟对象使用虚拟道具的方法。
[0015] 根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的控制虚拟对象使用虚拟道具的方法。
[0016] 本申请实施例提供的技术方案带来的有益效果至少包括:
[0017] 通过设置蓄力控件,当对蓄力控件进行蓄力操作时,虚拟道具进入蓄力状态,当蓄力操作满足开火条件时,虚拟道具按照蓄力后的推进力射出道具部件。也即通过在进行射击动作前增设有蓄力状态,在蓄力状态下终端可以根据蓄力状态的持续时长改变虚拟道具射出道具部件的推进力大小,提高了射击动作中的人机交互体验。提供了一种新的人机交互方式。

附图说明

[0018] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019] 图1是本申请一个示例性实施例提供的相关技术中的控制虚拟对象使用虚拟道具的界面示意图;
[0020] 图2是本申请一个示例性实施例提供的实施环境的框图;
[0021] 图3是本申请一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图;
[0022] 图4是本申请一个示例性实施例提供的用户界面示意图;
[0023] 图5是本申请一个示例性实施例提供的第一推进力原理图;
[0024] 图6是本申请一个示例性实施例提供的第二推进力原理图;
[0025] 图7是本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图;
[0026] 图8是本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图;
[0027] 图9是本申请一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的用户界面示意图;
[0028] 图10是本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图;
[0029] 图11是本申请一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的用户界面示意图;
[0030] 图12是本申请一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的用户界面示意图;
[0031] 图13是本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图;
[0032] 图14是本申请一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的用户界面示意图;
[0033] 图15是本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图;
[0034] 图16是本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图;
[0035] 图17是本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图;
[0036] 图18是本申请一个示例性实施例提供的控制虚拟对象使用虚拟道具的装置的框图;
[0037] 图19是本申请一个示例性实施例提供的计算机设备的结构示意图。

具体实施方式

[0038] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0039] 首先,对本申请实施例中涉及的名词进行介绍:
[0040] 虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,本申请实施例对此不加以限定。下述实施例以虚拟环境是三维虚拟环境来举例说明。
[0041] 虚拟对象:是指虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在三维虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
[0042] 虚拟道具:虚拟道具包括虚拟武器、功能道具、虚拟装备中的至少一个。示意性的,在本申请中虚拟道具是指虚拟武器,虚拟武器是虚拟对象在虚拟环境中能够使用的武器。虚拟武器包括手枪、步枪、狙击枪、弩、箭等通用武器。
[0043] 第一人称射击游戏(First-person Shooting,FPS):是指用户能够以第一人称视角进行的射击游戏,游戏中的虚拟环境的画面是以第一虚拟对象的视角对虚拟环境进行观察的画面。在游戏中,至少两个虚拟对象在虚拟环境中进行单局对战模式,虚拟对象通过躲避其他虚拟对象发起的攻击和虚拟环境中存在的危险(比如,毒气圈、沼泽地等)来达到在虚拟环境中存活的目的,当虚拟对象在虚拟环境中的生命值为零时,虚拟对象在虚拟环境中的生命结束,最后存活在虚拟环境中的虚拟对象是获胜方。可选地,该对战以第一个客户端加入对战的时刻作为开始时刻,以最后一个客户端退出对战的时刻作为结束时刻,每个客户端可以控制虚拟环境中的一个或多个虚拟对象。可选地,该对战的竞技模式可以包括单人对战模式、双人小组对战模式或者多人大组对战模式,本申请实施例对对战模式不加以限定。
[0044] 用户界面UI(User Interface)控件,在应用程序的用户界面上能够看见的任何可视控件或元素,比如,图片、输入框、文本框、按钮、标签等控件,其中一些UI控件响应用户的操作,比如,用户触发虚拟武器对应蓄力控件,控制虚拟武器进入蓄力状态;用户触发虚拟武器对应蓄力取消控件,控制虚拟武器取消蓄力状态。本申请实施例中涉及的UI控件,包括但不限于:射击控件、蓄力控件、蓄力进度控件和蓄力取消控件。
[0045] 本申请实施例中的“装备、携带或装配”虚拟武器:指的是虚拟对象拥有的虚拟武器,虚拟对象拥有背包,背包中存在背包格,虚拟武器存放于虚拟对象的背包中,或者,虚拟对象正在使用虚拟武器。
[0046] 本申请中提供的方法可以应用于虚拟现实应用程序、三维地图程序、军事仿真程序、第一人称射击游戏(First-person shooting game,FPS)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)等,下述实施例是以在游戏中的应用来举例说明。
[0047] 基于虚拟环境的游戏往往由一个或多个游戏世界的地图构成,游戏中的虚拟环境模拟现实世界的场景,用户可以操控游戏中的虚拟对象在虚拟环境中进行行走、跑步、跳跃、射击、格斗、驾驶、使用虚拟武器攻击其他虚拟对象、使用虚拟武器蓄力攻击其他虚拟对象等动作,交互性较强,并且多个用户可以在线组队进行竞技游戏。
[0048] 图1示出了控制虚拟对象使用虚拟道具的界面示意图。在使用虚拟道具界面10上显示有:移动控件101、虚拟武器102、射击控件103、瞄准镜控件104、虚拟对象的生命值105、虚拟对象的背包106、准星107。
[0049] 在使用虚拟道具界面10上显示有虚拟武器102和虚拟对象的手部,该界面10是以用户控制的虚拟对象的视角对虚拟环境进行观察所显示的画面。移动控件101用于用户控制虚拟对象在虚拟环境中进行移动,比如,用户通过对移动控件101进行触发操作控制虚拟对象在虚拟环境中向某方向移动;虚拟武器102是虚拟对象当前使用的虚拟武器。
[0050] 在相关技术中,提供了一种控制虚拟对象使用虚拟道具的方法,点击射击控件103用于用户控制虚拟对象进行攻击动作,比如,当虚拟对象使用的虚拟道具102是枪支类的虚拟武器时,用户通过点击射击控件103进行触发操作,该枪支类虚拟武器102发射子弹等道具部件,控制虚拟对象使用虚拟道具进行射击动作。
[0051] 可选地,可供用户进行选择的虚拟武器102装备在虚拟对象的背包106中。在虚拟对象进入虚拟环境前,用户选择虚拟对象在虚拟环境中使用的虚拟武器102,并装备在虚拟对象的背包106中。可选地,虚拟武器102也可以是虚拟对象在虚拟环境中拾取的虚拟武器,或者,通过击杀其他虚拟对象后获取的虚拟武器。可选的,虚拟武器102也可以是虚拟对象在虚拟环境中使用技能召唤出的虚拟武器。
[0052] 可选地,用户控制的虚拟对象的生命值105表示虚拟对象在虚拟环境中的生命长度,当虚拟对象的生命值105为零时,虚拟对象在虚拟环境中的生命结束。示意性的,在使用虚拟道具界面10中虚拟对象在虚拟环境中的生命值是100。在一些实施例中,当虚拟对象在虚拟环境中的生命结束时,用户可控制虚拟对象通过特殊手段(比如,服用虚拟药物)来复活生命,本申请对此不加以限定。
[0053] 基于上述实施例中提供的方法,用户通过单击射击控件或长按瞄准镜控件的方式控制虚拟角色使用虚拟武器进行射击动作,虚拟武器在单击或长按结束后立即射击,此时虚拟武器产生的对道具部件的推进力较小,道具部件受重力影响较大,道具部件的实际命中位置与虚拟武器瞄准的目标位置偏差较大,虚拟武器不容易命中目标,从而人机交互效率低,人机交互体验差。
[0054] 图2示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:第一终端120、服务器140和第二终端160。
[0055] 第一终端120安装和运行有支持虚拟环境的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、军事仿真程序、FPS游戏、MOBA游戏、多人枪战类生存游戏中的任意一种。第一终端120是第一用户使用的终端,第一用户使用第一终端120控制位于虚拟环境中的第一虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、射击、投掷、使用虚拟武器攻击其他虚拟对象、使用虚拟武器蓄力攻击其他虚拟对象中的至少一种。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物对象或动漫人物对象。
[0056] 第一终端120通过无线网络或有线网络与服务器140相连。
[0057] 服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示意性的,服务器140包括处理器144和存储器142,存储器142又包括显示模块1421、控制模块1422和接收模块1423。服务器140用于为支持三维虚拟环境的应用程序提供后台服务。可选地,服务器140承担主要计算工作,第一终端120和第二终端160承担次要计算工作;或者,服务器140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。
[0058] 第二终端160安装和运行有支持虚拟环境的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、军事仿真程序、FPS游戏、MOBA游戏、多人枪战类生存游戏中的任意一种。第二终端160是第二用户使用的终端,第二用户使用第二终端160控制位于虚拟环境中的第二虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、射击、投掷、使用虚拟武器攻击其他虚拟对象、使用虚拟武器蓄力攻击其他虚拟对象中的至少一种。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物对象或动漫人物对象。
[0059] 可选地,第一虚拟人物和第二虚拟人物处于同一虚拟环境中。可选地,第一虚拟人物和第二虚拟人物可以属于同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限。
[0060] 可选地,第一终端120和第二终端160上安装的应用程序是相同的,或两个终端上安装的应用程序是不同控制系统平台的同一类型应用程序。第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端120和第二终端160来举例说明。第一终端120和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。以下实施例以终端包括智能手机来举例说明。
[0061] 本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
[0062] 图3示出了本申请一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图,该方法可应用于如图2所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
[0063] 步骤301,显示用户界面,用户界面包括虚拟环境画面和蓄力控件,虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,第一虚拟对象是正在使用虚拟道具的对象。
[0064] 蓄力控件是用来控制虚拟武器的蓄力状态的控件。在用户界面中蓄力控件显示为一种UI控件。
[0065] 示例性的,蓄力控件显示为与射击控件为同一UI控件,或者,蓄力控件还可以是用户界面中单独的一个UI控件。
[0066] 示例性的,蓄力控件包括第一蓄力控件和第二蓄力控件,第一蓄力控件是用户界面中单独的一个UI控件,第二蓄力控件与射击控件为同一UI控件,即用户界面有两个蓄力控件,包括:用户界面中单独的第一蓄力控件、与射击控件为同一UI控件的第二蓄力控件。
[0067] 示例性的,图4是本申请一个示例性实施例提供的用户界面示意图。在用户界面10上显示有蓄力控件108和射击控件103,蓄力控件108和射击控件103显示为同一UI控件。
[0068] 可选地,虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面。视角是指以虚拟对象的第一人称视角或者第三人称视角在虚拟环境中进行观察时的观察角度。可选地,本申请的实施例中,第一视角是在虚拟环境中通过摄像机模型对虚拟对象进行观察时的角度。摄像机模型是指在虚拟环境中位于虚拟对象周围的三维模型,该摄像机模型位于虚拟对象的头部附近或者位于虚拟对象的头部。
[0069] 可选地,摄像机模型在虚拟环境中对虚拟对象进行自动跟随,即,当虚拟对象在虚拟环境中的位置发生改变时,摄像机模型跟随虚拟对象在虚拟环境中的位置同时发生改变,且该摄像机模型在虚拟环境中始终处于虚拟对象的预设距离范围内。可选地,在自动跟随过程中,摄像头模型和虚拟对象的相对位置不发生变化。
[0070] 可选地,虚拟环境画面显示的虚拟环境包括:山川、平地、河流、湖泊、海洋、沙漠、天空、植物、建筑、车辆中的至少一种元素。
[0071] 可选地,第一虚拟对象是正在使用虚拟道具的对象。该虚拟道具为虚拟武器,虚拟武器可以是枪械,比如,狙击枪、步枪、手枪,或者是弓箭、弩箭。可选地,第一虚拟对象是第一用户控制的虚拟对象。
[0072] 步骤302,在接收到蓄力控件上的蓄力操作时,控制虚拟道具进入蓄力状态。
[0073] 示例性的,终端接收到蓄力控件上的触发操作后,控制用户界面显示虚拟武器进入蓄力状态。
[0074] 用户对蓄力控件的蓄力操作因蓄力控件显示的不同,蓄力操作也不同。
[0075] 当蓄力控件与射击控件为同一UI控件时,射击控件与蓄力控件的操作方式不同。当双击或单击该UI控件时,触发射击控件,控制虚拟对象进行射击动作;当长按该UI控件时,触发蓄力控件,控制虚拟武器进入蓄力状态。
[0076] 当蓄力控件是用户界面中单独的一个UI控件时,蓄力控件的蓄力操作可以是点击、双击或长按中的至少一种。
[0077] 当蓄力控件是用户界面中单独的一个UI控件和与射击控件为同一UI控件,用户可以任选一个蓄力控件触发,控制虚拟武器进入蓄力状态。此时,第一蓄力控件的触发方式可以是点击、双击或长按中的至少一种,第二蓄力控件的触发方式为长按。
[0078] 示例性的,如图4所示,蓄力控件108和射击控件103在用户界面上显示为同一UI控件,当用户单击时,触发射击控件103,控制虚拟对象进行射击动作;当用户长按时,触发蓄力控件108,控制虚拟武器进入蓄力状态。
[0079] 用户进行蓄力操作后,控制虚拟武器进入蓄力状态。虚拟武器的蓄力状态可以通过蓄力状态提醒来告知用户,也可以没有任何蓄力状态提示,用户自行估计虚拟武器的状态。
[0080] 蓄力状态提醒包括:蓄力特效、震动反馈、声音提示中的至少一种。蓄力特效是虚拟武器进入蓄力状态后用户界面的显示变化。蓄力特效包括改变准星的形状或/和大小、突出显示虚拟武器、突出显示蓄力控件、显示蓄力进度中的至少一种。突出显示方式包括如下显示方式中的至少一种:采用目标颜色显示、叠加蒙版显示、高亮显示、描边显示。震动反馈是在虚拟武器进入蓄力状态后,通过震动方式告知用户,当前虚拟武器处于蓄力状态。声音提示是在虚拟武器进入蓄力状态后,通过进入蓄力状态的声音提示或反复播放的处于蓄力状态的声音提示的方式,告知用户当前虚拟武器处于蓄力状态。
[0081] 蓄力状态是一个提升虚拟道具推进力的状态。示意性的,终端在虚拟道具进入蓄力状态后开始累计蓄力持续时长。
[0082] 步骤304,在蓄力操作满足开火条件时,控制虚拟道具按照蓄力后的推进力射出道具部件。
[0083] 其中,蓄力后的推进力与持续时长呈正相关关系,且蓄力后的推进力具有蓄力上限值,持续时长是虚拟武器进入蓄力状态的时长。
[0084] 示意性的,终端在判断满足开火条件后,控制用户界面显示虚拟道具结束蓄力状态,并按照蓄力后的推进力显示射击过程及结果。
[0085] 示意性的,开火条件可以是任意的操作方式、时间条件、动作条件等。
[0086] 示意性的,操作方式可以是:长按蓄力控件后的松开的操作、进入蓄力状态后的再次点击蓄力控件的操作、进入蓄力状态后的滑动界面指定位置的操作中的至少一种。时间条件可以是:进入蓄力状态后三十秒。动作条件可以是:进入蓄力后控制虚拟对象进行跳跃、前进、冲刺等动作。
[0087] 例如,开火条件可以是在长按蓄力控件进入蓄力状态后松手,控制虚拟武器射出道具部件;在触发蓄力控件进入蓄力状态后一定时间时,控制虚拟武器自动射出道具部件;在触发蓄力控件进入蓄力状态后,控制虚拟对象向前冲刺时,控制虚拟武器自动射出道具部件。
[0088] 推进力是虚拟武器作用于道具部件的推力。推进力的方向与瞄准方向平行。推进力的大小随着蓄力状态的持续时长逐渐增加,且在一定时间后达到推进力的蓄力上限值。
[0089] 蓄力后的推进力与持续时长呈正相关关系,可以是推进力数值与持续时长一一对应,也可以是一段持续时长对应一个推进力;正相关关系可以是线性正相关关系也可以是非线性正相关关系。
[0090] 示意性的,推进力方向为水平方向,图5示出了本申请一个示例性实施例提供的第一推进力原理图。如图所示,虚拟武器瞄准目标位置604触发射击控件,射出道具部件601。道具部件601在被射出瞬间受到虚拟武器的第一推进力602作用,获得第一速度。在射出过程中道具部件601受重力603的影响,沿第一射出弹道608到达第一实际命中位置605。则目标位置604与第一实际命中位置605存在第一偏差a。
[0091] 当虚拟武器进入蓄力状态后,推进力随蓄力状态的时长增长,在蓄力操作满足开火条件时,虚拟武器按照蓄力后的第二推进力射出道具部件。图6示出了本申请一个示例性实施例提供的第二推进力原理图。如图所示,虚拟武器瞄准位置604触发蓄力控件,在蓄力操作满足开火条件时,射出道具部件601。道具部件601在被射出瞬间受到虚拟武器的第二推进力606作用,获得第二速度。在射出过程中道具部件601受重力603的影响,沿第二射出弹道609到达第二实际命中位置607。则目标位置604与第二实际命中位置607存在偏差b。
[0092] 由于第二推进力远大于第一推进力,道具部件产生的初始速度第二速度远大于第一速度,当水平距离相同时,受到第二推进力作用的道具部件命中目标的时间远小于受到第一推进力作用的道具部件,则第二推进力作用的道具部件在垂直方向上产生的第二偏差b远小于第一推进力作用的道具部件在垂直方向上产生的第一偏差a。因此,使用蓄力状态后的虚拟武器射击精度更高。
[0093] 示意性的,道具部件的射出弹道是终端参照当前蓄力状态所对应的推进力大小、道具部件受到的重力大小、空气阻力中的至少一个参数,通过计算得出的唯一的、可被预计的弹道。
[0094] 示意性的,当虚拟环境为地球环境,由于道具部件始终受到重力影响,垂直偏差始终是存在的,因此,虚拟武器瞄准的目标位置和道具部件实际命中的位置一定不重合。
[0095] 道具部件是与虚拟武器对应使用的消耗品,例如:枪械对应的子弹、弩箭对应的箭镞、激光枪对应的能量储备等。
[0096] 综上所述,本实施例提供的方法,通过增设蓄力控件,在射击动作进行前增设蓄力状态,在简单的瞄准、射击操作的基础上引入开火条件,来改变虚拟道具的推进力。增大推进力,减少虚拟武器瞄准的目标位置和道具部件实际命中的位置的偏差,提高虚拟武器射击精度。增加了人机交互过程,提高了用户对虚拟道具射击动作的控制,使射击结果更贴近用户预期效果,提高了人机交互体验。
[0097] 针对上述步骤304中的开火条件,给出如下示例性实施例。图7示出了本申请另一个示例性实施例提供的虚拟对象使用虚拟武器的方法的流程图。该方法可应用于如图2所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
[0098] 步骤301,显示用户界面,用户界面包括虚拟环境画面和蓄力控件,虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,第一虚拟对象是正在使用虚拟道具的对象。
[0099] 示意性的,用户控制的第一虚拟对象使用的虚拟道具是狙击枪。
[0100] 步骤302,在接收到蓄力控件上的蓄力操作时,控制虚拟道具进入蓄力状态。
[0101] 示意性的,蓄力操作是长按蓄力控件。
[0102] 步骤304a,在虚拟道具处于蓄力状态时蓄力操作结束,控制虚拟道具按照蓄力后的推进力射出道具部件。
[0103] 示意性的,终端在判断满足开火条件后,控制用户界面显示虚拟道具结束蓄力状态,并按照蓄力后的推进力显示射击过程及结果。
[0104] 在一个示例中,在虚拟武器处于蓄力状态时松开蓄力控件,蓄力状态结束,控制虚拟武器按照当前蓄力状态对应的推进力射出道具部件。
[0105] 步骤304b,在虚拟武器处于蓄力满状态时蓄力操作结束,控制虚拟武器按照蓄力后的推进力射出道具部件
[0106] 其中,蓄力满状态是蓄力后的推进力达到蓄力上限值的状态。
[0107] 示意性的,终端首先判断是否满足开火条件,若满足开火条件,则继续判断虚拟道具是否达到蓄力满状态,若虚拟道具达到蓄力满状态,则控制用户界面显示虚拟道具结束蓄力状态,并按照蓄力后的推进力显示射击过程及结果;若虚拟道具未达到蓄力满状态,则控制用户界面显示虚拟道具取消蓄力状态恢复为进入蓄力状态前的正常状态。
[0108] 示意性的,蓄力状态达到蓄力上限值后,继续蓄力,则按照蓄力上限值维持蓄力状态。
[0109] 示意性的,步骤304b包括蓄力后取消蓄力状态和蓄力后开火两种情况。
[0110] 第一种情况,在虚拟武器处于蓄力满状态前松开蓄力控件,此时,蓄力状态取消,虚拟武器恢复为进入蓄力状态前的正常状态,且不射出道具部件。
[0111] 第二种情况,在虚拟武器处于蓄力满状态后松开蓄力控件,此时,蓄力状态结束,控制虚拟武器按照当前蓄力满状态对应的推进力的蓄力上限值射出道具部件。
[0112] 示意性的,步骤304a和步骤304b是两种虚拟武器不同的蓄力后开火的方法。
[0113] 综上所述,本实施例提供的方法,通过设置不同的蓄力后的开火条件,用户在不同蓄力状态下满足不同的开火条件,可以对虚拟道具实现不同的控制,增加了人机交互过程,提高了人机交互的效率,提高了用户对虚拟武器射击动作的控制,使射击结果更贴近用户预期效果,提高了人机交互体验。
[0114] 上述步骤302虚拟道具进入虚拟状态后,用户界面会给出相应的虚拟道具进入虚拟状态的提示,示意性的,下面给出虚拟道具进入蓄力状态后通过虚拟道具对应的准星提示或虚拟道具对应的蓄力进度控件提示两种方式的示例性实施例。
[0115] 图8示出了本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图,该方法可应用于如图2所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
[0116] 步骤301,显示用户界面,用户界面包括虚拟环境画面和蓄力控件,虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,第一虚拟对象是正在使用虚拟道具的对象。
[0117] 用户界面上还显示有虚拟道具对应的准星。
[0118] 步骤302,在接收到蓄力控件上的蓄力操作时,控制虚拟道具进入蓄力状态。
[0119] 步骤303,在虚拟道具处于蓄力状态时,根据蓄力状态的持续时长在用户界面上将虚拟道具对应的准星进行精确化显示。
[0120] 示意性的,终端在控制虚拟道具进入蓄力状态的同时,根据蓄力状态的持续时长在用户界面上将虚拟道具对应的准星进行精确化显示。
[0121] 准星是虚拟武器用来瞄准目标的辅助工具。示意性的,准星可以是圆形准星、十字准星、方形准星、以及上述准星的变体形状中的任意一种。
[0122] 精确化显示是更有助于虚拟武器瞄准目标的准星显示方式。示意性的,精确化显示包括:增加准星的瞄准辅助线、缩小准星大小、改变准星形状、改变准星的颜色中的至少一种。
[0123] 示意性的,准星是圆形准星。根据蓄力状态的持续时长在用户界面上将虚拟武器对应的准星进行精确化显示,包括:
[0124] 根据蓄力状态的持续时长在用户界面上将虚拟武器对应的准星进行缩小化显示。
[0125] 结合参考图9,在虚拟道具进入蓄力状态前或刚进入蓄力状态时,用户界面显示为第一用户界面91,其中准星显示为第一准星901。在虚拟道具进入蓄力状态后,根据蓄力状态的持续时长准星逐渐缩小,当达到蓄力满状态时,用户界面显示为第二用户界面92,准星缩小至第二准星902。
[0126] 步骤304,在蓄力操作满足开火条件时,控制虚拟道具按照蓄力后的推进力射出道具部件。
[0127] 综上所述,本实施例提供的方法,通过根据蓄力状态的持续时长在用户界面上将虚拟道具对应的准星进行精确化显示,增加虚拟道具瞄准的准确度,提高射击命中率。同时蓄力状态增加了人机交互过程,提高了人机交互的效率,提高了用户对虚拟道具射击动作的控制,使射击结果更贴近用户预期效果,提高了人机交互体验。
[0128] 图10示出了本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图,该方法可应用于如图2所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
[0129] 步骤301,显示用户界面,用户界面包括虚拟环境画面和蓄力控件,虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,第一虚拟对象是正在使用虚拟道具的对象。
[0130] 步骤302,在接收到蓄力控件上的蓄力操作时,控制虚拟道具进入蓄力状态。
[0131] 步骤3031,在虚拟道具处于蓄力状态时,根据蓄力状态的持续时长在用户界面上的虚拟道具对应的蓄力进度控件上显示蓄力进度。
[0132] 示意性的,终端在控制虚拟道具进入蓄力状态的同时,根据蓄力状态的持续时长在用户界面上的虚拟道具对应的蓄力进度控件上显示虚拟道具对应的蓄力进度。
[0133] 蓄力进度控件是用来显示虚拟武器的蓄力进度的。示意性的,蓄力进度可以是用户界面上单独一个UI控件,也可以与准星控件显示为同一UI控件,还可以与蓄力控件显示为同一UI控件。当蓄力进度控件为单独的UI控件时,蓄力控件的形状可以为条状、线状、球状等任意几何形状,
[0134] 蓄力进度与蓄力持续时长成正比。示意性的,蓄力进度的显示方式可以通过显示进度条、显示百分比、显示时间中的任意一种。例如,在虚拟武器进入蓄力状态后,用户界面显示蓄力百分比。
[0135] 精确化显示是更有助于虚拟武器瞄准目标的准星显示方式。示意性的,精确化显示包括:增加准星的瞄准辅助线、缩小准星大小、改变准星形状、改变准星的颜色中的至少一种。
[0136] 示意性的,蓄力进度控件包括蓄力进度条、蓄力进度圈、蓄力进度球中的任意一种;
[0137] 根据蓄力状态的持续时长在用户界面上的虚拟道具对应的蓄力进度控件上显示蓄力进度,包括:
[0138] 根据蓄力状态的持续时长在用户界面上的虚拟道具对应的蓄力进度条上显示线形蓄力进度;
[0139] 或
[0140] 根据蓄力状态的持续时长在用户界面上的虚拟道具对应的蓄力进度圈上显示圆形蓄力进度。
[0141] 示意性的给出一个蓄力进度控件为蓄力进度条的示例性实施例,图11示出了本申请一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的用户界面图。在虚拟武器进入蓄力状态时,用户界面显示为第三用户界面121,在准星下方显示有蓄力进度条,其中蓄力进度条显示为第一蓄力进度条1201。在虚拟武器进入蓄力状态后,根据蓄力状态的持续时长蓄力进度条逐渐填充,当达到蓄力满状态时,用户界面显示为第四用户界面122,准星填充至第二蓄力进度条1202。
[0142] 示意性的给出一个蓄力进度控件为蓄力进度圈的示例性实施例,图12示出了本申请一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的用户界面图。在虚拟武器刚进入蓄力状态时,用户界面显示为第五用户界面131,在圆形准星的外圈显示有蓄力进度圈,其中蓄力进度圈显示为第一蓄力进度圈1301。在虚拟武器进入蓄力状态中,根据蓄力状态的持续时长蓄力进度条逐渐填充,用户界面显示为第六用户界面132,蓄力进度圈填充至第二蓄力进度圈1302。当达到蓄力满状态时,用户界面显示为第七用户界面133,蓄力进度圈填充至第三蓄力进度圈1303。
[0143] 步骤304,在蓄力操作满足开火条件时,控制虚拟道具按照蓄力后的推进力射出道具部件。
[0144] 综上所述,本实施例提供的方法,通过设置蓄力进度控件,根据蓄力状态的持续时长在用户界面上的虚拟道具对应的蓄力进度控件上显示蓄力进度,提示用户当前蓄力状态的进度,帮助用户把握好蓄力状态时间,更好的控制蓄力状态后虚拟道具的推进力。同时蓄力状态增加了人机交互过程,提高了人机交互的效率,提高了用户对虚拟道具射击动作的控制,使射击结果更贴近用户预期效果,提高了人机交互体验。
[0145] 综上所述,以上实施例提供的方法,用户界面给出的虚拟道具进入虚拟状态的提示,可以更好的帮助用户,控制虚拟道具的蓄力状态,使虚拟道具蓄力后的推进力更符合用户的预期效果,增强了人机交互能力,提高了人机交互体验。
[0146] 上述步骤304,在虚拟道具进入蓄力状态后,虚拟道具除了在蓄力操作满足开火条件时射出道具部件外,还可以在蓄力操作满足蓄力取消条件时取消蓄力状态。
[0147] 示意性的,蓄力取消条件可以通过蓄力取消控件来完成。
[0148] 图13示出了本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图,该方法可应用于如图2所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
[0149] 步骤301,显示用户界面,用户界面包括虚拟环境画面和蓄力控件,虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,第一虚拟对象是正在使用虚拟道具的对象。
[0150] 步骤302,在接收到蓄力控件上的蓄力操作时,控制虚拟道具进入蓄力状态。
[0151] 步骤305,在用户界面上显示虚拟道具对应的蓄力取消控件。
[0152] 示意性的,终端在接收到蓄力控件上的蓄力操作后,控制用户界面显示虚拟道具进入蓄力状态的同时,显示蓄力取消控件。
[0153] 蓄力取消控件可以是用户界面上的一种可见的UI控件,也可以是用户界面上不可见的控件。用户界面上不可见的控件与用户界面上可见的UI控件同样可以接受用户的触发操作。在虚拟武器进入蓄力状态后,用户界面上自动显示,用来控制虚拟道具取消蓄力状态。
[0154] 蓄力取消控件在用户界面上可以显示有一个、两个或多个。示意性的,给出蓄力取消控件有两个的示例性实施例,图14示出了本申请一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的用户界面图。如图,在虚拟武器进入蓄力状态时,用户界面出现蓄力取消控件,示意性的,蓄力取消控件位于用户界面两边,分别为第一蓄力取消控件1501和第二蓄力取消控件1502。
[0155] 步骤306,在接收到蓄力取消控件上的蓄力取消操作时,控制虚拟道具取消蓄力状态。
[0156] 示意性的,终端接收到蓄力取消控件上的蓄力取消操作后,控制用户界面显示虚拟道具取消蓄力状态。示意性的,显示虚拟道具取消蓄力状态的方式可以是取消显示虚拟道具进入蓄力状态的提示或/和取消蓄力状态的语音提示。
[0157] 蓄力取消控件上的蓄力取消操作可以是以蓄力取消控件为终点的滑动的操作、点击蓄力控件的操作、双击蓄力控件的操作中的至少一种。
[0158] 虚拟道具取消蓄力状态即虚拟道具恢复为进入蓄力状态前的状态,且不射出道具部件。
[0159] 综上所述,本实施例提供的方法,通过设置蓄力取消控件,在接收到蓄力取消控件上的蓄力取消操作时,控制虚拟道具取消蓄力状态。蓄力取消控件提供了一种精确地蓄力取消操作方式,使用户可以控制蓄力状态的取消,增强人机交互效率。同时蓄力状态增加了人机交互过程,提高了用户对虚拟道具射击动作的控制,使射击结果更贴近用户预期效果,提高了人机交互体验。
[0160] 示意性的,在步骤304b中,蓄力取消条件还可以通过蓄力控件上的蓄力操作完成。
[0161] 图15示出了本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图,该方法可应用于如图2所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
[0162] 步骤301,显示用户界面,用户界面包括虚拟环境画面和蓄力控件,虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,第一虚拟对象是正在使用虚拟道具的对象。
[0163] 步骤302,在接收到蓄力控件上的蓄力操作时,控制虚拟道具进入蓄力状态。
[0164] 步骤307,在蓄力操作结束时,控制虚拟道具取消蓄力状态。
[0165] 示意性的,终端在接收到蓄力控件上的蓄力操作后,控制用户界面显示虚拟道具取消蓄力状态。
[0166] 示意性的,取消蓄力状态的蓄力操作可以是在蓄力状态达到蓄力满状态前松开蓄力控件的操作、在蓄力状态达到蓄力满状态前从蓄力控件滑动一段距离至蓄力控件外的操作、在蓄力状态达到蓄力满状态前按压蓄力控件的操作中的至少一种。
[0167] 综上所述,本实施例提供的方法,通过用户对蓄力控件做相应的蓄力操作,控制虚拟道具取消蓄力状态。在蓄力控件上设置蓄力取消条件,可以使用户更快捷的控制蓄力状态的取消,增强人机交互效率。同时蓄力状态增加了人机交互过程,提高了人机交互的效率,提高了用户对虚拟道具射击动作的控制,使射击结果更贴近用户预期效果,提高了人机交互体验。
[0168] 示意性的,蓄力取消条件还可以是用户的声音指令。终端通过识别用户发出的声音指令,控制虚拟武器取消蓄力状态。
[0169] 综上所述,以上实施例提供的方法,通过设置不同的蓄力取消方式,使用户可以控制蓄力状态的取消,增强人机交互效率。同时蓄力状态增加了人机交互过程,提高了人机交互的效率,提高了用户对虚拟道具射击动作的控制,使射击结果更贴近用户预期效果,提高了人机交互体验。
[0170] 示意性的,给出两种完整的控制虚拟对象使用虚拟道具的过程。
[0171] 图16示出了本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图,该方法可应用于如图2所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
[0172] 步骤1701,开始。
[0173] 步骤1702,使用蓄力时开火的武器。
[0174] 用户控制虚拟对象使用蓄力开火武器。
[0175] 蓄力开火武器为可以进入蓄力状态的虚拟武器。
[0176] 用户控制虚拟对象使用蓄力开火武器的方式可以是装备蓄力开火武器、通过技能召唤蓄力开火武器中的至少一种。装备蓄力开火武器为:用户控制虚拟对象在虚拟环境中拾取蓄力开火武器并装备,或从虚拟对象的背包中装备蓄力开火武器。技能召唤蓄力开火武器为:虚拟角色可以通过使用技能召唤出蓄力开火武器并使用。
[0177] 示意性的,用户控制虚拟对象使用蓄力开火武器时,终端控制用户界面显示蓄力开火武器、蓄力控件。并进行步骤1703。
[0178] 步骤1703,判断用户是否点击开火键。
[0179] 示意性的,本示例性实施例中射击控件和蓄力控件显示为同一UI控件。开火键即该UI控件。
[0180] 本示例性实施例中蓄力操作为长按蓄力控件。
[0181] 示意性的,终端判断是否接收到用户对蓄力控件进行的蓄力操作。若接收到,则进行步骤1704,;若未接收到,则返回步骤1702。
[0182] 步骤1704,开始蓄力。
[0183] 示意性的,终端接收到蓄力控件上的蓄力操作后,控制用户界面显示虚拟武器处于蓄力状态,同时显示蓄力取消控件和蓄力进度控件。并进行步骤1705。
[0184] 步骤1705,是否松手。
[0185] 在本示例性实施例中,开火条件为松开长按的蓄力控件。
[0186] 示意性的,终端判断蓄力控件上的蓄力操作是否满足开火条件,若满足开火条件,则进行步骤1708,若不满足开火条件,则进行步骤1706。
[0187] 步骤1706,是否滑动至取消开火键。
[0188] 在本示例性实施例中,蓄力取消控件在用户界面上显示为取消开火键,取消蓄力状态的蓄力取消条件为滑动至蓄力取消控件。
[0189] 示意性的,终端判断是否接收到用户对蓄力取消控件做出满足蓄力取消条件的操作,若接收到,则进行步骤1709;若未接收到,则进行步骤1707。
[0190] 步骤1707,继续蓄力。
[0191] 示意性的,终端控制用户界面继续显示虚拟武器处于蓄力状态。并进行步骤1705。
[0192] 步骤1708,发射子弹。
[0193] 示意性的,终端控制用户界面显示按照蓄力后的推进力射出道具部件,并控制用户界面显示虚拟武器结束蓄力状态,恢复为进入蓄力状态前的状态,同时取消显示蓄力取消控件和蓄力进度控件。并进行步骤1710。
[0194] 步骤1709,取消开火恢复正常状态。
[0195] 示意性的,终端控制用户界面显示虚拟武器结束蓄力状态,恢复为进入蓄力状态前的状态,同时取消显示蓄力取消控件和蓄力进度控件。并进行步骤1712。
[0196] 步骤1710,是否命中目标。
[0197] 在本示例性实施例中,虚拟武器瞄准的目标为其他虚拟对象。
[0198] 示意性的,终端向服务器发送射击信号;服务器在接收到射击信号后,判断道具部件是否命中其他虚拟对象,并向终端发送射击结果信号,射击结果信号包含射击结果信息,射击结果信息包括道具部件是否命中其他虚拟角色、对其他虚拟角色造成的伤害值、道具部件的实际命中位置等。终端接收到射击结果信号,若道具部件命中其他虚拟对象,则进行步骤1711;若道具部件未命中其他虚拟对象,则进行步骤1712。
[0199] 步骤1711,造成伤害。
[0200] 示意性的,终端按照射击结果信号中包含的射击结果信息,控制用户界面显示射击结果。
[0201] 步骤1712,结束。
[0202] 综上所述,本实施例提供的方法,本示例性实施例给出了一个示例性的完整的控制虚拟对象使用虚拟道具的方法。在蓄力过程中通过多次判断,使用户更加精确地控制射击过程,使射击结果更贴近用户预期效果。蓄力状态增加了人机交互过程,提高了人机交互的效率和人机交互体验。
[0203] 图17示出了本申请另一个示例性实施例提供的控制虚拟对象使用虚拟道具的方法的流程图,该方法可应用于如图2所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:
[0204] 步骤1801,开始。
[0205] 步骤1802,使用蓄力时开火的武器。
[0206] 用户控制虚拟对象使用蓄力开火武器。
[0207] 蓄力开火武器为可以进入蓄力状态的虚拟武器。
[0208] 用户控制虚拟对象使用蓄力开火武器的方式可以是装备蓄力开火武器、通过技能召唤蓄力开火武器中的至少一种。装备蓄力开火武器为:用户控制虚拟对象在虚拟环境中拾取蓄力开火武器并装备,或从虚拟对象的背包中装备蓄力开火武器。技能召唤蓄力开火武器为:虚拟角色可以通过使用技能召唤出蓄力开火武器并使用。
[0209] 示意性的,用户控制虚拟对象使用蓄力开火武器时,终端控制用户界面显示蓄力开火武器、蓄力控件。并进行步骤1803。
[0210] 步骤1803,判断用户是否点击开火键。
[0211] 示意性的,本示例性实施例中射击控件和蓄力控件显示为同一UI控件。开火键即该UI控件。
[0212] 本示例性实施例中蓄力操作为长按蓄力控件。
[0213] 示意性的,终端判断是否接收到用户对蓄力控件进行的蓄力操作。若接收到,则进行步骤1804,;若未接收到,则返回步骤1802。
[0214] 步骤1804,开始蓄力。
[0215] 示意性的,终端接收到蓄力控件上的蓄力操作后,控制用户界面显示虚拟武器处于蓄力状态,同时显示蓄力进度控件。并进行步骤1805。
[0216] 步骤1805,是否松手。
[0217] 在本示例性实施例中,开火条件为在蓄力状态达到蓄力满状态后松开长按的蓄力控件。蓄力取消条件为在蓄力状态达到蓄力满状态前松开长按的蓄力控件;或在蓄力状态达到蓄力满状态后,滑动到蓄力取消控件。
[0218] 示意性的,终端在蓄力状态未达到蓄力满状态前判断蓄力控件上的蓄力操作是否满足蓄力取消条件,若满足,则进行步骤1807,若不满足,则进行步骤1806。
[0219] 步骤1806,继续蓄力。
[0220] 示意性的,终端控制用户界面继续显示虚拟武器处于蓄力状态。并进行步骤1808。
[0221] 步骤1807,取消开火恢复正常状态。
[0222] 示意性的,终端控制用户界面显示虚拟武器结束蓄力状态,恢复为进入蓄力状态前的状态,同时取消显示蓄力取消控件或/和蓄力进度控件。并进行步骤1814。
[0223] 步骤1808,是否蓄满力。
[0224] 示意性的,终端判断虚拟武器的蓄力状态是否为蓄满力状态,若是蓄满力状态,则控制用户界面显示蓄力取消控件并进行步骤1809;若不是蓄满力状态,则返回步骤1806。
[0225] 步骤1809,是否松手。
[0226] 若松手,则此时虚拟武器处于蓄力满状态,松手满足开火条件,控制虚拟武器射出道具部件。
[0227] 示意性的,终端判断蓄力控件上的蓄力操作是否满足开火条件,若满足开火条件,则进行步骤1811,若不满足开火条件,则进行步骤1810。
[0228] 步骤1810,是否滑动至取消开火键。
[0229] 在本示例性实施例中,蓄力取消控件在用户界面上显示为取消开火键,取消蓄力状态的蓄力取消条件为滑动至蓄力取消控件。
[0230] 示意性的,终端判断是否接收到用户对蓄力取消控件做出满足蓄力取消条件的操作,若接收到,则进行步骤1807;若未接收到,则进行步骤1806。
[0231] 步骤1811,发射子弹。
[0232] 示意性的,终端控制用户界面显示按照蓄力后的推进力射出道具部件,并控制用户界面显示虚拟武器结束蓄力状态,恢复为进入蓄力状态前的状态,同时取消显示蓄力取消控件和蓄力进度控件。并进行步骤1812。
[0233] 步骤1812,是否命中目标。
[0234] 在本示例性实施例中,虚拟武器瞄准的目标为其他虚拟对象。
[0235] 示意性的,终端向服务器发送射击信号;服务器在接收到射击信号后,判断道具部件是否命中其他虚拟对象,并向终端发送射击结果信号,射击结果信号包含射击结果信息,射击结果信息包括道具部件是否命中其他虚拟角色、对其他虚拟角色造成的伤害值、道具部件的实际命中位置等。终端接收到射击结果信号,若道具部件命中其他虚拟对象,则进行步骤1813;若道具部件未命中其他虚拟对象,则进行步骤1814。
[0236] 步骤1813,造成伤害。
[0237] 示意性的,终端按照射击结果信号中包含的射击结果信息,控制用户界面显示射击结果。
[0238] 步骤1814,结束。
[0239] 综上所述,本示例性实施例给出了一个示例性的完整的控制虚拟对象使用虚拟道具的方法。在蓄力过程中通过多次判断,使用户更加精确地控制射击过程,使射击结果更贴近用户预期效果。蓄力状态增加了人机交互过程,提高了人机交互的效率和人机交互体验。
[0240] 上述实施例是基于游戏的应用场景对上述方法进行描述,下面以军事仿真的应用场景对上述方法进行示例性说明。
[0241] 仿真技术是应用软件和硬件通过模拟真实环境的实验,反映系统行为或过程的模型技术。
[0242] 军事仿真程序使是利用仿真技术针对军事应用专门构建的程序,对海、陆、空等作战元素、武器装备性能以及作战行动等进行量化分析,进而精确模拟战场环境,呈现战场态势,实现作战体系的评估和决策的辅助。
[0243] 在一个示例中,士兵在军事仿真程序所在的终端建立一个虚拟的战场,并以组队的形式进行对战。士兵控制战场虚拟环境中的虚拟对象在战场虚拟环境下进行行走、奔跑、攀爬、驾驶、射击、投掷、侦查、近身格斗等动作中的至少一种操作。战场虚拟环境包括:平地、山川、高原、盆地、沙漠、河流、湖泊、海洋、植被中的至少一种自然形态,以及建筑物、车辆、废墟、训练场等地点形态。虚拟对象包括:虚拟人物、虚拟动物、动漫人物等,每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
[0244] 基于上述情况,在一个示例中,士兵a控制虚拟对象在虚拟环境中移动。当士兵a控制虚拟对象使用蓄力开火武器后,长按蓄力控件,则控制蓄力开火武器进入蓄力状态。当士兵a松开蓄力控件,则控制蓄力开火武器按照蓄力后的推进力射出道具部件。当士兵a滑动至蓄力取消控件,则控制蓄力开火武器取消蓄力状态。
[0245] 综上所述,本实施例提供的方法,将上述控制虚拟对象使用虚拟道具的方法应用在军事仿真程序中,能够提高作战效率,有益于增强人机之间的配合程度。
[0246] 以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
[0247] 图18示出了本申请的一个示例性实施例提供的控制虚拟对象使用虚拟道具的装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分,该装置包括:显示模块1901、交互模块1902和控制模块1903。
[0248] 显示模块1901,用于显示用户界面,所述用户界面包括虚拟环境画面和蓄力控件,所述虚拟环境画面是以第一虚拟对象的第一视角对虚拟环境进行观察的画面,所述第一虚拟对象是正在使用虚拟道具的对象;
[0249] 交互模块1902,用于接收所述蓄力控件上的蓄力操作;
[0250] 控制模块1903,用于在接收到所述蓄力控件上的蓄力操作时,控制所述虚拟道具进入蓄力状态;在所述蓄力操作满足开火条件时,控制所述虚拟道具按照蓄力后的推进力射出道具部件。
[0251] 在一个可选的实施例中,所述蓄力后的推进力与持续时长呈正相关关系,且所述蓄力后的推进力具有蓄力上限值,所述持续时长是所述虚拟道具进入所述蓄力状态的时长。
[0252] 在一个可选的实施例中,所述开火条件包括:
[0253] 在所述虚拟道具处于所述蓄力状态时所述蓄力操作结束;
[0254] 或,
[0255] 在所述虚拟道具处于蓄力满状态时所述蓄力操作结束;
[0256] 其中,所述蓄力满状态是所述蓄力后的推进力达到所述蓄力上限值的状态。
[0257] 在一个可选的实施例中,所述显示模块,用于在用户界面上显示所述虚拟道具对应的准星;
[0258] 所述显示模块1901,还用于在所述虚拟道具处于所述蓄力状态时,根据所述蓄力状态的持续时长在所述用户界面上将所述虚拟道具对应的准星进行精确化显示。
[0259] 在一个可选的实施例中,所述准星是圆形准星;
[0260] 所述显示模块1901,用于根据所述蓄力状态的持续时长在所述用户界面上将所述虚拟道具对应的准星进行缩小化显示。
[0261] 在一个可选的实施例中,所述显示模块1901,用于在用户界面上显示所述虚拟道具对应的蓄力进度控件;
[0262] 所述显示模块1901,还用于在所述虚拟道具处于所述蓄力状态时,根据所述蓄力状态的持续时长在所述用户界面上的所述虚拟道具对应的所述蓄力进度控件上显示蓄力进度。
[0263] 在一个可选的实施例中,所述蓄力进度控件包括蓄力进度条或蓄力进度圈;
[0264] 所述显示模块1901,用于根据所述蓄力状态的持续时长在所述用户界面上的所述虚拟道具对应的所述蓄力进度条上显示线形蓄力进度;
[0265] 或
[0266] 所述显示模块1901,用于根据所述蓄力状态的持续时长在所述用户界面上的所述虚拟道具对应的所述蓄力进度圈上显示圆形蓄力进度。
[0267] 在一个可选的实施例中,所述显示模块1901,用于在所述用户界面上显示所述虚拟道具对应的蓄力取消控件;
[0268] 所述交互模块1902,用于接收所述蓄力取消控件上的蓄力取消操作;
[0269] 所述控制模块1903,用于在接收到所述蓄力取消控件上的蓄力取消操作时,控制所述虚拟道具取消蓄力状态。
[0270] 在一个可选的实施例中,所述控制模块1903,用于在所述蓄力操作结束时,控制所述虚拟道具取消蓄力状态。
[0271] 请参考图19,其示出了本申请一个示例性实施例提供的计算机设备1300的结构框图。该计算机设备1300可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器。计算机设备1300还可能被称为用户设备、便携式终端等其他名称。
[0272] 通常,计算机设备1300包括有:处理器1301和存储器1302。
[0273] 处理器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处理器用于处理有关机器学习的计算操作。
[0274] 存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中提供的控制虚拟对象使用虚拟道具的方法。
[0275] 在一些实施例中,电子设备1300还可选包括有:外围设备接口1303和至少一个外围设备。具体地,外围设备包括:射频电路1304、触摸显示屏1305、摄像头1306、音频电路1307、定位组件1308和电源1309中的至少一种。
[0276] 外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0277] 射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路
1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
[0278] 触摸显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏1305还具有采集在触摸显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。触摸显示屏1305用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1305可以为一个,设置电子设备1300的前面板;在另一些实施例中,触摸显示屏1305可以为至少两个,分别设置在电子设备1300的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1305可以是柔性显示屏,设置在电子设备1300的弯曲表面上或折叠面上。甚至,触摸显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
[0279] 摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0280] 音频电路1307用于提供用户和电子设备1300之间的音频接口。音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
[0281] 定位组件1308用于定位电子设备1300的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1308可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0282] 电源1309用于为电子设备1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0283] 在一些实施例中,电子设备1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
[0284] 加速度传感器1311可以检测以电子设备1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
[0285] 陀螺仪传感器1312可以检测电子设备1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对电子设备1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0286] 压力传感器1313可以设置在电子设备1300的侧边框和/或触摸显示屏1305的下层。当压力传感器1313设置在电子设备1300的侧边框时,可以检测用户对电子设备1300的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,可以根据用户对触摸显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0287] 指纹传感器1314用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置电子设备1300的正面、背面或侧面。当电子设备1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
[0288] 光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏1305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1305的显示亮度;当环境光强度较低时,调低触摸显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
[0289] 接近传感器1316,也称距离传感器,通常设置在电子设备1300的正面。接近传感器1316用于采集用户与电子设备1300的正面之间的距离。在一个实施例中,当接近传感器
1316检测到用户与电子设备1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏1305从亮屏状态使用为息屏状态;当接近传感器1316检测到用户与电子设备1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏1305从息屏状态使用为亮屏状态。
[0290] 本领域技术人员可以理解,图13中示出的结构并不构成对电子设备1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0291] 本申请还提供了一种终端,该终端包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的控制虚拟对象使用虚拟道具的方法。
[0292] 本申请还提供一种计算机设备,该计算机设备包括:处理器和存储器,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的控制虚拟对象使用虚拟道具的方法。
[0293] 本申请还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的控制虚拟对象使用虚拟道具的方法。
[0294] 应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0295] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0296] 以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。