虚拟道具的使用方法、装置、设备及介质与流程
本申请实施例涉及虚拟环境领域,特别涉及一种虚拟道具的使用方法、装置、设备及介质。
背景技术:
在基于三维虚拟环境的应用程序中,如第一人称射击类游戏,用户可以操控虚拟环境中的虚拟角色使用虚拟道具,例如,用户可以控制虚拟角色使用枪械道具进行射击;可以使用钩爪钩住建筑物高处牵引虚拟角色移动至建筑物高处。
相关技术中,虚拟角色默认状态下装备的虚拟道具为枪械道具,当用户想要控制虚拟角色使用钩爪时,用户首先需要点击钩爪的装备控件,控制虚拟角色卸下枪械道具,装备钩爪道具;然后需要点击发射控件向目标位置发射钩爪,钩爪固定在目标位之后自动牵引虚拟角色向目标位置移动。在移动结束后,虚拟角色自动切换回枪械道具,用户可以控制虚拟角色继续使用枪械道具进行射击。
相关技术中的方法,用户控制虚拟角色使用枪械道具和钩爪操作过于繁琐,用户需要控制虚拟角色在两种道具间进行切换装备,然后才可以使用道具,道具使用的人机交互效率过低。
技术实现要素:
本申请实施例提供了一种虚拟道具的使用方法、装置、设备及介质,可以提高用户控制虚拟角色使用两种道具的人机交互效率。所述技术方案如下:
一方面,提供了一种虚拟道具的使用方法,所述方法包括:
显示虚拟环境画面、第一使用控件和第二使用控件,所述虚拟环境画面包括主控虚拟角色,所述主控虚拟角色的第一肢体上装备有第一虚拟道具,所述主控虚拟角色的第二肢体上装备有第二虚拟道具;
响应于接收到所述第一使用控件上的触发操作,控制所述主控虚拟角色使用所述第一虚拟道具;
响应于在所述第一虚拟道具的使用过程中接收到所述第二使用控件上的触发操作,控制所述主控虚拟角色使用所述第二虚拟道具。
另一方面,提供了一种虚拟道具的使用装置,所述装置包括:
显示模块,用于显示虚拟环境画面、第一使用控件和第二使用控件,所述虚拟环境画面包括主控虚拟角色,所述主控虚拟角色的第一肢体上装备有第一虚拟道具,所述主控虚拟角色的第二肢体上装备有第二虚拟道具;
交互模块,用于接收所述第一使用控件上的触发操作;
控制模块,用于响应于接收到所述第一使用控件上的触发操作,控制所述主控虚拟角色使用所述第一虚拟道具;
所述交互模块,还用于接收所述第二使用控件上的触发操作;
所述控制模块,还用于响应于在所述第一虚拟道具的使用过程中接收到所述第二使用控件上的触发操作,控制所述主控虚拟角色使用所述第二虚拟道具。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的虚拟道具的使用方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的虚拟道具的使用方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的虚拟道具的使用方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过使主控虚拟角色在两个手部分别装备一种虚拟道具,让主控虚拟角色可以同时装备两种虚拟道具,主控虚拟角色在使用某种虚拟道具时,不需要进行如下的繁琐步骤:先卸下/收回某种虚拟道具、装备另一种虚拟道具、然后才能使用该道具,提高了使用道具操作的人机交互效率。并且,用户在控制住主控虚拟角色使用一种虚拟道具的同时,还可以控制主控虚拟角色使用另一种道具,使主控虚拟角色可以同时使用两种道具,提高了两种道具的使用效率,主控虚拟角色可以一只手控制一个道具,也更贴近现实中一个人使用两只手控制两个不同的物品的情况,使主控虚拟角色对道具的使用更真实。通过在虚拟环境画面上分别设置了两个虚拟道具的两个使用控件,用户可以通过触发虚拟道具对应的使用控件来使用对应的虚拟道具。相比于只设置一个道具使用控件,在使用不同道具时需要提前进行当前装备道具的切换;为不同的虚拟道具分别设置一个使用控件,可以使主控虚拟角色不需要进行当前装备道具的切换,直接装备两种道具,直接使用不同的控件就可以控制主控虚拟角色同时使用两种虚拟道具,提高虚拟道具使用的人机交互效率,节省了主控虚拟角色在两种道具之间进行切换所需的时间,提高主控虚拟角色使用两种虚拟道具的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的终端的结构示意图;
图2是本申请一个示例性实施例提供的计算机系统的结构框图;
图3是本申请另一个示例性实施例提供的虚拟道具的使用方法的方法流程图;
图4是本申请另一个示例性实施例提供的视角对应的摄像机模型示意图;
图5是本申请另一个示例性实施例提供的虚拟道具的使用方法的用户界面示意图;
图6是本申请另一个示例性实施例提供的虚拟道具的使用方法的方法流程图;
图7是本申请另一个示例性实施例提供的虚拟道具的使用方法的用户界面示意图;
图8是本申请另一个示例性实施例提供的虚拟道具的使用方法的用户界面示意图;
图9是本申请另一个示例性实施例提供的虚拟道具的使用方法的方法流程图;
图10是本申请另一个示例性实施例提供的虚拟道具的使用方法的示意图;
图11是本申请另一个示例性实施例提供的虚拟道具的使用方法的方法流程图;
图12是本申请另一个示例性实施例提供的虚拟道具的使用方法的示意图;
图13是本申请另一个示例性实施例提供的虚拟道具的使用方法的示意图;
图14是本申请另一个示例性实施例提供的虚拟道具的使用方法的示意图;
图15是本申请另一个示例性实施例提供的虚拟道具的使用方法的示意图;
图16是本申请另一个示例性实施例提供的虚拟道具的使用方法的方法流程图;
图17是本申请另一个示例性实施例提供的虚拟道具的使用方法的示意图;
图18是本申请另一个示例性实施例提供的虚拟道具的使用方法的方法流程图;
图19是本申请另一个示例性实施例提供的虚拟道具的使用方法的方法流程图;
图20是本申请另一个示例性实施例提供的虚拟道具的使用方法的用户界面示意图;
图21是本申请另一个示例性实施例提供的虚拟道具的使用方法的方法流程图;
图22是本申请另一个示例性实施例提供的虚拟道具的使用方法的用户界面示意图;
图23是本申请另一个示例性实施例提供的虚拟道具的使用方法的方法流程图;
图24是本申请另一个示例性实施例提供的虚拟道具的使用方法的方法流程图;
图25是本申请另一个示例性实施例提供的虚拟道具的使用装置的框图;
图26是本申请一个示例性实施例提供的终端的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单介绍:
虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真世界,也可以是半仿真半虚构的世界,还可以是纯虚构的世界。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,本申请对此不加以限定。下述实施例以虚拟环境是三维虚拟环境来举例说明。
虚拟角色:是指虚拟环境中的可活动对象。该可活动对象可以是虚拟角色、虚拟动物、动漫人物等,比如:在三维虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟角色是基于动画骨骼技术创建的三维立体模型。每个虚拟角色在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。示例性的,虚拟角色具有生命值,当虚拟角色的生命值为零时,虚拟角色不能再虚拟世界中继续活动。示例性的,生命值是判断虚拟角色是否可以在虚拟世界中活动的标准,生命值还可以称为信号值、红条等。
第一人称射击游戏(first-personshooting,fps):是指用户能够以第一人称视角进行的射击游戏,游戏中的虚拟环境的画面是以第一虚拟角色的视角对虚拟环境进行观察的画面。在游戏中,至少两个虚拟角色在虚拟环境中进行单局对战模式,虚拟角色通过躲避其他虚拟角色发起的攻击或/和虚拟环境中存在的危险(比如,毒气圈、沼泽地、炸弹等)来达到在虚拟环境中存活的目的,当虚拟角色在虚拟环境中的生命值为零时,虚拟角色在虚拟环境中的生命结束,最后存活在虚拟环境中的虚拟角色是获胜方。可选地,该对战以第一个客户端加入对战的时刻作为开始时刻,以最后一个客户端退出对战的时刻作为结束时刻,每个客户端可以控制虚拟环境中的一个或多个虚拟角色。可选地,该对战的竞技模式可以包括单人对战模式、双人小组对战模式或者多人大组对战模式,本申请实施例对对战模式不加以限定。
ui(userinterface,用户界面)控件,在应用程序的用户界面上能够看见的任何可视控件或元素,比如,图片、输入框、文本框、按钮、标签等控件,其中一些ui控件响应用户的操作,比如,用户触发第一使用控件,控制主控虚拟角色使用第一虚拟道具。本申请实施例中涉及的ui控件,包括但不限于:第一使用控件、第二使用控件、瞄准控件。
本申请中提供的方法可以应用于具有虚拟环境和虚拟角色的应用程序中。示例性的,支持虚拟环境的应用程序是用户可以控制虚拟角色在虚拟环境内移动的应用程序。示例性的,本申请中提供的方法可以应用于:虚拟现实(virtualreality,vr)应用程序、增强现实(augmentedreality,ar)程序、三维地图程序、军事仿真程序、虚拟现实游戏、增强现实游戏、第一人称射击游戏(first-personshootinggame,fps)、第三人称射击游戏(third-personshootinggame,tps)、多人在线战术竞技游戏(multiplayeronlinebattlearenagames,moba)、策略游戏(simulationgame,slg)中的任意一种程序。
示例性的,虚拟环境中的游戏由一个或多个游戏世界的地图构成,游戏中的虚拟环境模拟现实世界的场景,用户可以操控游戏中的虚拟角色在虚拟环境中进行行走、跑步、跳跃、射击、格斗、驾驶、使用虚拟武器攻击其他虚拟角色、使用虚拟武器蓄力攻击其他虚拟角色等动作,交互性较强,并且多个用户可以在线组队进行竞技游戏。
在一些实施例中,上述应用程序可以是射击类游戏、竞速类游戏、角色扮演类游戏、冒险类游戏、沙盒游戏、战术竞技游戏、军事仿真程序等程序。该客户端可以支持windows操作系统、苹果操作系统、安卓操作系统、ios操作系统和linux操作系统中的至少一种操作系统,并且不同操作系统的客户端可以互联互通。在一些实施例中,上述客户端是适用于具有触摸屏的移动终端上的程序。
在一些实施例中,上述客户端是基于三维引擎开发的应用程序,比如三维引擎是unity引擎。
本申请中的终端可以是台式计算机、膝上型便携计算机、手机、平板电脑、电子书阅读器、mp3(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)播放器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器等等。该终端中安装和运行有支持虚拟环境的客户端,比如支持三维虚拟环境的应用程序的客户端。该应用程序可以是战术竞技生存(battleroyale,br)游戏、虚拟现实应用程序、增强现实程序、三维地图程序、军事仿真程序、第三人称射击游戏、第一人称射击游戏、多人在线战术竞技游戏中的任意一种。可选地,该应用程序可以是单机版的应用程序,比如单机版的3d游戏程序,也可以是网络联机版的应用程序。
图1是本申请一个示例性实施例提供的终端的结构示意图。如图1所示,该终端包括处理器101、触摸屏102以及存储器103。
处理器101可以是单核处理器、多核处理器、嵌入式芯片以及具有指令运行能力的处理器中的至少一种。
触摸屏102包括普通触摸屏或压力感应触摸屏。普通触摸屏可以对施加在触摸屏102上的按压操作或滑动操作进行测量;压力感应触摸屏可以对施加在触摸屏102上的按压力度进行测量。
存储器103存储有处理器101的可执行程序。示意性的,存储器103中存储有虚拟环境程序a、应用程序b、应用程序c、触摸压力感应模块18、操作系统的内核层19。其中,虚拟环境程序a为基于三维虚拟环境模块17开发的应用程序。可选地,虚拟环境程序a包括但不限于由三维虚拟环境模块(也称虚拟环境模块)17开发的游戏程序、虚拟现实程序、三维地图程序、三维演示程序中的至少一种。比如,终端的操作系统采用安卓操作系统时,虚拟环境程序a采用java编程语言以及c#语言进行开发;又比如,终端的操作系统采用ios操作系统时,虚拟环境程序a采用object-c编程语言以及c#语言进行开发。
三维虚拟环境模块17是一款支持多种操作系统平台的模块,示意性的,三维虚拟环境模块可用于游戏开发领域、虚拟现实(virtualreality,vr)领域以及三维地图领域等多领域的程序开发,本申请实施例对三维虚拟环境模块17的具体类型不限,在下文实施例中以三维虚拟环境模块17是使用unity引擎开发的模块为例来举例说明。
触摸(以及压力)感应模块18是用于接收触摸屏驱动程序191所上报的触摸事件(以及压力触控事件)的模块,可选地,触摸感应模块可以不具有压力感应功能,不接收压力触控事件。触摸事件包括:触摸事件的类型和坐标值,触摸事件的类型包括但不限于:触摸开始事件、触摸移动事件和触摸落下事件。压力触控事件中包括:压力触控事件的压力值以及坐标值。该坐标值用于指示压力触控操作在显示屏上的触控位置。可选地,以显示屏的水平方向建立横坐标轴,显示屏的竖直方向建立竖坐标轴得到一个二维坐标系。
示意性的,内核层19包括了触摸屏驱动程序191以及其它驱动程序192。触摸屏驱动程序191是用于检测压力触控事件的模块,当触摸屏驱动程序191检测到压力触控事件后,将压力触控事件传递给压力感应模块18。
其它驱动程序192可以是与处理器101有关的驱动程序、与存储器103有关的驱动程序、与网络组件有关的驱动程序、与声音组件有关的驱动程序等。
本领域技术人员可以知晓,上述仅为对终端的结构的概括性示意。在不同的实施例中,终端可以具有更多或更少的组件。比如,终端还可以包括重力加速度传感器、陀螺仪传感器、电源等等。
图2示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统200包括:终端210、服务器集群220。
终端210安装和运行有支持虚拟环境的客户端211,该客户端211可以是支持虚拟环境的应用程序。当终端运行客户端211时,终端210的屏幕上显示客户端211的用户界面。该客户端可以是fps游戏、tps游戏、军事仿真程序、moba游戏、战术竞技游戏、slg游戏的任意一种。在本实施例中,以该客户端是fps游戏来举例说明。终端210是第一用户212使用的终端,第一用户212使用终端210控制位于虚拟环境中的主控虚拟角色进行活动,主控虚拟角色可以称为第一用户212的主控虚拟角色。主控虚拟角色的活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,主控虚拟角色是虚拟人物,比如仿真人物角色或动漫人物角色。
终端210的设备类型包括:智能手机、平板电脑、电子书阅读器、mp3播放器、mp4播放器、膝上型便携计算机和台式计算机中的至少一种。
图2中仅示出了一个终端,但在不同实施例中存在多个其它终端240。在一些实施例中,还存在至少一个其它终端240是开发者对应的终端,在其它终端240上安装有虚拟环境的客户端的开发和编辑平台,开发者可在其它终端240上对客户端进行编辑和更新,并将更新后的客户端安装包通过有线或无线网络传输至服务器集群220,终端210可从服务器集群220下载客户端安装包实现对客户端的更新。
终端210和其它终端240通过无线网络或有线网络与服务器集群220相连。
服务器集群220包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器集群220用于为支持三维虚拟环境的客户端提供后台服务。可选地,服务器集群220承担主要计算工作,终端承担次要计算工作;或者,服务器集群220承担次要计算工作,终端承担主要计算工作;或者,服务器集群220和终端之间采用分布式计算架构进行协同计算。
可选地,上述终端和服务器均为计算机设备。
在一个示意性的例子中,服务器集群220包括服务器221和服务器226,服务器221包括处理器222、用户帐号数据库223、对战服务模块224、面向用户的输入/输出接口(input/outputinterface,i/o接口)225。其中,处理器222用于加载服务器221中存储的指令,处理用户帐号数据库221和对战服务模块224中的数据;用户帐号数据库221用于存储终端210以及其它终端240所使用的用户帐号的数据,比如用户帐号的头像、用户帐号的昵称、用户帐号的战斗力指数,用户帐号所在的服务区;对战服务模块224用于提供多个对战房间供用户进行对战;面向用户的i/o接口225用于通过无线网络或有线网络和终端210建立通信交换数据。
结合上述对虚拟环境的介绍以及实施环境说明,对本申请实施例提供的虚拟道具的使用方法进行说明,以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明。该终端运行有应用程序,该应用程序是支持虚拟环境的程序。
图3是本申请一个示例性实施例提供的虚拟道具的使用方法的方法流程图。以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明,该客户端是支持虚拟环境的客户端,该方法至少包括如下步骤。
步骤301,显示虚拟环境画面、第一使用控件和第二使用控件,虚拟环境画面包括主控虚拟角色,主控虚拟角色的第一肢体上装备有第一虚拟道具,主控虚拟角色的第二肢体上装备有第二虚拟道具。
示例性的,第一使用控件用于使用第一虚拟道具,第二使用控件用于使用第二虚拟道具。
示例性的,对战开始后,客户端显示对战的用户界面,该用户界面包括虚拟环境画面。示例性的,该用户界面还可以包括位于虚拟环境画面之上的ui控件,例如,ui控件包括用于使用第一虚拟道具的第一使用控件、用于使用第二虚拟道具的第二使用控件。示例性的,在对战的用户界面之前还可能包括:用于进行好友组队的组队界面、用于为虚拟角色匹配其他虚拟角色的匹配界面、用于加载本次对局信息的对局加载界面等。
示例性的,对局开始后,用户控制主控虚拟角色在虚拟环境中活动,客户端以主控虚拟角色的视角对虚拟环境进行观察采集虚拟环境画面。本实施例中的主控虚拟角色是由客户端控制的虚拟角色。
视角是指以主控虚拟角色的第一人称视角或第三人称视角在虚拟环境中进行观察时的观察角度。
可选地,以视角是主控虚拟角色的视角为例进行说明,本申请的实施例中,视角是在虚拟环境中通过摄像机模型对主控虚拟角色进行观察时的角度。
可选地,摄像机模型在虚拟环境中对主控虚拟角色进行自动跟随,即,当主控虚拟角色在虚拟环境中的位置发生改变时,摄像机模型跟随主控虚拟角色在虚拟环境中的位置同时发生改变,且该摄像机模型在虚拟环境中始终处于主控虚拟角色的预设距离范围内。可选地,在自动跟随过程中,摄像头模型和主控虚拟角色的相对位置不发生变化。
摄像机模型是指在虚拟环境中位于主控虚拟角色周围的三维模型,当采用第一人称视角时,该摄像机模型位于主控虚拟角色的头部附近或者位于主控虚拟角色的头部;当采用第三人称视角时,该摄像机模型可以位于主控虚拟角色的后方并与主控虚拟角色进行绑定,也可以位于与主控虚拟角色相距预设距离的任意位置,通过该摄像机模型可以从不同角度对位于虚拟环境中的主控虚拟角色进行观察,可选地,该第三人称视角为第一人称的过肩视角时,摄像机模型位于主控虚拟角色(比如主控虚拟角色的头肩部)的后方。可选地,除第一人称视角和第三人称视角外,视角还包括其他视角,比如俯视视角;当采用俯视视角时,该摄像机模型可以位于主控虚拟角色头部的上空,俯视视角是以从空中俯视的角度进行观察虚拟环境的视角。可选地,该摄像机模型在虚拟环境中不会进行实际显示,即,在用户界面显示的虚拟环境画面中不显示该摄像机模型。
对该摄像机模型位于与主控虚拟角色相距预设距离的任意位置为例进行说明,可选地,一个主控虚拟角色对应一个摄像机模型,该摄像机模型可以以主控虚拟角色为旋转中心进行旋转,如:以主控虚拟角色的任意一点为旋转中心对摄像机模型进行旋转,摄像机模型在旋转过程中的不仅在角度上有转动,还在位移上有偏移,旋转时摄像机模型与该旋转中心之间的距离保持不变,即,将摄像机模型在以该旋转中心作为球心的球体表面进行旋转,其中,主控虚拟角色的任意一点可以是主控虚拟角色的头部、躯干、或者主控虚拟角色周围的任意一点,本申请实施例对此不加以限定。可选地,摄像机模型在对主控虚拟角色进行观察时,该摄像机模型的视角的中心指向为该摄像机模型所在球面的点指向球心的方向。
可选地,该摄像机模型还可以在主控虚拟角色的不同方向以预设的角度对主控虚拟角色进行观察。
示意性的,请参考图4,在主控虚拟角色11中确定一点作为旋转中心12,摄像机模型围绕该旋转中心12进行旋转,可选地,该摄像机模型配置有一个初始位置,该初始位置为主控虚拟角色后上方的位置(比如脑部的后方位置)。示意性的,如图4所示,该初始位置为位置13,当摄像机模型旋转至位置14或者位置15时,摄像机模型的视角方向随摄像机模型的转动而进行改变。
可选地,虚拟环境画面显示的虚拟环境包括:梯子、直梯、攀岩区、山川、平地、河流、湖泊、海洋、沙漠、沼泽、流沙、天空、植物、建筑、车辆中的至少一种元素。
示例性的,虚拟环境画面中包括主控虚拟角色,当虚拟环境画面是以主控虚拟角色的第一人称视角获取的画面时,虚拟环境画面上包括主控虚拟角色的手部;当虚拟环境画面是以主控虚拟角色的第三人称视角获取的画面时,虚拟环境画面上包括主控虚拟角色的上半身或全身。
示例性的,主控虚拟角色的两个肢体上分别装备有两个虚拟道具,主控虚拟角色的肢体包括:左上肢、右上肢、左下肢、右下肢。第一肢体可以是四种肢体中的任意一种,第二肢体可以是四种肢体中的任意一种,第一肢体不同于第二肢体。示例性的,以第一虚拟道具装备在主控虚拟角色的左上肢、第二虚拟道具装备在主控虚拟角色的右上肢为例,第一虚拟道具可以装备在左上肢的任意一个部位,例如,胳膊、手部等;第二虚拟道具可以装备在右上肢的任意一个部位,例如,胳膊、手部等。
示例性的,第一虚拟道具和第二虚拟道具是两个不同的虚拟道具。两个不同的虚拟道具是指:第一虚拟道具和第二虚拟道具分别占用主控虚拟角色的一个装备栏。示例性的,第一虚拟道具和第二虚拟道具可以单独被主控虚拟角色装备在肢体上,进行使用,例如,主控虚拟角色可以只装备第一虚拟道具,或,主控虚拟角色可以只装备第二虚拟道具。示例性的,第二虚拟道具是主控虚拟角色进入对局后默认装备有的虚拟道具。示例性的,第一虚拟道具也可以是主控虚拟角色进入对局后默认装备有的虚拟道具,或,第一虚拟道具是主控虚拟角色进入对局后,由用户自主装备的虚拟道具。例如,主控虚拟角色在进入对局后,即装备有枪械道具(第二虚拟道具),主控虚拟角色可以从虚拟环境中拾取牵引类道具(第一虚拟道具),然后装备牵引类道具(第一虚拟道具)。示例性的,第一虚拟道具又称为副武器,第二虚拟道具又称为主武器。
示例性的,第一虚拟道具和第二虚拟道具是具有不同功能,或,具有不同作用效果的虚拟道具。例如,第一虚拟道具是非枪械类道具,第二虚拟道具是枪械类道具。再如,第一虚拟道具是投掷类道具,第二虚拟道具是发射类道具。再如,第一虚拟道具是用于牵引的道具,第二虚拟道具是用于攻击的道具。例如,第一虚拟道具可以是:钩爪、飞镖、手雷中的任意一种,第二虚拟道具可以是:冲锋枪、步枪、手枪中的任意一种。
第一使用控件和第二使用控件是显示在虚拟环境画面之上的ui控件。第一使用控件和第二使用控件可以响应用户的触发操作。示例性的,虚拟环境画面之上显示有至少一个第一使用控件,至少一个第二使用控件,当使用控件有多个时,用户可以选择触发其中任意一个来实现控制效果。
例如,如图5所示,在虚拟环境画面上显示有主控虚拟角色的左右手,其中,主控虚拟角色的左手装备有第一虚拟道具(钩爪)401,右手装备有第二虚拟道具(枪械)402,在虚拟环境画面之上还显示有第一使用控件403和第二使用控件404。
步骤302,响应于接收到第一使用控件上的触发操作,控制主控虚拟角色使用第一虚拟道具。
示例性的,第一使用控件用于控制主控虚拟角色使用第一虚拟道具。示例性的,用户可以通过触发第一使用控件来控制主控虚拟角色使用第一虚拟道具,也可以是通过其他输入设备输入的操作,例如,鼠标的点击操作、触控板上的触摸操作、键盘上的点击操作、语音指令、通过虚拟现实或增强现实装置的动作识别操作等,来控制主控虚拟角色使用第一虚拟道具。
示例性的,触发操作可以是点击、双击、长按、拖动、滑动中的任意一种。例如,响应于接收到第一使用控件上的点击操作,控制主控虚拟角色使用第一虚拟道具。示例性的,不同的触发操作可以触发第一虚拟道具不同的使用效果。以第一虚拟道具是牵引类道具为例,当触发操作是点击操作时,可以控制主控虚拟角色使用第一虚拟道具的近距离牵引功能,近距离牵引功能的钩爪射出速度更快(钩爪到达目标位置所需的时间少)、牵引绳距离较短,可以以较快的速度牵引主控虚拟角色至距离较近的目标位置;当触发操作是长按操作时,可以控制主控虚拟角色使用第一虚拟道具的远距离牵引功能,远距离牵引功能的钩爪射出速度较慢(钩爪到达目标位置所需的时间长)、牵引绳距离较长,可以牵引主控虚拟角色至距离较远的目标位置。再如,当触发操作是点击操作时,可以控制主控虚拟角色使用第一虚拟道具的牵引功能,牵引功能可以控制第一虚拟道具射出钩爪,当钩爪固定住后,钩爪所连接的牵引绳自动回收,牵引主控虚拟角色向目标位置移动;当触发操作是双击操作时,可以控制主控虚拟角色使用第一虚拟道具的回荡功能,回荡功能可以控制第一虚拟道具射出钩爪,当钩爪固定后,钩爪后连接的牵引绳不会自动回收,主控虚拟角色可以以钩爪的位置为圆心,以牵引绳的长度为半径进行回荡移动,例如,从一个建筑物荡到另一个建筑物,当用户再次双击第一使用控件时,控制第一虚拟道具收回牵引绳和钩爪。
示例性的,第一虚拟道具的使用是一个持续时间较长的过程。例如,当第一虚拟道具是牵引类道具时,第一虚拟道具的使用包括射出钩爪和牵引主控虚拟角色移动两个过程。再如,当第一虚拟道具是盾牌类道具时,第一虚拟道具的使用包括举盾过程。再如,当第一虚拟道具是滑翔翼类道具时,第一虚拟道具的使用包括滑翔过程。
示例性的,主控虚拟角色在使用第一虚拟道具时,不需要收起第二虚拟道具。
步骤303,响应于在第一虚拟道具的使用过程中接收到第二使用控件上的触发操作,控制主控虚拟角色使用第二虚拟道具。
示例性的,主控虚拟角色在使用第一虚拟道具的过程中,可以通过触发第二使用控件来控制主控虚拟角色使用第二虚拟道具,即实现主控虚拟角色同时使用第一虚拟道具和第二虚拟道具。
示例性的,第一使用控件和第二使用控件还可以是同一个ui控件,通过不同的触发方式来实现控制第一虚拟道具和第二虚拟道具。例如,第一使用控件和第二使用控件都是用户界面上的射击控件,当用户点击射击控件时,控制主控虚拟角色使用第二虚拟道具,当用户长按/双击射击控件时,控制主控虚拟角色使用第一虚拟道具。
综上所述,本实施例提供的方法,通过使主控虚拟角色在两个手部分别装备一种虚拟道具,让主控虚拟角色可以同时装备两种虚拟道具,主控虚拟角色在使用某种虚拟道具时,不需要进行如下的繁琐步骤:先卸下/收回某种虚拟道具、装备另一种虚拟道具、然后才能使用该道具,提高了使用道具操作的人机交互效率。并且,用户在控制住主控虚拟角色使用一种虚拟道具的同时,还可以控制主控虚拟角色使用另一种道具,使主控虚拟角色可以同时使用两种道具,提高了两种道具的使用效率,主控虚拟角色可以一只手控制一个道具,也更贴近现实中一个人使用两只手控制两个不同的物品的情况,使主控虚拟角色对道具的使用更真实。通过在虚拟环境画面上分别设置了两个虚拟道具的两个使用控件,用户可以通过触发虚拟道具对应的使用控件来使用对应的虚拟道具。相比于只设置一个道具使用控件,在使用不同道具时需要提前进行当前装备道具的切换;为不同的虚拟道具分别设置一个使用控件,可以使主控虚拟角色不需要进行当前装备道具的切换,直接装备两种道具,直接使用不同的控件就可以控制主控虚拟角色同时使用两种虚拟道具,提高虚拟道具使用的人机交互效率,节省了主控虚拟角色在两种道具之间进行切换所需的时间,提高主控虚拟角色使用两种虚拟道具的效率。
示例性的,给出一个第一虚拟道具是牵引类道具的示例性实施例。
图6是本申请一个示例性实施例提供的虚拟道具的使用方法的方法流程图。以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明,该客户端是支持虚拟环境的客户端,基于图3所示的示例性实施例,步骤302还包括步骤3021和步骤3022,步骤303还包括步骤3031和步骤3032。
步骤3021,响应于接收到第一使用控件上的触发操作,控制主控虚拟角色使用发射装置,向瞄准控件的瞄准方向射出射出部件。
示例性的,第一虚拟道具是牵引类道具,第一虚拟道具包括发射装置、射出部件和牵引部件,发射装置固定在主控虚拟角色的第一肢体上,牵引部件与发射装置相连,射出部件与牵引部件相连。示例性的,虚拟环境画面之上还显示有瞄准控件。
示例性的,射出部件可以是钩爪、携带有重物的绳子末端、固定装置中的至少一种。例如,当射出部件是钩爪,钩爪在射出后碰撞到可固定表面,会自动钩住/嵌入可固定表面。再如,当射出部件是携带有重物的绳子末端,重物在射出钩碰撞到柱状物体,可以自动环绕柱状物体并锁死,从而使绳子固定在柱状物体上。示例性的,牵引部件可以是牵引绳、绳子、钢丝中的至少一种。
示例性的,第一虚拟道具在使用时,发射装置射出射出部件,射出部件射出时携带着牵引部件一起射出,射出部件在撞击到虚拟环境中的可固定表面时,会自动固定在撞击位置(目标位置),在射出部件固定后,牵引部件自动回收,牵引发射装置向撞击位置移动。示例性的,可固定表面是指虚拟环境中可以被射出部件固定的表面,虚拟环境中的各个表面是为可固定表面,可以通过该表面所属的三维虚拟模型是否为可被牵引的物品来确定,例如,建筑物的表面都是可固定表面,而虚拟角色、虚拟载具等的表面为不可固定表面。当射出部件未撞击到任何表面,或,撞击到补课固定表面时,牵引部件自动回收,牵引射出部件回到射出装置,用户可以重新触发第一使用控件重新射出射出部件。
示例性的,瞄准控件用于辅助主控虚拟角色进行瞄准,例如,当瞄准控件瞄准目标位置时,用户触发第一使用控件使用第一虚拟道具,则发射装置向目标位置的方向射出射出部件。示例性的,瞄准控件在用户界面上的位置固定不变,用户可以通过控制主控虚拟角色移动、控制主控虚拟角色视角转动,来改变用户界面上的虚拟环境画面,进而控制瞄准控件瞄准虚拟环境中的不同位置。
例如,如图7所示,虚拟环境画面上还显示有瞄准控件405,用户触发第一使用控件403来控制第一虚拟道具的发射装置沿瞄准控件405的瞄准方向射出射出部件406。示例性的,射出部件406的射出携带着牵引部件407一起飞出。
示例性的,客户端响应于接收到第一使用控件上的触发操作,以发射装置的位置为起点沿瞄准控件的瞄准方向射出第一检测射线;响应于第一检测射线在最大射程内与虚拟环境中的三维虚拟模型交于目标位置,控制射出部件沿瞄准方向射出至目标位置并固定。
示例性的,牵引部件具有最大射程,例如,牵引部件的最大射程为10m。当用户触发第一使用控件时,客户端从发射装置上固定射出部件的位置,向瞄准控件瞄准的方向射出一个长度等于最大射程的检测射线,若,检测射线在达到最大射程前与虚拟环境中的任意一个表面发生了碰撞,则获取本次碰撞的碰撞信息,碰撞信息包括碰撞点位置(目标位置)、发生碰撞的表面所属的三维虚拟模型信息等。客户端根据发生碰撞的表面所述的三维虚拟模型信息来确定该三维虚拟模型是否为射出部件可固定的物体,若是射出部件可固定的物体,则控制射出部件沿瞄准方向射出至目标位置并固定在目标位置上;若不是射出部件可固定的物体,则控制射出部件沿瞄准方向射出至目标位置,然后掉落,同时控制牵引部件将射出部件牵引回发射装置。
示例性的,检测射线用于确定射出部件命中的目标位置,检测射线在虚拟环境画面上不可见。检测射线是客户端在显示射出射出部件前,在客户端后台进行的目标位置的检测过程。示例性的,用检测射线检测目标位置的逻辑运算可以由客户端来计算完成,也可以由服务器来计算完成。示例性的,在根据检测射线运算得到目标位之后,显示射出部件沿瞄准方向射出至目标位置的虚拟环境画面。
步骤3022,响应于射出部件射中目标位置并固定,控制牵引部件牵引主控虚拟角色向目标位置移动。
示例性的,当射出部件固定在目标位置后,牵引部件会自动回收,牵引主控虚拟角色向目标位置移动。示例性的,牵引部件的回收装置可以设置在发射装置内,当射出部件固定在目标位置后,回收装置自动回收牵引部件,由于牵引部件的一端连接射出部件,而射出部件固定在目标位置上,另一端连接发射装置,发射装置固定在主控虚拟角色的第一肢体上,则牵引部件的回收可以带动发射装置以及主控虚拟角色向目标位置移动。
步骤3031,响应于在射出部件射出的过程中接收到第二使用控件上的触发操作,控制主控虚拟角色使用第二虚拟道具。
示例性的,在第一虚拟道具的任意一个使用过程中,用户都可以通过触发第二使用控件来控制主控虚拟角色在使用第一虚拟道具的同时使用第二虚拟道具。
例如,当第二虚拟道具是枪械道具时,如图7所示,当在第一虚拟道具401射出射出部件的过程中(发射装置射出射出部件之后、射出部件固定在目标位置之前),接收到第二使用控件404上的触发操作时,在射出部件飞出的同时,控制主控虚拟角色使用第二虚拟道具402进行射击。
步骤3032,响应于在牵引部件牵引主控虚拟角色移动的过程中接收到第二使用控件上的触发操作,控制主控虚拟角色使用第二虚拟道具。
示例性的,以第二虚拟道具是枪械道具为例,用户还可以在主控虚拟角色被牵引着移动向目标位置的过程中,控制主控虚拟角色进行射击。
例如,如图8所示,当射出部件406固定在目标位置会后,牵引部件407牵引主控虚拟角色向目标位置移动的过程中,客户端接收到用户触发第二使用控件,则客户端控制主控虚拟角色在移动过程中使用第二虚拟道具402进行射击。
综上所述,本实施例提供的方法,第一虚拟道具是牵引道具,牵引道具在使用时包括发射过程和牵引过程,用户在控制主控虚拟角色使用牵引道具时,无论是发射过程或是牵引过程,都可以同时使用第二虚拟道具,从而使主控虚拟角色可以同时使用两种道具。通过使主控虚拟角色可以在使用牵引道具牵引移动的过程中,可以使用枪械类道具进行空中射击,提高主控虚拟角色在空中牵引移动过程中的可操控性,使用户可以通过结合牵引道具和枪械道具,创造新的射击环境,提供新的射击方式,从而提高对局的激烈程度,减少对局时间,减少服务器负载。
本实施例提供的方法,通过使主控虚拟角色在使用牵引道具进行飞行的过程中,使主控虚拟角色可以使用枪械类道具进行射击,更真实地模拟了特种兵在空中飞行过程中使用枪械进行射击的场景,丰富了射击程序对主控虚拟角色的控制方式,提高用户控制主控虚拟角色进行活动的可操控性,提高用户控制主控虚拟角色的人机交互效率。
示例性的,给出一个主控虚拟角色在被牵引部件牵引移动的过程中自动躲避障碍物的示例性实施例。
图9是本申请一个示例性实施例提供的虚拟道具的使用方法的方法流程图。以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明,该客户端是支持虚拟环境的客户端,基于图3所示的示例性实施例,步骤303之后还包括步骤304。
步骤304,响应于在主控虚拟角色向目标位置移动的移动路径上存在障碍物,控制主控虚拟角色躲避障碍物继续向目标位置移动。
示例性的,由于在主控虚拟角色被牵引部件牵引着向目标位置移动的过程中,主控虚拟角色的移动只能根据牵引部件的回收来自动控制,用户无法控制主控虚拟角色的移动。因此,当主控虚拟角色的移动路径上存在障碍物时,由于主控虚拟角色的模型无法穿越障碍物,可能会产生主控虚拟角色被牵引部件牵引着来回撞击障碍物的bug(缺陷),也可能会产生主控虚拟角色的模型穿过障碍物的模型的bug,还可能会导致中断主控虚拟角色的牵引移动,使主控虚拟角色坠落的问题。因此,本申请实施例为了解决上述问题,提供了一种检测移动路径上的障碍物的方法,并在检测到障碍物后,自动改变主控虚拟角色的移动方向/位置,来使主控虚拟角色自动躲避障碍物。
示例性的,在主控虚拟角色被牵引着移动的过程中,用户无法改变主控虚拟角色的移动方向,即,步骤304的方法是由客户端自动控制主控虚拟角色实现的。
示例性的,障碍物是指,在主控虚拟角色沿当前移动方向进行移动的移动路径上,可能会与主控虚拟角色的三维虚拟模型产生碰撞的物体。示例性的,障碍物是指虚拟环境中不可活动的物体,例如,建筑物、地形、树木等。示例性的,其他虚拟角色、虚拟载具、虚拟道具等可以作为障碍物,也可以不作为障碍物,即,主控虚拟角色可以对虚拟载具进行躲避,也可以不对虚拟载具进行躲避。
例如,如图10中的(1)所示,射出部件固定在目标位置408上,牵引部件407牵引主控虚拟角色410向目标位置408移动。在牵引部件的左侧存在障碍物409,若主控虚拟角色410继续沿当前移动方向移动,则如图10中的(2)所示,主控虚拟角色410的肩部将与障碍物发生碰撞,因此,如图10中的(3)所示,控制主控虚拟角色向右侧偏移,以躲避障碍物409,继续向目标位置408移动,最终到达目标位置408。
示例性的,给出一种控制主控虚拟角色自动躲避障碍物的方法,如图11所示,步骤304还包括步骤3041至步骤3044。
步骤3041,以主控虚拟角色的位置为起点,沿指向目标位置的目标方向周期性地射出碰撞盒子,碰撞盒子用于检测与虚拟环境中的三维虚拟模型的碰撞。
示例性的,以主控虚拟角色的三维虚拟模型上的任意一点为起点,例如,以主控虚拟角色的三维虚拟模型的中心点为起点,向目标方向周期性地射出碰撞盒子。
示例性的,碰撞盒子用于进行碰撞检测,碰撞盒子在虚拟环境画面上不可见。示例性的,根据主控虚拟角色的三维虚拟模型的形状及大小来确定碰撞盒子的形状及大小,使碰撞盒子可以表征主控虚拟角色的三维虚拟模型,然后周期性地向主控虚拟角色当前移动方向的前方发射碰撞盒子,用碰撞盒子来检测以当前的移动方向进行移动时主控虚拟角色会不会撞到虚拟环境中的其他三维虚拟模型,若碰撞盒子检测到了碰撞,则主控虚拟角色的前方存在障碍物;若碰撞盒子没有检测到障碍物,则主控虚拟角色的前方不存在障碍物。
示例性的,碰撞盒子是不可见的盒子,即,在虚拟环境画面中用户看不到碰撞盒子。示例性的,碰撞盒子的大小和形状根据主控虚拟角色的三维虚拟模型的大小和形状设置。例如,碰撞盒子的大小和形状与主控虚拟角色的三维虚拟模型的大小和形状相同。或,碰撞盒子的大小略小于主控虚拟角色的三维虚拟模型的大小。或,碰撞盒子的大小略大于主控虚拟角色的三维虚拟模型的大小,使碰撞盒子包裹主控虚拟角色的三维虚拟模型。示例性的,为了简化运算过程,碰撞盒子通常被设置为规则形状,例如,正方体、长方体、球体、椎体、圆柱体等。
示例性的,碰撞盒子可以检测虚拟环境中的碰撞,当有三维虚拟模型与碰撞盒子的表面发生碰撞时,碰撞盒子会生成碰撞信息,碰撞信息包括:发生碰撞的三维虚拟模型的信息、碰撞点、碰撞时间中的至少一种。虚拟模型的信息包括:三维虚拟模型的类型、三维虚拟模型的大小、三维虚拟模型的材质、三维虚拟模型的位置、三维虚拟模型的形状中的至少一种。客户端根据碰撞盒子碰撞后生成的碰撞信息可以获取到碰撞点以及障碍物的相关信息。
示例性的,碰撞盒子的射出距离和射出周期可以任意配置,例如,碰撞盒子的射出距离可以是1m,射出周期可以是0.1s。示例性的,碰撞盒子的射出速度要远高于主控虚拟角色向目标位置移动的速度,以便碰撞盒子在主控虚拟角色撞上障碍物之前检测到障碍物。
例如,如图12所示,根据主控虚拟角色410的三维虚拟模型的大小,确定出一个球形的碰撞盒411,然后周期性地向主控虚拟角色当前向目标位置移动的目标方向射出碰撞盒411,以便用碰撞盒411检测前方的障碍物。
步骤3042,响应于碰撞盒子与障碍物的三维虚拟模型发生碰撞,获取发生碰撞的碰撞点。
示例性的,当碰撞盒子与障碍物的三维虚拟模型发生碰撞时,碰撞盒子会生成本次碰撞的碰撞信息,客户端根据碰撞信息来获取碰撞点。
例如,如图12所示,碰撞盒子411射出后,与障碍物的三维虚拟模型发生碰撞,碰撞点412位于碰撞盒子的右侧。
步骤3043,根据碰撞点确定主控虚拟角色的躲避方向。
示例性的,客户端根据碰撞点和目标方向(主控虚拟角色当前移动路径/牵引部件所在的直线),可以确定碰撞点相对于目标方向的位置。示例性的,这里的目标方向是指主控虚拟角色指向目标位置的向量,或,该向量所在的直线。
例如,当碰撞点位于目标方向的左侧时,则主控虚拟角色的躲避方向为右侧;当碰撞点位于目标方向的右侧时,则主控虚拟角色的躲避方向为左侧;当碰撞点位于目标方向的上方时,则主控虚拟角色的躲避方向为下方;当碰撞点位于目标方向的下方时,则主控虚拟角色的躲避方向为上方。
例如,如图13中的(1)所示,射出部件固定在目标位置408上,牵引部件407牵引主控虚拟角色410向目标位置408移动。在牵引部件的下方存在障碍物409,若主控虚拟角色410继续沿当前移动方向移动,则如图13中的(2)所示,主控虚拟角色410的脚部将与障碍物409发生碰撞,因此,如图13中的(3)所示,控制主控虚拟角色410向上方偏移,以躲避障碍物409,继续向目标位置408移动,最终到达目标位置408。
再如,客户端可以以碰撞点为起点,作垂直于目标方向的向量,该向量即为躲避方向。例如,如图12所示,过碰撞点412作垂直于目标方向413的向量414,向量414即为躲避方向。
步骤3044,根据躲避方向控制主控虚拟角色躲避障碍物继续向目标位置移动。
示例性的,客户端根据躲避方向来控制主控虚拟角色在向目标位置移动的同时,沿躲避方向进行移动。示例性的,主控虚拟角色沿躲避方向进行移动的距离可以是任意的,例如,客户端可以根据碰撞点在碰撞盒子上的位置确定主控虚拟角色需要躲避的距离,或,客户端可以控制主控虚拟角色向躲避方向移动固定距离。
以客户端每次控制主控虚拟角色向躲避方向移动固定距离为例,每当碰撞盒子检测到碰撞时,客户端就会控制主控虚拟角色在向目标位置移动的同时向躲避方向移动0.1m,然后继续根据主控虚拟角色移动后的位置向指向目标位置的方向发射碰撞盒子,继续检测在当前方向上是否会撞到碰撞物,若还会撞到碰撞物,则继续根据新的躲避方向继续移动0.1m,如此反复,直至碰撞盒子无法检测到碰撞。
示例性的,碰撞盒子在检测到碰撞后,客户端还可以获取障碍物的信息,当障碍物是可活动的物体(例如,气球、树叶等)时,客户端不会控制主控虚拟角色进行躲避,而是保持原有的移动方向继续向目标位置移动;当障碍物是不可活动的物体(例如,建筑物、树木等)时,客户端控制主控虚拟角色向躲避方向移动来躲避障碍物。
示例性的,本实施例提供的躲避障碍物的方法,还适用于检测主控虚拟角色能否通过狭窄通道。
例如,如图14中的(1)所示,目标位置408的双侧各存在一个障碍物409,主控虚拟角色410在被牵引部件牵引向目标位置408移动的过程中,不断地向前发射碰撞盒子,来检测前方移动路径上是否存在障碍物。如图14中的(2)所示,当主控虚拟角色410继续沿当前移动方向向前移动时,主控虚拟角色410的肩部会与障碍物409发生碰撞,碰撞盒子预先检测到该碰撞后,在主控虚拟角色410与障碍物发生碰撞前,会根据碰撞点的位置将主控虚拟角色410向躲避方向移动,如图14中的(3)所示,将主控虚拟角色410向右侧移动,以使主控虚拟角色能够躲避左侧的障碍物。示例性的,若主控虚拟角色410向右侧移动的距离过大,则碰撞盒子还会检测到与右侧的障碍物的碰撞,则会控制主控虚拟角色向左侧移动,以躲避右侧的障碍物,利用碰撞盒子检测到的碰撞点不断修正主控虚拟角色的位置,以使主控虚拟角色可以到达目标位置。示例性的,若碰撞盒子与两侧的障碍物都产生了碰撞点,则说明主控虚拟角色无法通过该位置,则会在主控虚拟角色的三维虚拟模型撞上障碍物时,控制牵引部件停止牵引主控虚拟角色,并控制牵引部件收回发射部件。
再如,如图15中的(1)所示,目标位置408的上下侧各存在一个障碍物409,主控虚拟角色410在被牵引部件牵引向目标位置408移动的过程中,不断地向前发射碰撞盒子,来检测前方移动路径上是否存在障碍物。如图15中的(2)所示,当主控虚拟角色410继续沿当前移动方向向前移动时,主控虚拟角色410的脚部会与下方的障碍物409发生碰撞,碰撞盒子预先检测到该碰撞后,在主控虚拟角色410与障碍物409发生碰撞前,会根据碰撞点的位置将主控虚拟角色410向躲避方向移动,如图15中的(3)所示,将主控虚拟角色410向上方移动,以使主控虚拟角色410能够躲避下方的障碍物。示例性的,若主控虚拟角色410向上方移动的距离过大,则碰撞盒子还会检测到与上方的障碍物的碰撞,则会控制主控虚拟角色向下方移动,以躲避上方的障碍物,利用碰撞盒子检测到的碰撞点不断修正主控虚拟角色的位置,以使主控虚拟角色可以到达目标位置。
综上所述,本实施例提供的方法,通过在牵引道具牵引主控虚拟角色移动的过程中,控制主控虚拟角色主动躲避飞行过程中的障碍物,从而避免主控虚拟角色在飞行过程中因为撞到障碍物而终止牵引过程,提高主控虚拟角色使用牵引道具到达目标位置的成功率,简化用户使用牵引道具的操作难度,提高人机交互效率。
本实施例提供的方法,通过周期性地向主控虚拟角色移动方向的前方发射碰撞盒子,利用碰撞盒子来检测移动路径上的障碍物,从而预先判断主控虚拟角色是否会与障碍物发生碰撞,进而根据碰撞盒子上的碰撞点调整主控虚拟角色的位置,使主控虚拟角色能够躲避障碍物,继续向目标位置移动,避免主控虚拟角色与障碍物相撞,提高牵引道具牵引主控虚拟角色到达目标位置的成功率。
示例性的,给出一个限制主控虚拟角色在牵引过程中视角转动的示例性实施例。
图16是本申请一个示例性实施例提供的虚拟道具的使用方法的方法流程图。以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明,该客户端是支持虚拟环境的客户端,基于图3所示的示例性实施例,步骤303之后还包括步骤305至步骤307。
步骤305,获取主控虚拟角色向目标位置移动过程中的第一视角方向。
示例性的,由于在现实中人使用钩爪进行牵引移动时,由于动作限制,移动过程中人体很难旋转角度,且头部的转动角度也有限,因此,为了更真实地模拟人在被牵引时的视角范围,会限制主控虚拟角色在牵引移动过程中的视角转动角度。在主控虚拟角色被牵引部件牵引着向目标位置移动的过程中,客户端会不断监测主控虚拟角色当前的视角方向是否转向过大。
示例性的,如图5所示,用户可以通过在区域415内滑动,来调整主控虚拟角色的视角方向,从而更好地观察周围情况。
示例性的,客户端获取主控虚拟角色在移动过程中的第一视角方向。视角方向是指主控虚拟角色视角所指向的方向,示例性的,视角方向是指主控虚拟角色视角在水平方向上的分量,即,只限制主控虚拟角色视角在水平方向上的水平转动,不限制主控虚拟角色视角在竖直方向上的竖直转动(主控虚拟角色可以低头抬头)。示例性的,视角方向是主控虚拟角色绑定的摄像机模型的拍摄方向(拍摄方向在水平方向上的分量)。
第一视角方向是主控虚拟角色在牵引移动过程中任意时刻的视角方向。
步骤306,响应于第一视角方向与移动方向的第一转向夹角大于第一角度阈值,计时第一转向夹角大于第一角度阈值的第一持续时长,移动方向是从主控虚拟角色的位置指向目标位置的方向。
客户端计算第一视角方向偏离移动方向的第一转向夹角的大小。示例性的,以牵引部件牵引主控虚拟角色移动的方向(移动方向)作为参考方向,计算主控虚拟角色当前的视角方向是否偏离移动方向过大。若第一转向角过大,则会计时主控虚拟角色转向角过大的持续时间。示例性的,客户端会实时获取主控虚拟角色的视角方向,实时判定当前视角方向与移动方向的第一转向夹角是否小于第一角度阈值,若始终大于第一角度阈值则会持续计时第一持续时长。若用户将主控虚拟角色的视角方向转回到第一角度阈值范围内,则停止第一持续时长的计时。
例如,如图17所示,主控虚拟角色410被牵引部件牵引向目标位置408移动,若用户不改变主控虚拟角色的视角方向,则主控虚拟角色的视角方向(第一视角方向)418与主控虚拟角色向目标位置移动的移动方向417相同;若用户调整了主控虚拟角色的视角方向,则主控虚拟角色的视角方向(第一视角方向)418与主控虚拟角色向目标位置移动的移动方向417会产生第一转向夹角416,客户端会判断第一转向夹角416是否过大(大于第一角度阈值),若过大则开始计时第一持续时长,第一持续时长用于计时第一转向夹角超出第一角度阈值的时长。
示例性的,第一角度阈值可以根据需要任意配置。例如,第一角度阈值可以是30°或50°。
示例性的,这里的移动方向可能不是主控虚拟角色实际的移动方向,而是主控虚拟角色位置指向目标位置的方向,即,牵引部件所在的直线上的方向。
步骤307,响应于第一持续时长大于第一时间阈值,控制牵引部件停止牵引主控虚拟角色。
当主控虚拟角色的第一转向夹角长时间超过第一角度阈值时,则会终止主控虚拟角色的牵引移动,使射出部件自动脱落,并控制牵引部件将射出部件收回。
示例性的,用户在牵引移动过程中也可以使用这种方式来控制主控虚拟角色停止牵引移动,从而更好地控制主控虚拟角色移动至想要的位置。示例性的,用户也可以通过在牵引移动过程中再次触发第一虚拟道具的第一使用控件,来主动终止牵引移动。
示例性的,上述对视角转向角度的判定是针对主控虚拟角色在牵引移动过程中的视角转动,即,主控虚拟角色双脚已经离地后,开始执行305至307的步骤。示例性的,还可以针对主控虚拟角色双脚离地的瞬间,其视角转向角度的转动量来判定是否终止牵引移动。
如图18所示,是本申请一个示例性实施例提供的虚拟道具的使用方法的方法流程图。基于图3所示的示例性实施例,步骤303之后还包括步骤308至步骤310。示例性的,步骤308至步骤310在步骤305至步骤307之前执行。
步骤308,获取主控虚拟角色的第二视角方向,第二视角方向是主控虚拟角色开始被牵引部件牵引的时刻的视角。
示例性的,第二视角方向是主控虚拟角色双脚离地的瞬间主控虚拟角色的视角方向。示例性的,若主控虚拟角色在一开始的视角就已经偏转过大,会加速终止主控虚拟角色的牵引过程。
示例性的,对主控虚拟角色离地瞬间的视角转向角度的判定要比牵引过程中的判定更为严苛,因为主控虚拟角色在离地瞬间的状态将极大地影响之后的牵引飞行状态,例如,主控虚拟角色如果在离地前具有一个切向加速度,则会影响牵引部件牵引主控虚拟角色移动的路径,使主控虚拟角色更容易脱离牵引部件的牵引。因此,第二角度阈值会小于第一角度阈值,或,第二时间阈值会小于第一时间阈值。
步骤309,响应于第二视角方向与移动方向的第二转向夹角大于第二角度阈值,计时第二转向夹角大于第二角度阈值的第二持续时长,移动方向是从主控虚拟角色的位置指向目标位置的方向。
示例性的,若主控虚拟角色在双脚离地的瞬间视角转向角度过大,则客户端会开始第二持续时长的计时,若用户将主控虚拟角色的视角方向转回第二角度阈值范围内,则不会影响牵引移动,若主控虚拟角色长时间保持第视角方向超出第二角度阈值范围,则客户端会终止主控虚拟角色的牵引移动。
步骤310,响应于第二持续时长大于第二时间阈值,控制牵引部件停止牵引主控虚拟角色。
综上所述,本实施例提供的方法,当主控虚拟角色在牵引过程中,视角转动过大,且保持过大的角度持续一段时间后,控制主控虚拟角色停止牵引过程。由于在实际生活中,当人使用钩爪等道具进行牵引移动时,人是无法转动较大角度的,因此,通过设置一个视角转动的最大角度,以及维持最大角度的时间阈值,来限制主控虚拟角色在使用牵引道具过程中的视角转动,使牵引道具的使用更加符合实际情况,提高对牵引道具使用过程的模拟的真实度。
本实施例提供的方法,通过对主控虚拟角色双脚离地时刻的视角转向做更为严苛的限制,从而更真实地模拟人使用抓钩进行牵引移动的场景,提高主控虚拟角色以较大视角转向进行牵引移动的难度,限制用户在双脚离地时刻的视角范围,使用户无法随意地在牵引移动过程中观察周围情况。
示例性的,给出一个在牵引移动结束后自动进行翻越的示例性实施例。
图19是本申请一个示例性实施例提供的虚拟道具的使用方法的方法流程图。以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明,该客户端是支持虚拟环境的客户端,基于图3所示的示例性实施例,步骤303之后还包括步骤311。
步骤311,响应于主控虚拟角色到达目标位置,且目标位置上方存在可翻越地形,控制主控虚拟角色翻越可翻越地形。
示例性的,由于使用牵引道具牵引主控虚拟角色到达目标位置后,主控虚拟角色通常处于悬空状态,当收起射出部件后,由于悬空,则会使主控虚拟角色自由下落,用户无法使用牵引道具有效地到达高处。因此,本实施例提供了一种方法,在主控虚拟角色使用牵引道具到达目标位置后,会自动检测目标位置的上方是否存在主控虚拟角色可以攀爬翻越的地形,例如,平台、屋顶、走廊等平面地形,当存在可以攀爬翻越的地形时,会自动控制主控虚拟角色翻越地形,从而避免主控虚拟角色到达目标位置之后自由落体。
示例性的,可翻越地形是指倾斜度小于阈值的地形,即,可翻越地形是较为平缓的地形。若目标位置的上方存在较为平缓的可翻越地形,则控制主控虚拟角色翻越可翻越地形,使主控虚拟角色到达可翻越地形上。
例如,如图20所示,目标位置是建筑物的外墙面,则当主控虚拟角色410到达目标位置后,客户端检测目标位置上方是否存在可翻越地形,例如,目标位置上方存在可翻越的平台419,则客户端控制主控虚拟角色410自动翻越平台419,使主控虚拟角色410到达平台419上,防止主控虚拟角色410到达目标位置后,由于没有平面落脚而自由坠落。
示例性的,本实施例提供的自动翻越的方法不需要用户进行指定操作,例如,不需要用户利用主控虚拟角色的移动惯性将主控虚拟角色甩至平面上,本实施例提供的方法是由客户端自动检测目标位置附近的地形,在存在可翻越地形时自动控制主控虚拟角色进行翻越动作。
示例性的,本实施例还给出了一种检测可翻越地形的方法,如图21所示,步骤311还包括步骤3111至步骤3114。
步骤3111,响应于主控虚拟角色到达目标位置,向主控虚拟角色的下方发射第二检测射线。
示例性的,在主控虚拟角色到达目标位置后,客户端首先检测主控虚拟角色的下方是否悬空。客户端向主控虚拟角色的下方发射第二检测射线,第二检测射线用于检测碰撞,示例性的,第二检测射线用于检测主控虚拟角色与下方平面的垂直距离。
示例性的,第二检测射线的射出方向是垂直于水平面向下。
步骤3112,响应于第二检测射线检测到目标表面,获取第二检测射线的射线长度。
示例性的,目标表面是位于主控虚拟角色下方的任意三维虚拟模型的表面,例如,目标表面可以是地面的表面,也可以是虚拟载具的表面,也可以是建筑物的表面等等。
示例性的,当第二检测射线与目标表面发生碰撞后,客户端获取第二检测射线射出的长度,第二检测射线射出的长度即为主控虚拟角色到目标表面的直线距离。
示例性的,客户端根据射线长度判断主控虚拟角色当前所处位置是否过高,进而确定是否要控制主控虚拟角色进行自动翻越。
步骤3113,响应于射线长度大于第一距离阈值,获取目标位置所属的地形模型的模型信息。
示例性的,当射线长度过长时,客户端会自动获取目标位置所属的地形模型的模型信息。模型信息包括当前地形模型的形状、大小、模型上各个平面的坐标、高度等。示例性的,客户端根据模型信息可以判断在目标位置上方是否存在适合主控虚拟角色翻越的地形,即,判断在目标位置上方是否存在倾斜角度小于阈值的平面,并且计算目标位置到可翻越地形的高度。
步骤3114,响应于模型信息包括位于目标位置上方的可翻越地形,且目标位置与可翻越地形的垂直距离小于第二距离阈值,控制主控虚拟角色翻越可翻越地形。
当目标位置上方存在可翻越地形,并且目标位置到可翻越地形的垂直距离小于距离阈值时,客户端会控制主控虚拟角色翻越可翻越地形,使主控虚拟角色站在平缓表面上。
示例性的,第二距离阈值可以根据主控虚拟角色的三维虚拟模型的高度设定,进而便于确定以主控虚拟角色的身高,是否可以翻越到达可翻越地形。
例如,如图22所示,主控虚拟角色410在到达目标位置后,客户端首先从主控虚拟角色410的位置向下发射第二检测射线420,若第二检测射线420检测到目标平面(地面),则获取第二检测射线的射线长度,射线长度即为主控虚拟角色到地面的高度,若射线长度过大,则获取目标位置所属的地形模型的模型信息,判断在目标位置上方是否存在可翻越地形。示例性的,在目标位置上方存在可翻越地形:平台421,且目标位置到平台421的垂直距离要小于主控虚拟角色的身高时,则控制主控虚拟角色410翻越平台421,到达平台421上。
综上所述,本实施例提供的方法,通过在主控虚拟角色到达目标位置后,自动检测目标位置上方是否存在可以翻越的地形,例如,平台、屋顶、窗户等,当目标位置上方为可翻越地形时,自动控制主控虚拟角色进行翻越,从而防止主控虚拟角色到达目标位置后,由于目标位置凌空,使主控虚拟角色无法落脚而坠落。
示例性的,给出一种在射击游戏中实现左右手同时使用主武器和副武器的示例性实施例。
图23是本申请一个示例性实施例提供的虚拟道具的使用方法的方法流程图。以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明,该客户端是支持虚拟环境的客户端。该方法包括以下步骤。
步骤501,在主武器类中派生出副武器类。
示例性的,基于射击游戏原有的武器框架,在主武器类中派生出副武器类。
步骤502,在副武器类中加载模型并初始化。
示例性的,客户端在副武器类中加载各类副武器的模型,初始化服务器的模型数据、配置副武器参数,加载副武器动作等。例如,服务器是牵引道具,客户端加载牵引道具的模型、配置牵引道具的最大射程、加载使用牵引道具时的动作。
步骤503,当客户端主动释放副武器时,把副武器挂在左手对应的插槽中并发射出去。
示例性的,当副武器是牵引道具时,将牵引道具装备在主控虚拟角色的左手上。当用户触发副武器的使用控件时,控制射出部件从发射装置中射出。示例性的,加载主控虚拟角色射出射出部件的动作、射出部件从发射装置中射出的动画并播放。
步骤504,在此过程中,主武器还可以给服务器请求射击。
示例性的,在副武器的发射过程中,用户可以继续触发主武器的使用控件,向服务器发送主武器的使用请求。服务器在接收到主武器的使用请求后,运算主武器的使用逻辑,并将逻辑运算结果返回给客户端,由客户端进行显示。
步骤505,达到左右手同时使用武器的效果。
图24是本申请一个示例性实施例提供的虚拟道具的使用方法的方法流程图。以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明,该客户端是支持虚拟环境的客户端。该方法包括以下步骤。
步骤601,加载左手武器和动作。
客户端加载左手武器和动作,示例性的,客户端将左手动作存储至主武器的动作控制类中。主武器的动作控制类中原用于控制右手武器动作的播放。
步骤602,左手武器释放的时候,驱动左手动作。
示例性的,当主控虚拟角色使用左手武器时,驱动主武器的动作控制类中对应的左手武器动作,播放左手武器的释放动作。
步骤603,右手武器释放的时候,驱动右手动作。
示例性的,当主控虚拟角色使用右手武器时,驱动主武器的动作控制类中对应的右手武器动作,播放右手武器的释放动作。
步骤604,程序层控制主武器的动作控制类。
示例性的,客户端通过控制主武器的动作控制类就可以完成左右手武器动作的分别控制,实现动作播放。
综上所述,本实施例提供的方法,通过在主武器类中派生出副武器类,从而在原有的武器框架上加入副武器流程,在副武器类中配置副武器的模型、配置、动作等,实现副武器的使用。
上述实施例是基于游戏的应用场景对上述方法进行描述,下面以军事仿真的应用场景对上述方法进行示例性说明。
仿真技术是应用软件和硬件通过模拟真实世界的实验,反映系统行为或过程的模型技术。
军事仿真程序是利用仿真技术针对军事应用专门构建的程序,对海、陆、空等作战元素、武器装备性能以及作战行动等进行量化分析,进而精确模拟战场环境,呈现战场态势,实现作战体系的评估和决策的辅助。
在一个示例中,士兵在军事仿真程序所在的终端建立一个虚拟的战场,并以组队的形式进行对战。士兵控制战场虚拟环境中的虚拟角色在战场虚拟环境下进行站立、蹲下、坐下、仰卧、俯卧、侧卧、行走、奔跑、攀爬、驾驶、射击、投掷、攻击、受伤、侦查、近身格斗等动作中的至少一种操作。战场虚拟环境包括:平地、山川、高原、盆地、沙漠、河流、湖泊、海洋、植被中的至少一种自然形态,以及建筑物、交通工具、废墟、训练场等地点形态。虚拟角色包括:虚拟人物、虚拟动物、动漫人物等,每个虚拟角色在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
基于上述情况,在一个示例中,士兵a控制虚拟角色a在虚拟环境中活动,虚拟角色a的左手装备有钩爪、右手装备有枪械。士兵a通过触发第一使用控件控制虚拟角色a使用左手的钩爪钩住屋顶,在钩爪牵引虚拟角色a向屋顶移动的过程中,士兵a可以通过触发第二使用控件控制虚拟角色a向位于屋顶的敌对虚拟角色b开枪,从而出其不意地击杀虚拟角色b。
综上所述,在本实施例中,将上述虚拟道具的使用方法应用在军事仿真程序中,更真实地模拟了士兵在使用钩爪的同时,使用枪械射击敌对目标的场景。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可参考上述方法实施例。
图25是本申请一个示例性实施例提供的虚拟道具的使用装置的框图。所述装置包括:
显示模块701,用于显示虚拟环境画面、第一使用控件和第二使用控件,所述虚拟环境画面包括主控虚拟角色,所述主控虚拟角色的第一肢体上装备有第一虚拟道具,所述主控虚拟角色的第二肢体上装备有第二虚拟道具;
交互模块702,用于接收第一使用控件上的触发操作;
控制模块703,用于响应于接收到所述第一使用控件上的触发操作,控制所述主控虚拟角色使用所述第一虚拟道具;
所述交互模块702,还用于接收第二使用控件上的触发操作;
所述控制模块703,还用于响应于在所述第一虚拟道具的使用过程中接收到所述第二使用控件上的触发操作,控制所述主控虚拟角色使用所述第二虚拟道具。
在一个可选的实施例中,所述虚拟环境画面上还显示有瞄准控件;所述第一虚拟道具包括发射装置、射出部件和牵引部件,所述发射装置固定在所述主控虚拟角色的所述第一肢体上,所述牵引部件与所述发射装置相连,所述射出部件与所述牵引部件相连;
所述控制模块703,还用于响应于接收到所述第一使用控件上的触发操作,控制所述主控虚拟角色使用所述发射装置,向所述瞄准控件的瞄准方向射出所述射出部件;
所述控制模块703,还用于响应于所述射出部件射中目标位置并固定,控制所述牵引部件牵引所述主控虚拟角色向所述目标位置移动。
在一个可选的实施例中,所述装置还包括:
射线检测模块704,用于响应于接收到所述第一使用控件上的触发操作,以所述发射装置的位置为起点沿所述瞄准控件的所述瞄准方向射出第一检测射线;
所述控制模块703,还用于响应于所述第一检测射线在最大射程内与虚拟环境中的三维虚拟模型交于所述目标位置,控制所述射出部件沿所述瞄准方向射出至所述目标位置并固定。
在一个可选的实施例中,所述控制模块703,还用于响应于在所述射出部件射出的过程中接收到所述第二使用控件上的触发操作,控制所述主控虚拟角色使用所述第二虚拟道具;
或,
所述控制模块703,还用于响应于在所述牵引部件牵引所述主控虚拟角色移动的过程中接收到所述第二使用控件上的触发操作,控制所述主控虚拟角色使用所述第二虚拟道具。
在一个可选的实施例中,所述控制模块703,还用于响应于在所述主控虚拟角色向所述目标位置移动的移动路径上存在障碍物,控制所述主控虚拟角色躲避所述障碍物继续向所述目标位置移动。
在一个可选的实施例中,所述装置还包括:
碰撞检测模块705,用于以所述主控虚拟角色的位置为起点,沿指向所述目标位置的目标方向周期性地射出碰撞盒子,所述碰撞盒子用于检测与虚拟环境中的三维虚拟模型的碰撞;
获取模块706,用于响应于所述碰撞盒子与所述障碍物的所述三维虚拟模型发生碰撞,获取发生碰撞的碰撞点;
确定模块707,用于根据所述碰撞点确定所述主控虚拟角色的躲避方向;
所述控制模块703,还用于根据所述躲避方向控制所述主控虚拟角色躲避所述障碍物继续向所述目标位置移动。
在一个可选的实施例中,所述装置还包括:
获取模块706,用于获取所述主控虚拟角色向所述目标位置移动过程中的第一视角方向;
计时模块708,用于响应于所述第一视角方向与移动方向的第一转向夹角大于第一角度阈值,计时所述第一转向夹角大于所述第一角度阈值的第一持续时长,所述移动方向是从所述主控虚拟角色的位置指向所述目标位置的方向;
所述控制模块703,还用于响应于所述第一持续时长大于第一时间阈值,控制所述牵引部件停止牵引所述主控虚拟角色。
在一个可选的实施例中,所述装置还包括:
获取模块706,用于获取所述主控虚拟角色的第二视角方向,所述第二视角方向是所述主控虚拟角色开始被所述牵引部件牵引的时刻的视角;
计时模块708,用于响应于所述第二视角方向与移动方向的第二转向夹角大于第二角度阈值,计时所述第二转向夹角大于所述第二角度阈值的第二持续时长,所述移动方向是从所述主控虚拟角色的位置指向所述目标位置的方向;
所述控制模块703,还用于响应于所述第二持续时长大于第二时间阈值,控制所述牵引部件停止牵引所述主控虚拟角色。
在一个可选的实施例中,所述控制模块703,还用于响应于所述主控虚拟角色到达所述目标位置,且所述目标位置上方存在可翻越地形,控制所述主控虚拟角色翻越所述可翻越地形。
在一个可选的实施例中,所述装置还包括:
射线检测模块704,用于响应于所述主控虚拟角色到达所述目标位置,向所述主控虚拟角色的下方发射第二检测射线;
获取模块706,用于响应于所述第二检测射线检测到目标表面,获取所述第二检测射线的射线长度;
所述获取模块706,还用于响应于所述射线长度大于第一距离阈值,获取所述目标位置所属的地形模型的模型信息;
所述控制模块703,还用于响应于所述模型信息包括位于所述目标位置上方的所述可翻越地形,且所述目标位置与所述可翻越地形的垂直距离小于第二距离阈值,控制所述主控虚拟角色翻越所述可翻越地形。
需要说明的是:上述实施例提供的虚拟道具的使用装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟道具的使用装置与虚拟道具的使用方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图26示出了本申请一个示例性实施例提供的终端2000的结构框图。该终端2000可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端2000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其它名称。
通常,终端2000包括有:处理器2001和存储器2002。
处理器2001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器2001可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器2001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器2001可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器2001还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
存储器2002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器2002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器2002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器2001所执行以实现本申请中方法实施例提供的虚拟道具的使用方法。
在一些实施例中,终端2000还可选包括有:外围设备接口2003和至少一个外围设备。处理器2001、存储器2002和外围设备接口2003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口2003相连。具体地,外围设备包括:射频电路2004、显示屏2005、摄像头组件2006、音频电路2007、定位组件2008和电源2009中的至少一种。
外围设备接口2003可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器2001和存储器2002。在一些实施例中,处理器2001、存储器2002和外围设备接口2003被集成在同一芯片或电路板上;在一些其它实施例中,处理器2001、存储器2002和外围设备接口2003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路2004用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路2004通过电磁信号与通信网络以及其它通信设备进行通信。射频电路2004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路2004包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路2004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路2004还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏2005用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏2005是触摸显示屏时,显示屏2005还具有采集在显示屏2005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器2001进行处理。此时,显示屏2005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏2005可以为一个,设置终端2000的前面板;在另一些实施例中,显示屏2005可以为至少两个,分别设置在终端2000的不同表面或呈折叠设计;在再一些实施例中,显示屏2005可以是柔性显示屏,设置在终端2000的弯曲表面上或折叠面上。甚至,显示屏2005还可以设置成非矩形的不规则图形,也即异形屏。显示屏2005可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。
摄像头组件2006用于采集图像或视频。可选地,摄像头组件2006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件2006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路2007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器2001进行处理,或者输入至射频电路2004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端2000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器2001或射频电路2004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路2007还可以包括耳机插孔。
定位组件2008用于定位终端2000的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件2008可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源2009用于为终端2000中的各个组件进行供电。电源2009可以是交流电、直流电、一次性电池或可充电电池。当电源2009包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端2000还包括有一个或多个传感器2010。该一个或多个传感器2010包括但不限于:加速度传感器2011、陀螺仪传感器2012、压力传感器2013、指纹传感器2014、光学传感器2015以及接近传感器2016。
加速度传感器2011可以检测以终端2000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器2011可以用于检测重力加速度在三个坐标轴上的分量。处理器2001可以根据加速度传感器2011采集的重力加速度信号,控制显示屏2005以横向视图或纵向视图进行用户界面的显示。加速度传感器2011还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器2012可以检测终端2000的机体方向及转动角度,陀螺仪传感器2012可以与加速度传感器2011协同采集用户对终端2000的3d动作。处理器2001根据陀螺仪传感器2012采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器2013可以设置在终端2000的侧边框和/或显示屏2005的下层。当压力传感器2013设置在终端2000的侧边框时,可以检测用户对终端2000的握持信号,由处理器2001根据压力传感器2013采集的握持信号进行左右手识别或快捷操作。当压力传感器2013设置在显示屏2005的下层时,由处理器2001根据用户对显示屏2005的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器2014用于采集用户的指纹,由处理器2001根据指纹传感器2014采集到的指纹识别用户的身份,或者,由指纹传感器2014根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器2001授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器2014可以被设置终端2000的正面、背面或侧面。当终端2000上设置有物理按键或厂商logo时,指纹传感器2014可以与物理按键或厂商logo集成在一起。
光学传感器2015用于采集环境光强度。在一个实施例中,处理器2001可以根据光学传感器2015采集的环境光强度,控制显示屏2005的显示亮度。具体地,当环境光强度较高时,调高显示屏2005的显示亮度;当环境光强度较低时,调低显示屏2005的显示亮度。在另一个实施例中,处理器2001还可以根据光学传感器2015采集的环境光强度,动态调整摄像头组件2006的拍摄参数。
接近传感器2016,也称距离传感器,通常设置在终端2000的前面板。接近传感器2016用于采集用户与终端2000的正面之间的距离。在一个实施例中,当接近传感器2016检测到用户与终端2000的正面之间的距离逐渐变小时,由处理器2001控制显示屏2005从亮屏状态切换为息屏状态;当接近传感器2016检测到用户与终端2000的正面之间的距离逐渐变大时,由处理器2001控制显示屏2005从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图26中示出的结构并不构成对终端2000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任意示例性实施例所提供的虚拟道具的使用方法。
本申请还提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任意示例性实施例所提供的虚拟道具的使用方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的虚拟道具的使用方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除