虚拟载具的控制方法、装置、设备及存储介质与流程

文档序号:20083756发布日期:2020-03-13 05:58阅读:144来源:国知局
虚拟载具的控制方法、装置、设备及存储介质与流程

本申请涉及计算机领域,特别涉及一种虚拟载具的控制方法、装置、设备及存储介质。



背景技术:

在基于三维虚拟世界的应用程序中,如第一人称射击类游戏,用户可以操控虚拟世界中的第一虚拟角色驾驶虚拟载具,例如,驾驶汽车、机车、船等。

相关技术中,第一虚拟角色可以驾驶虚拟载具撞击其他虚拟角色,使其他虚拟角色的生命值降低或降为零。例如,第一虚拟角色驾驶汽车撞向第二虚拟角色,终端获取汽车与第二虚拟角色撞击时的行驶速度、撞击位置,根据行驶速度和撞击位置获取第二虚拟角色应损失的生命值。

相关技术中的虚拟载具只能通过撞击的方式降低其他虚拟角色的生命值,且驾驶体型较大的虚拟载具准确撞击体型较小的其他虚拟角色的难度较高,用户实际操控起来十分困难。



技术实现要素:

本申请实施例提供了一种虚拟载具的控制方法、装置、设备及存储介质,可以解决相关技术中的虚拟载具只能通过撞击的方式降低其他虚拟角色的生命值,且驾驶体型较大的虚拟载具准确撞击体型较小的其他虚拟角色的难度较高,用户实际操控起来十分困难的问题。所述技术方案如下:

根据本申请的一个方面,提供了一种虚拟载具的控制方法,所述方法包括:

显示第一用户界面,所述第一用户界面包括第一虚拟世界画面和位置更换控件,所述第一虚拟世界画面显示有位于虚拟载具的驾驶位置上的主控虚拟角色,所述虚拟载具还包括用于控制机载虚拟道具的乘客位置;

当接收到所述位置更换控件上的位置更换操作后,控制所述主控虚拟角色从所述驾驶位置更换至所述乘客位置;

显示第二用户界面,所述第二用户界面包括第二虚拟世界画面和开火控件,所述第二虚拟世界画面显示有位于所述乘客位置上的所述主控虚拟角色;

当接收到所述开火控件上的开火操作后,控制所述主控虚拟角色使用所述虚拟载具上的所述机载虚拟道具发射出虚拟部件。

根据本申请的另一方面,提供了一种虚拟载具的控制装置,所述装置包括:

显示模块,用于显示第一用户界面,所述第一用户界面包括第一虚拟世界画面和位置更换控件,所述第一虚拟世界画面显示有位于虚拟载具的驾驶位置上的主控虚拟角色,所述虚拟载具还包括用于控制机载虚拟道具的乘客位置;

交互模块,用于接收所述位置更换控件上的位置更换操作;

控制模块,用于当接收到所述位置更换控件上的位置更换操作后,控制所述主控虚拟角色从所述驾驶位置更换至所述乘客位置;

所述显示模块,还用于显示第二用户界面,所述第二用户界面包括第二虚拟世界画面和开火控件,所述第二虚拟世界画面显示有位于所述乘客位置上的所述主控虚拟角色;

所述交互模块,还用于接收所述开火控件上的开火操作;

所述控制模块,还用于当接收到所述开火控件上的开火操作后,控制所述主控虚拟角色使用所述虚拟载具上的所述机载虚拟道具发射出虚拟部件。

根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的虚拟载具的控制方法。

根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的虚拟载具的控制方法。

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

通过在虚拟载具的乘客位置上增设机载虚拟道具,当虚拟角色位于乘客位置时,虚拟角色可以控制机载虚拟道具射出虚拟部件对其他虚拟角色造成伤害。当虚拟角色位于驾驶位置时,虚拟角色可以控制虚拟载具在虚拟世界中移动。将虚拟载具与机载虚拟道具相结合,使虚拟载具兼具移动和攻击的功能,虚拟角色可以通过使用机载虚拟道具的方式降低其他虚拟角色的生命值,且机载虚拟道具的使用方式简单,便于用户操作。

附图说明

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

图1是本申请一个示例性实施例提供的相关技术中虚拟载具的控制方法的用户界面示意图;

图2是本申请一个示例性实施例提供的相关技术中虚拟载具的控制方法的用户界面示意图;

图3是本申请一个示例性实施例提供的虚拟载具的控制方法的用户界面示意图;

图4是本申请一个示例性实施例提供的虚拟载具的控制方法的用户界面示意图;

图5是本申请一个示例性实施例提供的实施环境的框图;

图6是本申请一个示例性实施例提供的虚拟载具的控制方法的流程图;

图7是本申请另一个示例性实施例提供的虚拟载具的控制方法的流程图;

图8是本申请另一个示例性实施例提供的虚拟载具的控制方法的虚拟世界示意图;

图9是本申请另一个示例性实施例提供的虚拟载具的控制方法的用户界面示意图;

图10是本申请另一个示例性实施例提供的虚拟载具的控制方法的虚拟世界示意图;

图11是本申请另一个示例性实施例提供的虚拟载具的控制方法的用户界面示意图;

图12是本申请另一个示例性实施例提供的视角对应的摄像机模型示意图;

图13是本申请另一个示例性实施例提供的虚拟载具的控制方法的虚拟世界示意图;

图14是本申请另一个示例性实施例提供的虚拟载具的控制方法的虚拟世界示意图;

图15是本申请另一个示例性实施例提供的虚拟载具的控制方法的用户界面示意图;

图16是本申请另一个示例性实施例提供的虚拟载具的控制方法的用户界面示意图;

图17是本申请另一个示例性实施例提供的虚拟载具的控制方法的用户界面示意图;

图18是本申请一个示例性实施例提供的虚拟载具的控制方法的流程图;

图19是本申请一个示例性实施例提供的虚拟载具的控制方法的流程图;

图20是本申请一个示例性实施例提供的虚拟载具的控制装置的框图;

图21是本申请一个示例性实施例提供的计算机设备的结构示意图。

具体实施方式

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

首先,对本申请实施例中涉及的名词进行介绍:

虚拟世界:是应用程序在终端上运行时显示(或提供)的虚拟世界。该虚拟世界可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。虚拟世界可以是二维虚拟世界、2.5维虚拟世界和三维虚拟世界中的任意一种,本申请实施例对此不加以限定。下述实施例以虚拟世界是三维虚拟世界来举例说明。

虚拟角色:是指虚拟世界中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在三维虚拟世界中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟角色是基于动画骨骼技术创建的三维立体模型。每个虚拟角色在三维虚拟世界中具有自身的形状和体积,占据三维虚拟世界中的一部分空间。示例性的,虚拟角色具有生命值,当虚拟角色的生命值为零时,虚拟角色不能再虚拟世界中继续活动。示例性的,生命值是判断虚拟角色是否可以在虚拟世界中活动的标准,生命值还可以称为信号值、红条等。

机载虚拟道具:是固定在虚拟载具上的虚拟道具。示例性的,虚拟角色只能载虚拟载具上使用机载虚拟道具。机载虚拟道具包括虚拟武器、功能道具、虚拟装备中的至少一个。示意性的,在本申请中机载虚拟道具是指机载虚拟武器,机载虚拟武器是固定在虚拟载具上,虚拟角色只能在虚拟载具上使用的武器。虚拟武器包括机枪、手枪、步枪、狙击枪、弩、箭等通用武器。

虚拟部件:是在机载虚拟道具中使用的消耗部件。虚拟部件的数量随着机载虚拟道具用次数的增多而减少。示意性的,在本申请中虚拟部件是指虚拟弹药。虚拟弹药包括子弹、炮弹、导弹、箭弩、电能、能量、燃料等。示例性的,当虚拟部件击中虚拟角色时,会降低虚拟角色的生命值。

第一人称射击游戏(first-personshootinggame,fps):是指用户能够以第一人称视角进行的射击游戏,游戏中的虚拟世界的画面是以主控虚拟角色的视角对虚拟世界进行观察的画面。在游戏中,至少两个虚拟角色在虚拟世界中进行单局对战模式,虚拟角色通过躲避其他虚拟角色发起的攻击和虚拟世界中存在的危险(比如,毒气圈、沼泽地等)来达到在虚拟世界中存活的目的,当虚拟角色在虚拟世界中的生命值为零时,虚拟角色在虚拟世界中的生命结束,最后存活在虚拟世界中的虚拟角色是获胜方。可选地,该对战以第一个客户端加入对战的时刻作为开始时刻,以最后一个客户端退出对战的时刻作为结束时刻,每个客户端可以控制虚拟世界中的一个或多个虚拟角色。可选地,该对战的竞技模式可以包括单人对战模式、双人小组对战模式或者多人大组对战模式,本申请实施例对对战模式不加以限定。

用户界面ui(userinterface)控件,在应用程序的用户界面上能够看见的任何可视控件或元素,比如,图片、输入框、文本框、按钮、标签等控件。其中一些ui控件响应用户的操作,比如,用户触发机载虚拟道具对应开火控件,控制机载虚拟道具射出虚拟部件。示例性的,ui控件还包括在应用程序的用户界面上不能够看见,但可以响应用户的操作的控件。比如,在用户界面上有一个位置,当用户点击该位置时,可以控制机载虚拟道具射出虚拟部件。本申请实施例中涉及的ui控件,包括但不限于:开火控件、驾驶控件、位置更换控件、余量提示控件。

本申请中提供的方法可以应用于支持虚拟世界的应用程序。示例性的,支持虚拟世界的应用程序是用户可以控制虚拟角色在虚拟世界内移动的应用程序。示例性的,本申请中提供的方法可以应用于:虚拟现实应用程序、增强现实(augmentedreality,ar)程序、三维地图程序、军事仿真程序、虚拟现实游戏、增强现实游戏、第一人称射击游戏(first-personshootinggame,fps)、第三人称射击游戏(third-personalshootinggame,tps)、多人在线战术竞技游戏(multiplayeronlinebattlearenagames,moba)中的任意一种程序。下述实施例是以在游戏中的应用来举例说明。

基于虚拟世界的游戏往往由一个或多个游戏世界的地图构成,游戏中的虚拟世界模拟现实世界的场景,用户可以操控游戏中的虚拟角色在虚拟世界中进行行走、跑步、跳跃、射击、格斗、驾驶、使用虚拟武器攻击其他虚拟角色、使用虚拟武器蓄力攻击其他虚拟角色等动作,交互性较强,并且多个用户可以在线组队进行竞技游戏。

在一些实施例中,上述应用程序可以是射击类游戏、竞速类游戏、角色扮演类游戏、冒险类游戏、沙盒游戏、战术竞技游戏、军事仿真程序等程序。该客户端可以支持windows操作系统、苹果操作系统、安卓操作系统、ios操作系统和linux操作系统中的至少一种操作系统,并且不同操作系统的客户端可以互联互通。在一些实施例中,上述客户端是适用于具有触摸屏的移动终端上的程序。

在一些实施例中,上述客户端是基于三维引擎开发的应用程序,比如三维引擎是unity引擎。

图1示出了相关技术中的用户界面示意图,在用户界面200上有主控虚拟角色201和虚拟载具202。当用户靠近虚拟载具202后,可以进入虚拟载具202。主控虚拟角色进入虚拟载具后可以使用主控虚拟角色自身携带的机载虚拟道具进行射击。如图2所示,主控虚拟角色201进入虚拟载具202后,可以将身体探出虚拟载具202进行射击。

从图2中可以看出,相关技术中主控虚拟角色201在虚拟载具202中进行射击时,虚拟载具202会遮挡主控虚拟角色201的大部分视野,且受虚拟载具202的影响,主控虚拟角色201的视角只能旋转位于车窗外的180°,视野极大的受到了限制。

本申请提供了一种虚拟载具的控制方法,图3示出了本申请的一种用户界面示意图。在用户界面300上有主控虚拟角色201和虚拟载具202。其中,虚拟载具202上固定有机载虚拟道具203。当主控虚拟角色201进入虚拟载具202后,可以使用机载虚拟道具203进行射击。如图4所示,主控虚拟角色201进入虚拟载具202后,使用机载虚拟道具203进行射击。

从图4中可以看出,主控虚拟角色201在虚拟载具202中使用机载虚拟道具203进行射击时,虚拟载具202位于主控虚拟角色201的下方,不会遮挡主控虚拟角色201的视野,主控虚拟角色可以进行306°无死角射击,极大地提升了主控虚拟角色201在虚拟载具202中的射击能力。

图5示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:第一终端120、服务器140和第二终端160。

第一终端120安装和运行有支持虚拟世界的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、军事仿真程序、fps游戏、moba游戏、多人枪战类生存游戏中的任意一种。第一终端120是第一用户使用的终端,第一用户使用第一终端120控制位于虚拟世界中的主控虚拟角色进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、射击、投掷、使用虚拟武器攻击其他虚拟角色、使用虚拟武器蓄力攻击其他虚拟角色中的至少一种。示意性的,主控虚拟角色是第一虚拟人物,比如仿真人物对象或动漫人物对象。

第一终端120通过无线网络或有线网络与服务器140相连。

服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示意性的,服务器140包括处理器144和存储器142,存储器142又包括显示模块1421、控制模块1422和接收模块1423。服务器140用于为支持虚拟世界的应用程序提供后台服务。可选地,服务器140承担主要计算工作,第一终端120和第二终端160承担次要计算工作;或者,服务器140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。

第二终端160安装和运行有支持虚拟世界的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、军事仿真程序、fps游戏、moba游戏、多人枪战类生存游戏中的任意一种。第二终端160是第二用户使用的终端,第二用户使用第二终端160控制位于虚拟世界中的第二虚拟角色进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、射击、投掷、使用虚拟武器攻击其他虚拟角色、使用虚拟武器蓄力攻击其他虚拟角色中的至少一种。示意性的,第二虚拟角色是第二虚拟人物,比如仿真人物对象或动漫人物对象。

可选地,第一虚拟人物和第二虚拟人物处于同一虚拟世界中。可选地,第一虚拟人物和第二虚拟人物可以属于同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限。

可选地,第一终端120和第二终端160上安装的应用程序是相同的,或两个终端上安装的应用程序是不同控制系统平台的同一类型应用程序。第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端120和第二终端160来举例说明。第一终端120和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、mp3播放器、mp4播放器、膝上型便携计算机和台式计算机中的至少一种。以下实施例以终端包括智能手机来举例说明。

本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。

图6示出了本申请一个示例性实施例提供的虚拟载具的控制方法的流程图,该方法可应用于如图5所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:

步骤104,显示第一用户界面,第一用户界面包括第一虚拟世界画面和位置更换控件,第一虚拟世界画面显示有位于虚拟载具的驾驶位置上的主控虚拟角色,虚拟载具还包括用于控制机载虚拟道具的乘客位置。

终端显示第一用户界面。

用户界面是终端上显示的应用程序的界面。示例性的,用户界面包括虚拟世界画面和位于虚拟世界画面上的ui控件。虚拟世界画面是采用虚拟角色的视角对虚拟世界进行观察所采集到的画面。

示例性的,第一用户界面是当主控虚拟角色位于虚拟载具的驾驶位置时,终端上显示的应用程序界面。示例性的,第一用户界面包括第一虚拟世界画面和位于第一虚拟世界画面上的位置更换控件。

第一虚拟世界画面是当主控虚拟角色位于驾驶位置时,显示的虚拟世界的画面。

示例性的,虚拟世界中有主控虚拟角色和虚拟载具。

主控虚拟角色是受终端控制的虚拟角色。示例性的,主控虚拟角色可以按照终端的控制在虚拟世界内活动。示例性的,当虚拟世界画面是以第一人称视角观察虚拟世界得到的画面时,主控虚拟角色是位于虚拟世界画面中间位置的虚拟角色。

虚拟载具是虚拟角色在虚拟世界中的代步工具。示例性的,虚拟角色可以控制虚拟载具在虚拟世界中移动。示例性的,虚拟角色控制虚拟载具在世界中移动的速度比虚拟角色单独移动的速度快。示例性的,虚拟载具包括:车辆、轮船、舰艇、直升机和飞机中的至少一种。在一个示例中,虚拟载具是具有座舱的交通工具。该座舱内设置有供虚拟角色乘坐的乘坐位置。

示例性的,虚拟载具中的乘坐位置包括驾驶位置和乘客位置。

驾驶位置是用来控制虚拟载具在虚拟世界中移动的乘坐位置。示例性的,当虚拟角色位于驾驶位置时,在用户界面上显示有用于驾驶虚拟载具的ui控件,不会显示用于攻击的ui控件。即,当虚拟角色位于虚拟载具的驾驶位置时,虚拟角色无法进行射击动作。示例性的,一个虚拟载具中只有一个驾驶位置。示例性的,虚拟载具的驾驶位置上有用于控制虚拟载具的操作工具的模型,操作工具包括方向盘、油门、刹车、自动驾驶控制面板、舵中的至少一种。

乘客位置是用来控制固定在虚拟载具上的机载虚拟道具的乘坐位置。示例性的,当虚拟角色乘客位置时,在用户界面上显示有用于控制机载虚拟道具的ui控件,不会显示有用于驾驶虚拟载具的ui控件。即,当虚拟角色位于虚拟载具的乘客位置时,虚拟角色无法驾驶虚拟载具在虚拟世界中移动。示例性的,一个虚拟载具上包括至少一个乘客位置。示例性的,虚拟载具的乘客位置前方还设置有机载虚拟道具的模型。

位置更换控件是用来更换主控虚拟角色在虚拟载具中的乘坐位置的ui控件。示例性的,位置更换控件可以响应用户的操作。例如,当用户触发位置更换控件时,终端控制主控虚拟角色更换乘坐位置。示例性的,位置更换控件是主控虚拟角色进入虚拟载具后在用户界面上显示的ui控件。

机载虚拟道具是固定在虚拟载具上的虚拟道具。示例性的,机载虚拟道具和虚拟载具不可拆分(但不排除可拆分的可能性)。示例性的,只有进入虚拟载具且位于乘客位置上的虚拟角色可以使用机载虚拟道具。示例性的,机载虚拟道具是虚拟武器。机载虚拟道具包括:冲锋枪、特种枪、机枪、火炮、导弹、激光武器、微波武器等。示例性的,机载虚拟道具还可以是虚拟角色携带的虚拟道具,例如,虚拟角色手持的虚拟道具或位于虚拟角色背包中的虚拟道具。示例性的,当虚拟角色将携带的虚拟道具安装至虚拟载具上变为机载虚拟道具时,虚拟道具的攻击属性增强,例如,虚拟道具的射程边长、杀伤力变大等。

步骤105,当接收到位置更换控件上的位置更换操作后,控制主控虚拟角色从驾驶位置更换至乘客位置。

当接收到位置更换控件上的位置更换操作后,终端控制主控虚拟角色从驾驶位置更换至乘客位置。

位置更换操作是用户在位置更换控件上做出的触发操作。示例性的,触发操作包括:点击、双击、滑动、按压、长按中的至少一种。示例性的,触发操作还可以是在安装有重力传感器、陀螺仪传感器、加速度传感器中的至少一种的终端上进行的感应操作,例如,将终端倾斜、翻转、旋转、摇晃等。步骤107,显示第二用户界面,第二用户界面包括第二虚拟世界画面和开火控件,第二虚拟世界画面显示有位于乘客位置上的主控虚拟角色。

终端显示第二用户界面。

示例性的,第二用户界面是当主控虚拟角色位于虚拟载具的乘客位置时,终端上显示的应用程序界面。示例性的,第二用户界面包括第二虚拟世界画面和位于第二虚拟世界画面上的开火控件。

第二虚拟世界画面是当主控虚拟角色位于乘客位置时,使用主控虚拟角色的视角采集到的虚拟世界的画面。

开火控件是用来控制机载虚拟道具的ui控件。示例性的,开火控件用来控制机载虚拟道具射出虚拟部件。示例性的,第二用户界面包括至少一个开火控件。

步骤108,当接收到开火控件上的开火操作后,控制主控虚拟角色使用虚拟载具上的机载虚拟道具发射出虚拟部件。

当接收到开火控件上的开火操作后,终端控制主控虚拟角色使用虚拟载具上的机载虚拟道具发射出虚拟部件。

开火操作是用户对开火控件做出的触发操作。

示例性的,当接收到开火控件上的开火操作后,终端根据机载虚拟道具当前瞄准的方向,控制主控虚拟角色使用虚拟载具上的机载虚拟道具向瞄准方向射出虚拟部件。

示例性的,机载虚拟道具固定在虚拟载具上。示例性的,机载虚拟道具在虚拟载具上的位置可以是:车辆的前部、顶部、尾部;飞机的头部、下部、尾部、侧翼;舰艇的上部、下部、左侧、右侧等。

示例性的,当虚拟部件击中其他虚拟角色时,可以降低其他虚拟角色的生命值。当虚拟部件没有击中其他虚拟角色时,机载虚拟道具会与虚拟世界中的其他虚拟模型产生撞击。示例性的,虚拟部件与其他虚拟模型产生装机后,会在其他虚拟模型表面上留下撞击痕迹,例如,弹孔。

综上所述,本实施例提供的方法,通过在虚拟载具的乘客位置上增设机载虚拟道具,当虚拟角色位于乘客位置时,虚拟角色可以控制机载虚拟道具射出虚拟部件对其他虚拟角色造成伤害。当虚拟角色位于驾驶位置时,虚拟角色可以控制虚拟载具在虚拟世界中移动。将虚拟载具与机载虚拟道具相结合,使虚拟载具兼具移动和攻击的功能,虚拟角色可以通过使用机载虚拟道具的方式降低其他虚拟角色的生命值,且机载虚拟道具的使用方式简单,便于用户操作。

示例性的,本申请还给出了一种虚拟载具的控制方法的示例性实施例。图7示出了本申请另一个示例性实施例提供的虚拟载具的控制方法的流程图。该方法可应用于如图5所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:

步骤101,当获取到碰撞盒子上与主控虚拟角色有关的碰撞信息时,确定主控虚拟角色靠近虚拟载具。

当获取到碰撞盒子上与主控虚拟角色有关的碰撞信息时,终端确定主控虚拟角色靠近虚拟载具。

示例性的,终端控制主控虚拟角色在虚拟世界中移动,当主控虚拟角色的位置靠近虚拟载具时,主控虚拟角色的模型会与虚拟载具上的碰撞盒子发生碰撞,虚拟载具的碰撞盒子会获取碰撞信息。碰撞信息包括碰撞点、与碰撞盒子产生碰撞盒子的模型、碰撞点所在平面、碰撞点所在平面的材质中的至少一种。当终端获取到主控虚拟角色与碰撞盒子发生碰撞的碰撞信息时,确定主控虚拟角色与虚拟载具的距离非常近。

碰撞盒子是一种碰撞检测的方式。示例性的,碰撞盒子可以是形状规则的模型,也可以是形状不规则的模型。示例性的,碰撞盒子具有一定的体积。碰撞盒子的表面可以检测到碰撞信息。即,当虚拟世界中有物体接触碰撞盒子时,碰撞盒子可以感知到碰撞并获取碰撞信息。

示例性的,在虚拟载具的上包括至少一个碰撞盒子。示例性的,碰撞盒子尽量贴近虚拟载具的模型,以更加真实、准确的获取主控虚拟角色与虚拟载具的碰撞信息。

示例性的,当虚拟载具上有多个碰撞盒子时,以虚拟载具是车辆为例,碰撞盒子的设置方式可以是:车身上设置有一个贴近车身的碰撞盒子,在四个车轮上分别设置有四个贴近车轮的碰撞盒子。

示例性的,如图8所示,在虚拟载具202外覆盖有碰撞盒子301。当主控虚拟角色201的模型与碰撞盒子301发生碰撞时,终端获取到主控虚拟角色201与碰撞盒子301产生的碰撞信息,确定主控虚拟角色靠近虚拟载具301。

步骤102,当主控虚拟角色靠近虚拟载具时,显示位置选择控件。

当主控虚拟角色靠近虚拟载具时,终端显示位置选择控件。

位置选择控件是用于接收用户的位置选择操作的ui控件。示例性的,位置选择操作包括乘客位置对应的乘客位置选择操作,以及驾驶位置对应的驾驶位置选择操作。例如,乘客位置选择操作是双击位置选择控件,驾驶位置选择操作是单击位置选择控件。终端根据位置选择操作控制主控虚拟角色进入虚拟载具的乘客位置或驾驶位置。示例性的,位置选择操作是用户对位置选择控件进行的触发操作。示例性的,位置选择控件上可以包括乘客位置对应的乘客位置控件和驾驶位置对应的驾驶位置控件,当乘客位置控件接收到触发操作时,终端控制主控虚拟角色进入乘客位置;当驾驶位置控件接收到触发操作时,终端控制主控虚拟角色进入驾驶位置。

例如,如图9所示,当主控虚拟角色201靠近虚拟载具202后,在用户界面上显示位置选择控件302,示例性的,位置选择控件包括乘客位置控件303和驾驶位置控件304。

步骤103,当接收到位置选择控件上的位置选择操作时,根据位置选择操作控制主控虚拟角色进入虚拟载具。

当接收到位置选择控件上的位置选择操作时,终端根据位置选择操作控制主控虚拟角色进入虚拟载具。

示例性的,终端根据位置选择操作控制主控虚拟角色进入虚拟载具中的不同乘坐位置。

例如,如图9所示,当终端接收到乘客位置控件303上的位置选择操作时,控制主控虚拟角色进入虚拟载具的乘客位置;当终端收到驾驶位置控件304上的位置选择操作时,控制主控虚拟角色进入虚拟载具的驾驶位置。如图10所示,终端控制虚拟角色201进入虚拟载具202的驾驶位置。

步骤104,显示第一用户界面,第一用户界面包括第一虚拟世界画面和位置更换控件,第一虚拟世界画面显示有位于虚拟载具的驾驶位置上的主控虚拟角色,虚拟载具还包括用于控制机载虚拟道具的乘客位置。

示例性的,虚拟载具包括至少一个乘客位置。示例性的,虚拟载具中每个乘客位置都对应有机载虚拟道具。示例性的,虚拟载具中只有一个乘客位置对应有机载虚拟道具。示例性的,虚拟载具中一部分乘客位置对应有机载虚拟道具。

示例性的,当主控虚拟角色位于虚拟载具内时,用户界面上就会显示位置更换控件,即不论主控虚拟角色位于乘客位置或驾驶位置,在用户界面上都显示有位置更换控件。

示例性的,位置更换控件可以是一个ui控件,此时,用户触发位置更换控件,可以控制主控虚拟角色将乘坐位置切换为顺序的下一个乘坐位置。例如,位置更换控件切换位置的顺序是:驾驶位置、第一乘客位置、第二乘客位置,再返回驾驶位置。则当主控虚拟角色位于第一乘客位置时,用户触发位置更换控件,可以控制主控虚拟角色将乘坐位置切换为顺序的下一个乘坐位置:第二乘客位置。当主控虚拟角色位于第二乘客位置时,用户触发位置更换控件,可以控制主控虚拟角色将乘坐位置切换为顺序的下一个乘坐位置:驾驶位置。例如,如图4所示,在用户界面的左下角有一种位置更换控件305,当用户触发位置更换空间时,终端根据主控虚拟角色当前所处的乘坐位置,以及预设的位置切换顺序,将主控虚拟角色的乘坐位置自动切换至顺序的下一个乘坐位置。

示例性的,位置更换控件可以包括多个ui控件,例如,虚拟载具上每一个乘坐位置对应有一个ui控件,当用户触发某个ui控件时,终端控制主控虚拟角色切换至该ui控件对应的乘坐位置。例如,如图11所示,在第一用户界面400的左下角显示有另一种位置更换控件305,该位置更换控件305包括乘客位置对应的第一ui控件307和驾驶位置对应的第二ui控件306,当用户触发第一ui控件307时,终端将主控虚拟角色的乘坐位置切换至乘客位置。

示例性的,第一虚拟世界画面是以虚拟载具的视角观察虚拟世界得到的虚拟世界画面。

视角是指以虚拟角色或虚拟载具的第一人称视角或者第三人称视角在虚拟世界中进行观察时的观察角度。可选地,本申请的实施例中,视角是在虚拟世界中通过摄像机模型对虚拟角色或虚拟载具进行观察时的角度。

下面以虚拟角色为例对视角进行介绍。可选地,摄像机模型在虚拟世界中对虚拟角色进行自动跟随,即,当虚拟角色在虚拟世界中的位置发生改变时,摄像机模型跟随虚拟角色在虚拟世界中的位置同时发生改变,且该摄像机模型在虚拟世界中始终处于虚拟角色的预设距离范围内。可选地,在自动跟随过程中,摄像头模型和虚拟角色的相对位置不发生变化。

摄像机模型是指在虚拟世界中位于虚拟角色周围的三维模型,当采用第一人称视角时,该摄像机模型位于虚拟角色的头部附近或者位于虚拟角色的头部;当采用第三人称视角时,该摄像机模型可以位于虚拟角色的后方并与虚拟角色进行绑定,也可以位于与虚拟角色相距预设距离的任意位置,通过该摄像机模型可以从不同角度对位于虚拟世界中的虚拟角色进行观察,可选地,该第三人称视角为第一人称的过肩视角时,摄像机模型位于虚拟角色(比如虚拟人物的头肩部)的后方。可选地,除第一人称视角和第三人称视角外,视角还包括其他视角,比如俯视视角;当采用俯视视角时,该摄像机模型可以位于虚拟角色头部的上空,俯视视角是以从空中俯视的角度进行观察虚拟世界的视角。可选地,该摄像机模型在虚拟世界中不会进行实际显示,即,在用户界面显示的虚拟世界中不显示该摄像机模型。

对该摄像机模型位于与虚拟角色相距预设距离的任意位置为例进行说明,可选地,一个虚拟角色对应一个摄像机模型,该摄像机模型可以以虚拟角色为旋转中心进行旋转,如:以虚拟角色的任意一点为旋转中心对摄像机模型进行旋转,摄像机模型在旋转过程中的不仅在角度上有转动,还在位移上有偏移,旋转时摄像机模型与该旋转中心之间的距离保持不变,即,将摄像机模型在以该旋转中心作为球心的球体表面进行旋转,其中,虚拟角色的任意一点可以是虚拟角色的头部、躯干、或者虚拟角色周围的任意一点,本申请实施例对此不加以限定。可选地,摄像机模型在对虚拟角色进行观察时,该摄像机模型的视角的中心指向为该摄像机模型所在球面的点指向球心的方向。

可选地,该摄像机模型还可以在虚拟角色的不同方向以预设的角度对虚拟角色进行观察。

示意性的,请参考图12,在虚拟角色11中确定一点作为旋转中心12,摄像机模型围绕该旋转中心12进行旋转,可选地,该摄像机模型配置有一个初始位置,该初始位置为虚拟角色后上方的位置(比如脑部的后方位置)。示意性的,如图12所示,该初始位置为位置13,当摄像机模型旋转至位置14或者位置15时,摄像机模型的视角方向随摄像机模型的转动而进行改变。

例如,如图11所示,显示有第一用户界面400,第一用户界面400包括以虚拟载具202的视角获取到的第一虚拟世界画面,在第一用户界面400的左下角有用于更换主控虚拟角色乘坐位置的位置更换控件305。其中,虚拟载具202包括位于虚拟载具202内部的驾驶位置,和位于虚拟载具202顶部的乘坐位置308。在乘坐位置308上对应有固定在虚拟载具202上的机载虚拟道具203。

步骤1051,当接收到位置更换控件上的位置更换操作后,控制主控虚拟角色的乘坐位置从驾驶位置更换至乘客位置。

当接收到位置更换控件上的位置更换操作后,终端控制主控虚拟角色的乘坐位置从驾驶位置更换至乘客位置。

例如,如图11所示,终端接收到位置更换控件305中乘客位置对应的第一ui控件307上的触发操作后,控制主控虚拟角色从驾驶位置更换至乘客位置308。如图13所示,主控虚拟角色201从虚拟载具202的驾驶位置309更换至乘客位置308。

步骤1052,当接收到位置更换控件上的位置更换操作后,控制主控虚拟角色的视角从驾驶位置对应的驾驶视角更换为乘客位置对应的战斗视角。

当接收到位置更换控件上的位置更换操作后,终端控制主控虚拟角色的视角从驾驶位置对应的驾驶视角更换为乘客位置对应的战斗视角。

驾驶视角是有利于用户控制虚拟载具的视角。战斗视角是有利于用户控制机载虚拟道具的视角。示例性的,驾驶视角以虚拟载具为观察焦点,战斗视角以主控虚拟角色为观察焦点。示例性的,驾驶视角的视野范围比战斗视角的视野范围小。示例性的,驾驶视角是虚拟载具对应的视角。战斗视角是主控虚拟角色对应的视角。示例性的,根据驾驶视角获取的虚拟世界画面上,虚拟载具位于虚拟世界画面中间位置。根据战斗视角获取的虚拟世界画面上,主控虚拟角色位于虚拟世界画面的中间位置。

示例性的,战斗视角的视野范围大于驾驶视角的视野范围。即,战斗视角的角度旋转范围比驾驶视角大,且旋转灵活;和/或,战斗视角的视野宽度比驾驶视角大。

示例性的,如图14所示,在虚拟世界中,有虚拟载具对应的第一视角310(第一摄像机模型),第一视角310以虚拟载具202为球心,以一定距离为半径,绕球体表面对虚拟世界进行观察。在虚拟世界中,还有主控虚拟角色201对应的第二视角311(第二摄像机模型),第二视角311以主控虚拟角色201为球心,以一定距离为半径,绕球体表面对虚拟世界进行观察。

示例性的,如图14所示,第二视角311比第一视角310获取到的虚拟世界画面,前方距离更远,视野更为开阔。

步骤106,当接收到位置更换控件上的位置更换操作后,控制虚拟载具从移动状态切换为停止状态。

当接收到位置更换控件上的位置更换操作后,终端控制虚拟载具从移动状态切换为停止状态。

示例性的,当主控虚拟角色从虚拟载具的驾驶位置更换到乘客位置时,没有虚拟角色控制虚拟载具的移动,则虚拟载具立即停止移动,或在惯性的作用下滑行一段距离后停止移动。即,终端控制虚拟载具从移动状态切换为停止状态。

停止状态是虚拟载具的静止状态。

示例性的,虚拟载具可以供多个虚拟角色同时使用,例如,第一虚拟角色位于虚拟载具的驾驶位置,控制虚拟载具的移动,第二虚拟角色位于虚拟载具的乘客位置,控制机载虚拟道具的使用。

示例性的,步骤1051、步骤1052、步骤106是同时进行的三个步骤,或,是以任意顺序先后进行的三个步骤。

步骤107,显示第二用户界面,第二用户界面包括第二虚拟世界画面和开火控件,第二虚拟世界画面显示有位于乘客位置上的主控虚拟角色。

例如,如图15所示,显示有第二用户界面500,第二用户界面500包括主控虚拟角色201位于虚拟载具202的乘客位置308上的第二虚拟世界画面,以及位于第二用户界面500左右两边的开火控件312。

步骤108,当接收到开火控件上的开火操作后,控制主控虚拟角色使用机载虚拟道具发射出虚拟部件。

示例性的,如图15所示,在第二用户界面500上有机载虚拟道具对应的准星313,当终端接收到开火控件上的开火操作后,控制主控虚拟角色使用机载虚拟道具向准星313瞄准的方向射出虚拟部件。

步骤109,当机载虚拟道具中虚拟部件的数量少于最大数量时,机载虚拟道具以目标速率自动补充虚拟部件,直至机载虚拟道具中的虚拟部件数量达到最大数量。

示例性的,机载虚拟道具中最多装有最大数量的虚拟部件。最大数量是机载虚拟道具中最多装载虚拟部件的数量。

示例性的,最大数量也可以是正无穷,即机载虚拟道具中有无限个虚拟部件。

当机载虚拟道具中虚拟部件的数量少于最大数量时,机载虚拟道具以目标速率自动补充虚拟部件,直至机载虚拟道具中的虚拟部件数量达到最大数量。

示例性的,机载虚拟道具中的虚拟部件是无限使用的。即,虚拟角色可以无限次的使用机载虚拟道具,而不需要进行任何的装弹、充能、维护操作。

示例性的,机载虚拟道具中虚拟部件的最大装载量是一定的,当虚拟角色在短时间内使用机载虚拟道具发射出全部的虚拟部件后,机载虚拟道具将无法再发射虚拟部件,需要添加虚拟部件至机载虚拟道具内。示例性的,机载虚拟道具是可以自动添加虚拟部件的道具。当机载虚拟道具中的虚拟部件数量少于最大数量时,机载虚拟道具自动补充虚拟部件数量。示例性的,补充的方式可以是:立即将虚拟部件的数量补充到最大数量;或,以一定速度逐渐补充虚拟部件的数量,直至达到最大数量。

例如,机载虚拟道具是虚拟枪械,虚拟部件是与虚拟枪械对应的虚拟子弹,虚拟枪械中最多可以装100发虚拟子弹。当虚拟枪械射出虚拟子弹后,虚拟枪械中虚拟子弹的数目少于100,例如:此时虚拟枪械中有90发虚拟子弹,则虚拟枪械立即将虚拟子弹补充至100发;或,虚拟枪械以每秒钟补充1发虚拟子弹的速度,逐渐补充虚拟子弹,10秒后虚拟枪械中虚拟子弹的数目达到100发,停止补充虚拟子弹。

目标速率是机载虚拟道具补充虚拟部件的速率。示例性的,目标速率是机载虚拟道具在一定时间内补充虚拟部件的数量除以该一定时间得到的数值。例如,目标速率可以是10个每秒、1个每分钟等。示例性的,目标速率小于机载虚拟道具在连续发射状态下的发射速率。发射状态是机载虚拟道具发射虚拟部件速度最快的状态。例如,当用户长按开火控件时,机载虚拟道具进入连续发射状态,以10发每秒的速度射出虚拟部件,则目标速率是小于10发每秒的速率。

自动补充是无需主控虚拟角色进行补充操作,机载虚拟道具可以自动完成。

示例性的,第二用户界面还包括虚拟部件的余量提示控件。示例性的,当最大数量是固定数值的正数时,在第二用户界面上会显示机载虚拟道具中剩余的虚拟部件的数量。

余量提示控件是机载虚拟道具中虚拟部件数量对应的ui控件。示例性的,余量提示控件上会显示机载虚拟道具中虚拟部件的数量。

步骤110,获取机载虚拟道具射出虚拟部件的射出数目和射出时间,获取机载虚拟道具的最大数量和目标速率。

终端获取机载虚拟道具射出虚拟部件的射出数目和射出时间,获取机载虚拟道具的最大数量和目标速率。

射出数目是当机载虚拟道具在满载状态下射出第一个虚拟部件开始,到机载虚拟道具到达下一个满载状态前,射出的虚拟部件的数量。满载状态是机载虚拟道具中的虚拟部件数量达到最大数量的状态。

射出时间是机载虚拟道具射出每个虚拟部件的时间。

步骤111,根据虚拟部件的射出速度、射出时间、机载虚拟道具的最大数量和目标速率,计算机载虚拟道具中虚拟部件的当前数量。

终端根据虚拟部件的射出速度、射出时间、机载虚拟道具的最大数量和目标速率,计算机载虚拟道具中虚拟部件的当前数量。

当前数量是在当前时刻机载虚拟道具中虚拟部件的数量。

例如,机载虚拟道具在1分30秒时射出10个虚拟部件,在1分35秒时射出5个虚拟部件,机载虚拟道具的最大数量是100个机载虚拟道具,目标速率是1个每秒,当前时刻是1分40秒。则在1分40秒时机载虚拟道具中虚拟部件的当前数量是:100-10-5+10=95个。

步骤112,根据当前数量在余量提示控件上显示虚拟部件的余量提示信息。

终端根据当前数量在余量提示控件上显示虚拟部件的余量提示信息。

示例性的,终端根据当前数量和最大数量中的至少一种,在余量提示控件上显示虚拟部件的余量提示信息。

余量提示信息是当前机载虚拟道具中虚拟部件的数量信息。示例性的,余量提示信息可以通过数字、百分比、进度条中的至少一种形式显示。示例性的,余量提示信息包括机载虚拟道具中可装载虚拟部件的最大数量和当前机载虚拟道具中装有的虚拟部件的当前数量中的至少一种。

例如,如图15所示,在第二用户界面500上显示有余量提示控件314。余量提示控件显示当前数量和最大数量的百分比进度条。当前数量越大,余量提示控件314无色部分越大,反之,余量提示控件314阴影部分越大,当机载虚拟道具中没有虚拟部件时,余量提示控件314全部被阴影填充。

步骤113,当机载虚拟道具中虚拟部件的数量为零时,提示机载虚拟道具无法开火。

当机载虚拟道具中虚拟部件的数量为零时,终端提示机载虚拟道具无法开火。

示例性的,当机载虚拟道具中虚拟部件的数量为零时,用户再次点击开火控件,则终端提示机载虚拟道具无法开火。

示例性的,当机载虚拟道具中没有虚拟部件时,机载虚拟道具无法进行射击,此时,提示用户机载虚拟道具无法使用。

示例性的,终端提示机载虚拟道具无法开火可以通过显示、语音、震动中的至少一种方式。例如,通过显示方式在用户界面上显示无法开火的提示信息;通过语音方式播放无法开火的语音提示;通过震动方式,当机载虚拟道具中没有虚拟部件,用户再次点击开火控件时,终端震动,提示用户当前机载虚拟道具无法射出虚拟部件。

例如,如图16所示,当机载虚拟道具中虚拟部件的数量为零时,余量提示控件314全部被阴影部分填充,此时,用户再次点击开火控件312,则终端在第二用户界面500上显示无法开火提示315,提示用户机载虚拟道具中的弹药不足无法使用。

步骤114,当再次接收到位置更换控件上的位置更换操作后,控制主控虚拟角色从乘客位置更换至驾驶位置。

当再次接收到位置更换控件上的位置更换操作后,终端控制主控虚拟角色从乘客位置更换至驾驶位置。

示例性的,第二用户界面上还包括位置更换控件。

当主控虚拟机角色位于乘客位置后,位置更换控件接收到位置更换操作,则终端控制主控虚拟角色从乘客位置更换至驾驶位置。

示例性的,当再次接收到位置更换控件上的位置更换操作后,终端控制主控虚拟角色的乘坐位置从乘客位置更换至驾驶位置;控制主控虚拟角色的视角从乘客位置对应的战斗视角更换为驾驶位置对应的驾驶视角。

例如,如图16所示,当主控虚拟角色201位于乘客位置308,位置更换控件305中的第二ui控件306接收到位置更换操作时,终端控制主控虚拟角色从乘客位置308更换至驾驶位置,控制主控虚拟角色的视角从如图16所示的战斗视角更换为如图17所示的驾驶视角。

步骤115,显示第三用户界面,第三用户界面包括驾驶控件。

终端显示第三用户界面,第三用户界面包括驾驶控件。

第三用户界面是主控虚拟角色处于驾驶位置时的界面。示例性的,第三用户界面包括根据驾驶视角获取到的第三虚拟世界画面、位置更换控件和驾驶控件。示例性的,第三用户界面和第一用户界面是终端在不同时刻显示的同一界面。即,第三用户界面和第一用户界面上的ui控件是相同的。示例性的,第三虚拟世界画面和第一虚拟世界画面是驾驶视角在不同时刻获取到的不同虚拟世界画面。示例性的,第三虚拟世界画面和第一虚拟世界画面也可以是相同的虚拟世界画面。

驾驶控件是用来控制虚拟载具在虚拟世界中移动的一种ui控件。示例性的,驾驶控件包括前进控件、后退控件、油门控件、刹车控件、左转控件、右转控件、方向控件、上升控件、下降控件中的至少一种。示例性的,终端根据驾驶控件上的触发操作移动虚拟载具在虚拟世界中的位置。示例性的,当没有接收到用户在驾驶控件上的触发操作时,虚拟载具处于静止状态或自由滑行状态。

例如,如图17所示,在第三用户界面600上有驾驶控件316。示例性的,驾驶控件316包括油门控件3161、刹车控件3162,方向控件3163。

步骤116,当接收到驾驶控件上的驾驶操作时,根据驾驶操作控制虚拟载具进入移动状态。

当接收到驾驶控件上的驾驶操作时,终端根据驾驶操作控制虚拟载具进入移动状态。

驾驶操作是用户在驾驶控件上进行的触发操作。示例性的,终端根据驾驶操作控制虚拟载具在虚拟世界中的移动方式。移动方式包括:前进、后退、加速、减速、转向、上升、下降中的至少一种。

移动状态是虚拟载具在虚拟世界中的位置随时间不断变化的状态。

例如,如图17所示,当终端接收到油门控件3161上的驾驶操作时,终端控制虚拟载具在虚拟世界中加速移动;当终端接收到刹车控件3162上的驾驶操作时,终端控制虚拟载具在虚拟世界中减速移动;当终端接收到方向控件3163上的驾驶操作时,终端根据驾驶操作控制虚拟载具在虚拟世界中向前、向后、向左、向右移动;

综上所述,本实施例提供的方法,通过在虚拟载具的乘客位置上增设机载虚拟道具,当虚拟角色位于乘客位置时,虚拟角色可以控制机载虚拟道具射出虚拟部件对其他虚拟角色造成伤害。当虚拟角色位于驾驶位置时,虚拟角色可以控制虚拟载具在虚拟世界中移动。将虚拟载具与机载虚拟道具相结合,使虚拟载具兼具移动和攻击的功能,虚拟角色可以通过使用机载虚拟道具的方式降低其他虚拟角色的生命值,且机载虚拟道具的使用方式简单,便于用户操作。

通过以不同的视角观察处于虚拟载具上不同乘坐位置的主控虚拟角色,当主控虚拟角色位于驾驶位置时,提供有视野范围较小驾驶视角,便于用户控制笨重的虚拟载具在虚拟世界中移动;当主控虚拟角色位于乘客位置时,提供有视野范围较大的战斗视角,便于用户控制机载虚拟道具在虚拟世界中进行射击,开阔了主控虚拟角色在虚拟载具上射击的视野,便于用户操作。

通过在第一用户界面、第二用户界面上设置位置更换控件,控制主控虚拟角色在虚拟载具中更换乘坐位置,使主控虚拟角色可以自由控制虚拟载具在虚拟世界中移动或控制机载虚拟道具射出虚拟部件。

通过增设余量提示控件,提示用户机载虚拟道具中虚拟部件的剩余数量,当机载虚拟道具中虚拟部件的数量较少时,可以提醒用户将主控虚拟角色从乘客位置切换至驾驶位置,尽快转移位置,以免没有火力的掩护,使自己正面受敌。

通过将虚拟载具上的机载虚拟道具设置为自动补充虚拟部件,用户无需从虚拟世界中拾取虚拟部件手动为虚拟载具补充虚拟部件,降低机载虚拟道具的使用难度,提高机载虚拟道具的使用耐久度。

通过在虚拟载具上增设碰撞盒子,可以精准的检测到主控虚拟角色的靠近,提高终端对主控虚拟角色与虚拟载具之间撞击的检测灵敏度。

示意性的,本申请还给出一种控制虚拟角色进入虚拟载具的示例性实施例。

图18示出了本申请另一个示例性实施例提供的虚拟载具的控制方法的流程图,该方法可应用于如图5所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。与图6所示的虚拟载具的控制方法不同的是,在步骤104前增加步骤102、1031和1032:

步骤102,当主控虚拟角色靠近虚拟载具时,显示位置选择控件。

步骤1301,当接收到位置选择控件上的位置选择操作时,获取主控虚拟角色的角色模型上的根节点,角色模型是主控虚拟角色在虚拟世界中对应的三维模型,根节点是主控虚拟角色模型上的一点,主控虚拟角色模型跟随根节点的移动而移动。

当接收到位置选择控件上的位置选择操作时,终端获取主控虚拟角色的角色模型上的根节点。

根节点是角色模型上的一点。示例性的,根节点在虚拟世界中所处的位置可以代表主控虚拟角色在虚拟世界中所处的位置,即当根节点的位置确定后,角色模型上其他节点在虚拟世界中的位置根据根节点的位置来确定。

示例性的,要使主控虚拟角色进入虚拟载具后,主控虚拟角色的角色模型跟随虚拟载具的移动而移动,只需要将角色模型上的根节点与虚拟载具模型上的一点相连接,根节点随着虚拟载具的移动而移动,则主控虚拟角色的角色模型就会跟随虚拟载具的移动而移动。

例如,主控虚拟角色的角色模型上有根节点(0,0),距离根节点一个单位距离有第二节点(1,0)。则,当根节点移动到(3,3)位置时,第二节点随着根节点的移动而移动,即移动至(4,3)位置。

步骤1302,将根节点与虚拟载具模型上的第一节点相关联,虚拟载具模型是虚拟载具在虚拟世界中对应的虚拟模型,第一节点是虚拟载具模型上的一点,相关联是控制一个节点的位置跟随另一个节点的移动而移动。

终端将根节点与虚拟载具模型上的第一节点相关联。

示例性的,终端将根节点挂载虚拟载具模型上的第一节点下。即根节点随着虚拟载具模型上的第一节点移动而移动。当虚拟载具模型的第一节点在虚拟世界中的位置确定时,根节点在虚拟世界中的位置根据第一节点的位置确定。

例如,虚拟载具上有第一节点(0,0),根节点挂载第一节点下,初始时,根节点的位置在(0,1)。则当第一节点移动至(1,1)位置时,第一节点跟随移动至(1,2)位置。

综上所述,本实施例提供的方法,通过将主控虚拟角色模型上的根节点与虚拟载具模型上的第一节点相关联,控制主控虚拟角色模型在虚拟世界中跟随虚拟载具移动,从而实现主控虚拟角色进入虚拟载具,并使虚拟载具可以载着主控虚拟角色在虚拟世界中移动。

示例性的,上述实施例中提供的方法可以拆分后自由结合成新的实施例。

示例性的,本申请还给出了一种在战术竞技游戏中使用虚拟载具的控制方法的示例性实施例。战术竞技游戏是由多个虚拟角色共同参与,多个虚拟角色以存活为目的在虚拟世界内活动的游戏。

图19示出了本申请另一个示例性实施例提供的虚拟载具的控制方法的流程图,该方法可应用于如图5所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:

步骤701,终端控制主控虚拟角色寻找战斗载具。

示例性的,主控虚拟角色首先在虚拟世界中寻找战斗载具(虚拟载具)。

步骤702,终端判断主控虚拟角色是否找到战斗载具。

当主控虚拟角色找到战斗载具时,进行步骤703;否则返回步骤701。

示例性的,主控虚拟角色找到战斗载具即虚拟世界画面上出现战斗载具。

步骤703,终端控制主控虚拟角色走到战斗载具旁边。

示例性的,主控虚拟角色找到战斗载具后,终端控制主控虚拟角色靠近战斗载具,即,主控虚拟角色模型与战斗载具上的碰撞盒子发生碰撞,碰撞盒子获取撞击信息,终端在用户界面上显示位置选择控件。

步骤704,终端判断用户是否点击乘客位置。

示例性的,位置选择控件上有乘客位置对应的乘客位置选择控件和驾驶位置对应的驾驶位置选择控件。当用户点击乘客位置对应的乘客位置选择控件时,进行步骤705;否则返回步骤703。

步骤705,终端控制主控虚拟角色进入战斗载具。

示例性的,终端控制主控虚拟角色进入战斗载具的乘客位置。

步骤706,终端判断用户是否点击开火。

示例性的,当用户点击用户界面上的开火控件时,进行步骤707,否则返回步骤705。

步骤707,终端控制主控虚拟角色使用武器发射子弹。

示例性的,终端控制主控虚拟角色使用固定在战斗载具上的武器(机载虚拟道具)发射子弹(虚拟部件)。

步骤708,终端判断武器的子弹是否用完。

示例性的,当武器中的子弹全部使用完时,进行步骤709;否则返回步骤707。

步骤709,终端确定武器无法发射并提示用户当前无法使用。

示例性的,当武器中子弹的当前数量为零时,武器无法再发射子弹,此时终端确定武器无法被使用,并在用户界面上提示用户武器当前无法使用。

步骤710,终端判断武器的子弹是否补充完毕。

示例性的,武器会自动补充子弹。当武器中补充了子弹时,进行步骤711;否则,返回步骤709。

步骤711,终端确定武器可以再次开火。

示例性的,当武器中子弹的当前数量不为零时,终端确定武器可以再次开火。

步骤712,终端判断主控虚拟角色是否切换为驾驶位。

示例性的,终端判断用户界面上的位置更换控件有没有接收到位置更换操作。若接收到位置更换操作则进行步骤713;否则返回步骤711。

步骤713,终端控制主控虚拟角色驾驶载具移动。

示例性的,终端控制主控虚拟角色的乘坐位置从乘客位置切换至驾驶位置,并根据用户的驾驶操作控制战斗载具在虚拟世界中移动。

综上所述,本示例性实施例给出了一个示例性的虚拟载具的控制方法。当主控虚拟角色进入一个固定有机载虚拟道具的虚拟载具后,可以通过位置更换控件坐到乘客位置,从而控制乘客位置上的机载虚拟道具射出虚拟部件,增加了虚拟载具对其他虚拟角色造成伤害的方式。且使用机载虚拟道具射击其他虚拟角色比控制虚拟载具撞击其他虚拟角色,控制方式更加简单,便于用户操作。

以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。

图20示出了本申请的一个示例性实施例提供的虚拟载具的控制装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分,该装置包括:

显示模块801,用于显示第一用户界面,所述第一用户界面包括第一虚拟世界画面和位置更换控件,所述第一虚拟世界画面显示有位于虚拟载具的驾驶位置上的主控虚拟角色,所述虚拟载具还包括用于控制机载虚拟道具的乘客位置;

交互模块802,用于接收所述位置更换控件上的位置更换操作;

控制模块803,用于当接收到所述位置更换控件上的位置更换操作后,控制所述主控虚拟角色从所述驾驶位置更换至所述乘客位置;

所述显示模块801,还用于显示第二用户界面,所述第二用户界面包括第二虚拟世界画面和开火控件,所述第二虚拟世界画面显示有位于所述乘客位置上的所述主控虚拟角色;

所述交互模块802,还用于接收所述开火控件上的开火操作;

所述控制模块803,还用于当接收到所述开火控件上的开火操作后,控制所述主控虚拟角色使用所述机载虚拟道具发射出虚拟部件。

在一个可选的实施例中,所述控制模块803,还用于控制所述主控虚拟角色的乘坐位置从所述驾驶位置更换至所述乘客位置;

所述控制模块803,还用于控制所述主控虚拟角色的视角从所述驾驶位置对应的驾驶视角更换为所述乘客位置对应的战斗视角。

在一个可选的实施例中,所述战斗视角的视野范围大于所述驾驶视角的视野范围。

在一个可选的实施例中,所述交互模块802,还用于接收所述位置更换控件上的位置更换操作;

所述控制模块803,还用于当接收到所述位置更换控件上的位置更换操作后,控制所述虚拟载具从移动状态切换为停止状态。

在一个可选的实施例中,所述第二用户界面还包括所述位置更换控件;

所述交互模块802,还用于接收所述位置更换控件上的所述位置更换操作;

所述控制模块803,还用于当再次接收到所述位置更换控件上的所述位置更换操作后,控制所述主控虚拟角色从所述乘客位置更换至所述驾驶位置;

所述显示模块801,还用于显示第三用户界面,所述第三用户界面包括驾驶控件;

所述交互模块802,还用于接收所述驾驶控件上的驾驶操作;

所述控制模块803,还用于当接收到所述驾驶控件上的驾驶操作时,根据所述驾驶操作控制所述虚拟载具进入移动状态。

在一个可选的实施例中,所述显示模块801,还用于当所述主控虚拟角色靠近所述虚拟载具时,显示位置选择控件;

所述交互模块802,还用于接收所述位置选择控件上的位置选择操作;

所述控制模块803,还用于当接收到所述位置选择控件上的位置选择操作时,根据所述位置选择操作控制所述主控虚拟角色进入所述虚拟载具。

在一个可选的实施例中,所述虚拟载具上包括至少一个碰撞盒子,所述装置还包括:获取模块806和确定模块804;

所述获取模块806,用于获取所述碰撞盒子上关于所述主控虚拟角色的碰撞信息;

所述确定模块804,用于当获取到所述碰撞盒子上关于所述主控虚拟角色的碰撞信息时,确定所述主控虚拟角色靠近所述虚拟载具。

在一个可选的实施例中,所述装置还包括:关联模块808;

所述获取模块806,还用于获取主控虚拟角色模型上的根节点,所述主控虚拟角色模型是所述主控虚拟角色在所述虚拟世界中对应的虚拟模型,所述根节点是所述主控虚拟角色模型上的一点,所述主控虚拟角色模型跟随所述根节点的移动而移动;

所述关联模块808,用于将所述根节点与虚拟载具模型上的第一节点相关联,所述虚拟载具模型是所述虚拟载具在所述虚拟世界中对应的虚拟模型,所述第一节点是所述虚拟载具模型上的一点,所述相关联是控制一个节点的位置跟随另一个节点的移动而移动。

在一个可选的实施例中,其特征在于,所述机载虚拟道具中最多装有最大数量的所述虚拟部件,所述装置还包括:装弹模块807;

所述装弹模块807,用于当所述机载虚拟道具中所述虚拟部件的数量少于所述最大数量时,所述机载虚拟道具以目标速率自动补充所述虚拟部件,直至所述机载虚拟道具中的所述虚拟部件数量达到所述最大数量。

在一个可选的实施例中,所述第二用户界面还包括所述虚拟部件的余量提示控件。

在一个可选的实施例中,所述装置还包括;获取模块806和计算模块805;

所述获取模块806,用于获取所述机载虚拟道具射出所述虚拟部件的射出数目和射出时间,获取所述机载虚拟道具的所述最大数量和所述目标速率;

所述计算模块805,用于根据所述虚拟部件的射出速度、射出时间、所述机载虚拟道具的所述最大数量和所述目标速率,计算所述机载虚拟道具中所述虚拟部件的当前数量;

所述显示模块801,还用于根据所述当前数量在所述余量提示控件上显示所述虚拟部件的余量提示信息。

在一个可选的实施例中,所述装置还包括:提示模块809;

所述提示模块809,用于当所述机载虚拟道具中所述虚拟部件的数量为零时,提示所述机载虚拟道具无法开火。

请参考图21,其示出了本申请一个示例性实施例提供的计算机设备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和至少一个外围设备。具体地,外围设备包括:射频电路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的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。触摸显示屏1305用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1305可以为一个,设置电子设备1300的前面板;在另一些实施例中,触摸显示屏1305可以为至少两个,分别设置在电子设备1300的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1305可以是柔性显示屏,设置在电子设备1300的弯曲表面上或折叠面上。甚至,触摸显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1305可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

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

音频电路1307用于提供用户和电子设备1300之间的音频接口。音频电路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的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,可以根据用户对触摸显示屏1305的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器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从息屏状态使用为亮屏状态。

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

本申请还提供了一种终端,该终端包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的虚拟载具的控制方法。

本申请还提供一种计算机设备,该计算机设备包括:处理器和存储器,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的虚拟载具的控制方法。

本申请还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的虚拟载具的控制方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

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

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

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