虚拟世界中的虚拟车辆漂移方法、装置及存储介质与流程

文档序号:17215183发布日期:2019-03-27 11:15阅读:307来源:国知局
虚拟世界中的虚拟车辆漂移方法、装置及存储介质与流程

本申请涉及计算机程序领域,特别涉及一种虚拟世界中的虚拟车辆漂移方法、装置及存储介质。



背景技术:

赛车游戏是深受用户喜爱的一种游戏类型。目前的赛车游戏大多为在三维虚拟世界中构建的三维赛车游戏。

相关技术中,用户使用智能手机运行赛车游戏程序。在运行过程中,智能手机上显示有赛车游戏程序的用户界面,该用户界面包括赛车在虚拟世界中的赛道上行驶的行驶画面,以及叠加在行驶画面上的左方向键、右方向键和漂移控件。若用户可以先按压方向键,再按压漂移控件,赛车游戏程序会根据用户的按压操作控制赛车处于漂移状态。

相关技术需要用户同时按压方向键和漂移控制键才能触发和保持赛车的漂移,人机交互步骤相对繁琐,不利于用户在诸如地铁、公交等场景下的快速操作。一旦发生碰撞或摇晃等事件,容易导致赛车漂移过程的意外中断。



技术实现要素:

本申请实施例提供了一种虚拟世界中的虚拟车辆漂移方法、装置及存储介质,可以解决漂移操作因意外事件取消,则赛车的漂移过程也会相应的意外中断的问题,所述技术方案如下:

根据本公开实施例的一方面,提供了一种虚拟世界中的虚拟车辆漂移方法,所述方法包括:

在虚拟车辆在虚拟世界中行驶的过程中,接收目标交互控件对应的操作开始事件;

根据所述操作开始事件控制所述虚拟车辆在所述虚拟世界中处于漂移状态;

在接收到所述目标交互控件对应的操作结束事件后,若所述车头方向与所述行驶方向之间的夹角大于第一阈值,则控制所述虚拟车辆保持所述漂移状态。

根据本公开实施例的另一方面,提供了一种虚拟世界中的虚拟车辆漂移装置,所述装置包括:

交互模块,用于在所述虚拟世界中的虚拟车辆处于正常行驶状态的过程中,接收目标交互控件对应的操作开始事件;

控制模块,用于根据所述操作开始事件控制所述虚拟车辆在所述虚拟世界中处于漂移状态;

所述控制模块,用于在接收到所述目标交互控件对应的操作结束事件后,若所述车头方向与所述行驶方向之间的夹角大于第一阈值,则控制所述虚拟车辆保持所述漂移状态。

根据本公开实施例的另一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的虚拟世界中的虚拟车辆漂移方法。

根据本公开实施例的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上所述的虚拟世界中的虚拟车辆漂移方法。

根据本公开实施例的另一方面,提供了一种计算机程序产品,所述程序产品中存储有至少一条指令,所述指令由处理器加载并执行以实现如上所述的虚拟世界中的虚拟车辆漂移方法。

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

通过监测所述虚拟车辆的车头方向与行驶方向之间的夹角;在接收到目标交互控件对应的操作结束事件时,若车头方向与行驶方向之间的夹角大于第一阈值,则控制虚拟车辆保持漂移状态;使得在控制保持虚拟车辆处于漂移状态的过程中,用户可以只控制车头方向与行驶方向之间的夹角即可,不需要同时按压方向键和漂移控件,只需要按压方向键来控制车头方向即可,降低了操作难度,提高了在某些不适合双手长时间操作场景下的人机交互便捷度。

附图说明

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

图1是本申请一个示例性实施例提供的虚拟世界中的虚拟车辆漂移方法的流程图;

图2是本申请一个示例性实施例提供的虚拟世界中的虚拟车辆漂移方法的界面示意图;

图3是本申请另一个示例性实施例提供的虚拟世界中的虚拟车辆漂移方法的流程图;

图4是本申请另一个示例性实施例提供的虚拟车辆在虚拟世界中正常行驶时的受力分析图;

图5是本申请另一个示例性实施例提供的虚拟车辆在虚拟世界中拖漂行驶时的受力分析图;

图6是本申请另一个示例性实施例提供的虚拟世界中的虚拟车辆漂移方法的流程图;

图7是本申请一个示例性实施例提供的虚拟世界中的虚拟车辆漂移方法的界面示意图;

图8是本申请一个示例性实施例提供的虚拟世界中的虚拟车辆漂移方法的界面示意图;

图9是本申请一个示例性实施例提供的动态漂移牵引力与摩擦力之间的对应关系;

图10是本申请一个示例性实施例提供的虚拟世界中的虚拟车辆漂移方法的界面示意图;

图11是本申请一个示例性实施例提供的虚拟世界中的虚拟车辆漂移装置的示意图;

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

具体实施方式

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

本申请可以应用于如下场景:

赛车游戏程序:提供单人或多人在同一赛道中进行竞速的应用程序。该应用程序支持赛车在行驶过程中处于漂移状态。该应用程序可以是单机版应用程序,也可以是网络版应用程序。该应用程序支持个人竞速、组队竞速、个人道具、组队道具等不同赛式。该应用程序提供的赛车可以是摩托车、卡丁车、汽车、电动车和卡通汽车中的至少一种。

枪战类游戏程序:提供单人或多人在开放游戏世界中进行战斗竞技的应用程序,该应用程序支持游戏角色在开放游戏世界中驾驶步兵战车、装甲运兵车、侦察车、通信车、履带车、坦克、装甲车等军事汽车,并在驾驶汽车过程中处于漂移状态。

沙盒类游戏程序:由一个或多个地图区域构成的,集合动作、射击、格斗、驾驶等多种游戏元素的开放性和创造性的应用程序。该应用程序支持游戏角色在开放虚拟世界中驾驶各类民用汽车,并在驾驶汽车过程中处于漂移状态。

相关技术中的虚拟车辆在虚拟环境中会收到地面摩擦力(以及风阻)的影响,当用户的漂移操作取消后,该地面摩擦力会使得虚拟车辆迅速减速,从而取消漂移状态,甚至减速为零。

而目前很多的应用程序都是基于智能手机或平板电脑来开发的,当用户使用智能手机或平板电脑在交通工具上控制虚拟车辆时,容易受到颠簸、碰撞等因素影响而无法使虚拟赛车处于持续的漂移状态。本申请实施例提供有如下实施例,可以用于解决上述技术问题。

请参考图1,其示出了本申请一个示意性实施例提供的虚拟世界中的虚拟车辆漂移方法的流程图。本实施例以该方法应用于运行有应用程序的终端中来举例说明,该应用程序是支持虚拟车辆在行驶过程中处于漂移状态的程序。该方法包括:

步骤101,在虚拟世界中虚拟车辆处于正常行驶状态的过程中,接收目标交互控件对应的操作开始事件;

应用程序可以是赛车应用程序、网游应用程序、手游应用程序等。该应用程序中提供有虚拟世界,该虚拟世界中存在虚拟车辆。以应用程序是赛车游戏程序为例,该虚拟车辆可以是赛车。

虚拟世界是基于三维虚拟引擎构建的三维虚拟世界。该三维虚拟世界中构建有供虚拟车辆行驶的地面环境,该地面环境包括:荒野、公路、赛道、城市街道中的至少一种。

应用程序生成用户界面,该用户界面包括采用虚拟车辆的第一视角或第三视角对虚拟世界进行观察的行驶画面和叠加在该用户界面上的目标交互控件。目标交互控件是用于触发虚拟车辆处于漂移状态的控件或控件组。

步骤102,根据操作开始事件控制虚拟车辆在虚拟世界中处于漂移状态;

可选地,操作开始事件是用户操作在目标交互控件上开始作用时触发的。可选地,目标交互控件包括触摸显示屏上显示的方向控件和漂移控件。或者,目标交互控件是赛车驾驶模拟外设上的若干个物理组件所对应的控件。

可选地,操作开始事件是通过触摸显示屏上的触控操作所触发的;或者,也可以是通过控制外部输入设备的物理操作所触发的,比如:控制鼠标、vr手柄等物理操作所触发的。

可选地,用户操作包括单击操作、连击操作、长按操作、滑动操作等类型,本实施例不对触控操作的类型进行限定。

比如,操作开始事件是用户同时按压左方向键和漂移控件的触控操作在开始触摸时所产生的;或者,操作开始事件是用户同时按压右方向键和漂移控件的触控操作在开始触摸时所产生的。

漂移状态是指车头方向与行驶方向之间产生较大的夹角,使车身侧滑过弯的移动状态。车头方向是指向车头正前方的方向。行驶方向是虚拟车辆在行驶过程中的速度所对应的方向,或者说,行驶方向是虚拟车辆在地面环境上的实际移动方向。

步骤103,在接收到目标交互控件对应的操作结束事件后,若车头方向与行驶方向之间的夹角大于第一阈值时,则控制虚拟车辆保持漂移状态。

可选地,终端需要监测虚拟车辆的车头方向与行驶方向之间的夹角。示意性地,包括但不限于如下四种方式中的至少一种:

1、在虚拟车辆处于漂移状态的过程中,实时监测虚拟车辆的车头方向与行驶方向之间的夹角;

2、当接收到目标交互控件对应的操作结束事件后,终端实时监测虚拟车辆的车头方向与行驶方向之间的夹角;操作结束事件是用户操作在目标交互控件上开始消失时触发的;比如,操作结束事件是同时按压方向键和漂移控件的触控操作在取消触控时所产生的事件。

3、终端每隔预定时间间隔监测虚拟车辆的车头方向与行驶方向之间的夹角;

4、终端在接收到方向控制操作时,监测虚拟车辆的车头方向与行驶方向之间的夹角。

在接收到目标交互控件对应的操作结束事件后,若终端车头方向与行驶方向之间的夹角大于第一阈值时,则控制虚拟车辆保持漂移状态。“保持漂移状态”是指:在虚拟车辆处于漂移状态的过程中,即便用户不再施加漂移触发操作,但只要车头方向与行驶方向之间的夹角保持大于第一阈值,则终端也自动控制虚拟车辆处于漂移状态(或者说,延续漂移状态不中断)。

如图2所示,终端显示赛车程序的用户界面20,该用户界面20包括:左方向键21、右方向键22、漂移按键23和虚拟车辆24,左方向键21是用来控制虚拟车辆24向左侧移动的控件,右方向键22是用来控制虚拟车辆24向右侧移动的控件,漂移按键23是用于触发虚拟车辆24处于漂移状态的控件。

当虚拟车辆24在弯道中行驶时,用户同时按压右方向键22和漂移按键23作为漂移触发操作(图中以黑色填充色代表控件被按下),终端接收到该漂移触发操作后,控制虚拟车辆24处于漂移状态。

当用户取消同时按压右方向键22和漂移按键23(图中以白色填充色代表控件未被按下)后,终端监测到该漂移触发操作结束,然后终端监测虚拟车辆24的车头方向和行驶方向之间的夹角α大于阈值,则终端控制虚拟车辆24保持漂移状态。

综上所述,本实施例提供的方法,在接收到目标交互控件对应的操作结束事件时,若车头方向与行驶方向之间的夹角大于第一阈值,则控制虚拟车辆保持漂移状态;使得在控制保持虚拟车辆处于漂移状态的过程中,用户可以只控制车头方向与行驶方向之间的夹角即可,不需要同时按压方向键和漂移控件,只需要按压方向键来控制车头方向即可,降低了操作难度,提高了在某些不适合双手长时间操作场景下的人机交互便捷度。

请参考图3,其示出了本申请另一个示意性实施例提供的虚拟世界中的虚拟车辆漂移方法的流程图。本实施例以该方法应用于运行有应用程序的终端中来举例说明,该应用程序是支持虚拟车辆在行驶过程中处于漂移状态的程序,该应用程序用于执行如下方法。该方法包括:

步骤301,启动应用程序;

终端上安装有各种各样的应用程序。终端的桌面上可以显示有应用程序的启动图标。

用户可以点击应用程序的启动图标,终端在该启动图标被触发后,启动该应用程序。该应用程序是提供有虚拟环境以及位于虚拟环境中的虚拟车辆的应用程序。该应用程序还支持虚拟车辆在行驶过程中处于漂移状态。

步骤302,显示应用程序的用户界面,该用户界面包括虚拟车辆在虚拟世界中行驶的行驶画面;

终端运行该应用程序,显示该应用程序的用户界面。该用户界面包括虚拟车辆在虚拟世界中行驶的行驶画面。该行驶画面上显示有按照虚拟车辆的第一视角或第三视角对虚拟环境进行观察的画面。第一视角也称为驾驶员视角或车内视角,第三视角也称为车后视角或远视角。

当虚拟世界是三维虚拟世界时,第一视角可以由设置在驾驶员位置的第一摄像机实现;第三视角可以由设置在虚拟车辆后面的第二摄像机来实现。该第一视角和第三视角会跟随虚拟车辆的移动而移动。本实施例中,以第三视角来对行驶画面进行举例说明,但对此不加以限定。

可选地,该用户界面上还在行驶画面上叠加有各种类型的控件。该控件至少包括:方向键和漂移控件,方向键是用于控制虚拟车辆的移动方向的控件,方向键包括前方向键、左方向键、后方向键和右方向键中的至少一种;漂移控件是用于控制虚拟车辆触发和/或保持漂移状态的控件,当方向键和漂移控件被同时按下时,控制虚拟车辆进入漂移状态;当方向键和漂移控件被持续按压时,虚拟车辆在按压持续期间保持漂移状态。

本实施例中,以目标交互控件包括方向键和漂移控件来举例说明。

可选地,该控件还包括:排名显示控件、速度信息控件、缩略地图控件、刹车控件、喷气控件、氮气加速控件中的至少一种。排名显示控件是用于显示当前虚拟车辆在所有虚拟车辆中的赛车排名的控件;速度信息控件是用于显示个人记录时间、单圈赛车时间、本局总赛车时间中的至少一项时间信息的控件;缩略地图控件是以俯视视角采用预设缩放比例对整个赛道地图(以及当前虚拟车辆在赛道地图上所在的实时位置)进行显示的控件;刹车控件是控制虚拟车辆减速的控件;喷气控件是控制虚拟车辆在相对较短的第一时间段内进行爆发性加速的控件,第一时间段的时长可以是固定时长;氮气加速控件是控制虚拟车辆在相对较长的第二时间段内进行爆发性加速的控件,第二时间段的时长可以是根据氮气属性值的多少来动态确定的。

可选地,喷气控件和氮气加速控件均为奖励性道具控件,需要虚拟车辆在行驶过程中满足预设条件时,得到该奖励性道具后才能触发使用。否则,喷气控件和氮气加速控件会被显示为无法使用的非激活状态。示意性的,氮气加速控件是可用氮气值累积达到门限值后,才能触发使用的道具控件。

步骤303,在虚拟世界中的虚拟车辆处于正常行驶状态的过程中,接收目标交互控件对应的操作开始事件;

用户控制虚拟车辆在虚拟世界中的地面环境上进行行驶。在行驶过程中,用户可以使用方向键来控制虚拟车辆的行驶方向。

如图4所示,当虚拟车辆在虚拟世界中行驶时,虚拟车辆会受到正常行驶牵引力f1和阻力f的影响。正常行驶牵引力f1是指向车头前方的牵引力,阻力f包括来自地面的摩擦力和风阻中的至少一种。正常行驶牵引力f1等于或大于摩擦力f。

在处于正常行驶状态的行驶过程中,用户还可在目标交互控件上触发漂移触发操作。可选地,漂移触发操作包括作用于漂移控件上的触发操作。或者,漂移触发操作包括作用于方向控件和漂移控件上的触发操作。或者,漂移触发操作包括作用于驾驶模拟外设上的触发操作。

可选地,漂移触发操作可以是通过触摸显示屏触发的操作;或者,也可以是通过控制外部输入设备触发的操作,比如:控制鼠标、vr手柄、驾驶模拟外设等触发的操作。驾驶模拟外设包括方向盘、档位杆、油门和刹车中的至少一项。

可选地,漂移触发操作可以是单击操作、连击操作、长按操作、滑动操作等类型,本实施例不对漂移触发操作的类型进行限定。

比如,漂移触发操作是同时按压左方向键和漂移控件的操作;或者,漂移触发操作是同时按压右方向键和漂移控件的操作。

以漂移触发操作是同时按压触摸屏上显示的方向键和漂移控件为例,当上述触摸屏检测到用户触控时,终端的操作系统中会产生触控开始事件。该触控开始事件也即操作开始事件。

示意性的,终端的操作系统中的触控事件(touch)会在用户手指放在屏幕的时候、在屏幕上滑动的时候或者是从屏幕上移开的时候触发。触控事件可以有如下几种:

touchstart事件(触控开始事件):当手指开始触控屏时触发,即使在已经有一个手指放在触摸屏上的情况下,当有其它手指触控屏时,也会触发该事件。

touchmove事件(触控移动事件):当手指在触摸屏上滑动的时候连续触发。在该事件发生期间,调用preventdefault()事件可以阻止滚动。

touchend事件(触控结束事件):当手指从触摸屏上离开的时候触发。

终端中的应用程序可以将上述程序层面获得的触控开始事件,确定为目标交互控件对应的操作开始事件。

步骤304,根据操作开始事件控制虚拟车辆在虚拟世界中处于漂移状态;

漂移状态是指让车头方向与行驶方向之间产生较大的夹角,使车身侧滑过弯的移动状态。车头方向是指向虚拟车辆的车头正前方,行驶方向是虚拟车辆在虚拟世界中移动时的方向。

步骤305,监测虚拟车辆的车头方向与行驶方向之间的夹角;

可选地,终端监测虚拟车辆的车头方向与行驶方向之间的夹角,包括但不限于如下四种方式中的至少一种:

1、在虚拟车辆处于漂移状态的过程中,实时监测虚拟车辆的车头方向与行驶方向之间的夹角;

2、当接收到目标交互控件对应的操作结束事件后,终端实时监测虚拟车辆的车头方向与行驶方向之间的夹角;操作结束事件是用户操作在目标交互控件上开始消失时触发的;比如,操作结束事件是同时按压方向键和漂移控件的触控操作在取消触控时所产生的事件。

3、终端每隔预定时间间隔监测虚拟车辆的车头方向与行驶方向之间的夹角;

4、终端在接收到方向控制操作时,监测虚拟车辆的车头方向与行驶方向之间的夹角。

在本实施例中,当用户不再触摸目标交互控件(比如用户手指在方向键和漂移控件上松开)时,终端的操作系统会产生目标交互控件对应的touchend事件,终端中的应用程序将touchend事件确定为操作结束事件。当接收到目标交互控件对应的操作结束事件后,终端监测虚拟车辆的车头方向与行驶方向之间的夹角。

可选地,在监测夹角的过程中,终端接收用户的方向控制操作,根据方向控制操作改变虚拟车辆的车头方向,确定改变后的车头方向与行驶方向之间的夹角。方向控制操作可以是作用于方向键上的操作,也可以是作用于方向盘上的操作。

比如,方向控制操作是按压左方向键的操作;又比如,方向控制操作是按压右方向键的操作。

在终端确定虚拟车辆的车头方向与行驶方向之间的夹角后,终端还判断该夹角与第一阈值和第二阈值之间的大小关系,第一阈值大于第二阈值。示意性的,第一阈值为45度,第二阈值为10度。

当该夹角大于第一阈值时,进入步骤306;当该夹角小于第一阈值且大于第二阈值时,进入步骤307;当该夹角小于第二阈值时,进入步骤311。

当漂移触发操作结束后,虚拟车辆的车头方向或行驶方向会受到牵引力方向、方向控制操作以及阻力等多方面因素的影响而改变。而且由于用户有可能多次施加方向控制操作,因此本步骤可以对应地执行多次。

步骤306,在接收到目标交互控件对应的操作结束事件后,若车头方向与行驶方向之间的夹角大于第一阈值时,沿车头方向向虚拟车辆增加动态拖漂牵引力,该动态拖漂牵引力用于控制虚拟车辆保持漂移状态;

当用户在目标交互控件上触发的漂移触发操作结束后,若终端确定虚拟车辆的车头方向与行驶方向之间的夹角大于第一阈值,则终端沿车头方向向该虚拟车辆增加动态拖漂牵引力,该动态拖漂牵引力用于控制虚拟车辆保持漂移状态。

可选地,该“保持漂移状态”可称为拖漂状态。

如图5所示,虚拟车辆的动态拖漂牵引力f2的方向指向车头的正前方,处于漂移状态的虚拟车辆按照速度v沿行驶方向进行移动,该虚拟车辆还收到与速度v反向的摩擦力f的影响,动态拖漂牵引力f2在行驶方向上的分量f21等于或大于摩擦力f,使得虚拟车辆保持在漂移状态。同时,动态拖漂牵引力f2的另外一个牵引力分量f22会改变车头方向,需要用户的方向控制操作来控制虚拟车辆的车头方向。可选地,在正常行驶状态下,摩擦力f与虚拟车辆的速度呈正相关关系。

在一些实施例中,应用程序还会增加一个额外的回正力,该回正力用于在无控制信号时,引导虚拟车辆在漂移过程中自动回正车头方向和行驶方向重合。

可选地,该动态拖漂牵引力在行驶方向上的牵引力分量等于或大于阻力。

可选地,该动态拖漂牵引力的大小与虚拟车辆的速度呈正相关关系。或者,在预设速度区间内,动态拖漂牵引力的大小与虚拟车辆的速度呈正相关关系;在超出该预设速度区间后,动态拖漂牵引力的大小保持不变。

在一个可能的实现方式中,虚拟车辆收到的阻力为地面摩擦力,该地面摩擦力在预设速度区间内与虚拟车辆的速度呈正相关关系,且该地面摩擦力的方向与行驶方向相反,虚拟车辆所受到的动态拖漂牵引力在行驶方向上的牵引力分量与地面摩擦力保持相同,或者,该牵引力分量会略大于地面摩擦力。以使得虚拟车辆保持漂移状态。

步骤307,在接收到目标交互控件对应的操作结束事件后,若车头方向与行驶方向之间的夹角大于第一阈值时,将虚拟车辆的地面摩擦力,从第一摩擦力数值修改为第二摩擦力数值;

第一摩擦力数值大于第二摩擦力数值。

可选地,第一摩擦力数值是根据虚拟车辆的速度实时确定的。在预设速度区间内,虚拟车辆的速度和地面摩擦力呈正相关关系。

可选地,第二摩擦力数值是预先设定的较小经验值。当应用程序在保持漂移状态中减小虚拟车辆的地面摩擦力时,可以降低地面摩擦力对虚拟车辆的速度的衰减,从而使得虚拟车辆更加容易地保持在漂移状态。

当虚拟世界中存在多个虚拟车辆时,每个虚拟车辆的地面摩擦力可以互相独立设置,视虚拟车辆的当前速度以及行驶状态而定。

步骤308,在漂移状态的持续期间,持续增加虚拟车辆的氮气属性值;

在虚拟车辆处于漂移状态的过程中,应用程序根据漂移状态的持续期间,持续增加氮气加速控件的氮气属性值。该持续时间与累积的氮气属性值呈正相关关系。

步骤309,当氮气属性值达到触发门限值时,将虚拟车辆的氮气加速控件激活为可用状态;

氮气加速控件对应有自身的触发门限值。当氮气属性值未累积到触发门限值时,氮气加速控件处于不可用状态,未激活状态是在用户界面上显示但不可触发的状态,或者,未激活状态是在用户界面上不显示的状态;当氮气属性值累积到触发门限值时,氮气加速控件会激活为可用状态,可用状态是在用户界面上显示且可触发的状态。

步骤310,当接收到作用于氮气加速控件的触发信号时,控制虚拟车辆进行加速;

可选地,氮气加速控件是触摸显示屏上显示的控件。当氮气加速控件处于可用状态时,若用户对氮气加速控件进行按压,则终端接收到作用于氮气加速控件上的触发信号,从而根据该触发信号控制虚拟车辆进行加速。

终端可根据氮气属性值的剩余可用氮气进行加速,也即加速过程需要不断消耗氮气属性值中的氮气,当氮气属性值中的氮气消耗完毕时,控制虚拟车辆退出加速状态。

可选地,若虚拟车辆在加速过程中与其它物体发生碰撞,则终端也会控制虚拟车辆退出加速状态。

步骤311,在控制虚拟车辆保持漂移状态的过程中,若车头方向与行驶方向之间的夹角小于第一阈值时,控制虚拟车辆恢复为正常行驶状态。

终端可将动态拖漂牵引力切换为正常行驶牵引力,该正常行驶牵引力用于控制虚拟车辆处于正常行驶状态。

步骤312,在控制虚拟车辆保持漂移状态的过程中,若车头方向与行驶方向之间的夹角小于第一阈值时,将虚拟车辆的地面摩擦力,从第二摩擦力数值修改为第一摩擦力数值。

同时,应用程序还将虚拟车辆的地面摩擦力,从第二摩擦力数值修改为第一摩擦力数值。

可选地,第一摩擦力数值是根据虚拟车辆的速度实时确定的。在预设速度区间内,虚拟车辆的速度和地面摩擦力呈正相关关系。

可选地,第二摩擦力数值是预先设定的较小经验值。

步骤313,在接收到目标交互控件对应的操作结束事件后,若车头方向与行驶方向之间的夹角小于第二阈值时,控制虚拟车辆在目标时长后从漂移状态切换为正常行驶状态。

在接收到目标交互控件对应的操作结束事件时,若车头方向与行驶方向之间的夹角较小(比如小于10°),会进入另一种短暂的漂移状态。该“短暂的漂移状态”可称为点漂状态,点漂状态是与拖漂状态不同的一种状态。应用程序会控制虚拟车辆在短暂的目标时长后,从漂移状态切换为正常行驶状态。

可选地,应用程序根据虚拟车辆的速度和地面摩擦力,计算虚拟车辆从漂移状态衰减为正常行驶状态之间的衰减时长;当衰减时长大于最短漂移时长时,控制虚拟车辆按照衰减时长从漂移状态衰减为正常行驶状态;当衰减时长小于最短漂移时长时,控制虚拟车辆按照最短漂移时长从漂移状态衰减为正常行驶状态。

可选地,在接收到目标交互控件对应的操作结束事件时,若车头方向与行驶方向之间的夹角小于第二阈值时,应用程序还将虚拟车辆的地面摩擦力,从第二摩擦力数值修改为第一摩擦力数值,以便虚拟车辆从点漂状态切换为正常行驶状态。

此外,由于点漂状态也是漂移状态,因此应用程序还执行步骤308,在漂移状态(点漂状态)的持续期间,持续增加所述虚拟车辆的氮气属性值。点漂状态可以供用户快速积攒少量的氮气属性值,在通过拖漂方式或普通漂移方式累积的氮气属性值即将达到触发门限值时,用户可利用点漂状态积攒够剩余的氮气值。

综上所述,本实施例提供的方法,在接收到目标交互控件对应的操作结束事件后,若车头方向与行驶方向之间的夹角大于第一阈值,则控制虚拟车辆保持漂移状态;使得在控制保持虚拟车辆处于漂移状态的过程中,用户可以只控制车头方向与行驶方向之间的夹角即可,不需要同时按压方向键和漂移控件,只需要按压方向键来控制车头方向即可,降低了操作难度,提高了在某些不适合双手长时间操作场景下的人机交互便捷度。

本实施例提供的方法,还通过在接收到目标交互控件对应的操作结束事件后,在每次接收到用户的方向控制操作时,判断虚拟车辆的车头方向与行驶方向之间的夹角是否大于阈值,若虚拟车辆的车头方向与行驶方向之间的夹角大于第一阈值,则保持漂移状态,并根据虚拟车辆处于漂移状态(拖漂)的持续时间来累积氮气加速控件的氮气属性值。通过较为简洁的人机交互方式,使得用户能够快速积攒可用氮气值,从而更多地获得奖励性质的氮气加速控件。

本实施例提供的方法,还通过在接收到目标交互控件对应的操作结束事件后,若虚拟车辆的车头方向与行驶方向之间的夹角小于第二阈值,则进入点漂状态,并根据虚拟车辆处于漂移状态(点漂)的持续时间来累积氮气加速控件的氮气值。通过较为短暂的人机交互方式,使得用户能够快速积攒少量的可用氮气值,同时不会大幅度改变虚拟车辆的行驶方向,从而在拖漂状态或普通漂移状态下已经累积的氮气属性值即将达到门限值时,用户可利用点漂状态更快地获得奖励性质的氮气加速控件。

在一个示意性的例子中,s601,用户打开应用程序,开始赛车游戏;s602,用户通过按压按键(方向键和漂移键)的方式,控制车辆进入漂移;s603,用户松开按键,取消漂移触发操作;s604,应用程序控制赛车保持漂移状态,保持漂移状态也可称为拖漂。

s605,若用户选择回正车头,则用户可以触发如下操作:

1、点击方向键,把车头朝着漂移方向反向转动;

2、持续减小车头与车运动方向之间的夹角;

3、当这个夹角小于一定度数后,可以脱离漂移状态。

s606,应用程序控制赛车结束漂移,当漂移回正车头成功后,车辆进入正常行驶状态。

s607,若用户选择不回正车头,则用户可以触发如下操作:

1、当车处于拖漂的时候,车头会有一个自动回正力;

2、适当的点击方向键,把车头朝着漂移方向同向转动;

3、保持住车头与车运动方向之间的夹角基本不变;

4、保持无限拖漂状态。

可选地,在拖漂过程中,用户界面上还可以叠加显示第一字样“拖漂”71,如图7所示。另一方面,在拖漂过程中,虚拟车辆在赛道上因拖漂而产生的轮胎痕迹72也会明显偏长,如图8所示。

参考图5可知,本申请实施例中的赛车在延续漂移的过程中,不单单有一个惯性速度v,同时还有一个比较大的‘拖漂’动力f2存在,这个动力会和摩擦力f共同作用。同时,f/f的力量计算方式是动态变化的,最终的感觉类似于赛车在做匀速圆周运动(是实际情况肯定是动态的弧线),理论上可以保持赛车的‘拖漂’状态无限持续下去。

示意性的,图9示出了一种示意性实施例下的动态漂移牵引力f2和摩擦力f的计算方式。动态漂移牵引力f2是随着赛车的实时速度变化,车速越快,动态漂移牵引力f2越大;车速达到一定程度后,动态漂移牵引力f2不再增大;摩擦力f也是随着赛车的实时速度变化,且摩擦力f的大小与赛车实时速度的平方成正比。

在拖漂过程中,用户需要实时操控虚拟赛车的车头方向,比如控制车头方向与行驶方向之间的夹角在35°至45°左右。之所以用户需要操控车头方向,是因为用户需要实时的控制车头方向不能与行驶方向的夹角太小,太小会退出漂移状态。拖漂的操作核心就在于,用户要控制住车头方向与行驶方向的夹角,保持赛车受到的合力类似一个向心力,做类似圆周运动。实际上路线并不是标准的圆弧,是实时都在变化的不标准弧线。这就是赛道设计出的乐趣,不同的赛道弧度需要玩家控制不同的拖漂角度。

可选地,在拖漂需要结束的时候,玩家需要操控车头转动,让车头方向与行驶方向的夹角为0°,这样赛车就处于正常行驶状态了,动态漂移牵引力f2切换成了正常行驶牵引力f1。f1是一个定值,摩擦力f依然随着速度增大而增大,正常行驶牵引力f与摩擦力f1最终能达到平衡,赛车能在直线上做匀速直线运动,符合真实世界中的车辆的动力设计原理。

在一个可选的实施例中,在步骤603之后,若用户松开按键后,虚拟车辆的车头方向与行驶方向之间的夹角在10°以内,则不进入拖漂状态。而是进入另一种短暂的漂移状态,也称点漂状态。赛车会保持短暂的漂移状态后,从漂移状态切换为正常行驶状态。可选地,在点漂过程中,用户界面上还可以叠加显示第二字样“点漂”74,如图10所示。

以下为本申请的装置实施例,该装置实施例与上述方法实施例对应。对于装置实施例中未详细描述的部分,可以参考上述方法实施例中相应的描述。

图11示出了本申请一个示意性实施例提供的虚拟世界中的虚拟车辆漂移装置的结构框图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置包括:

交互模块1120,用于在所述虚拟世界中的虚拟车辆处于正常行驶状态的过程,接收目标交互控件对应的操作开始事件,目标交互控件是用于触发虚拟车辆处于漂移状态的控件或控件组;

控制模块1140,用于根据所述操作开始事件控制所述虚拟车辆在所述虚拟世界中处于漂移状态;

所述控制模块1140,用于在接收到所述目标交互控件对应的操作结束事件时,若所述车头方向与所述行驶方向之间的夹角大于第一阈值时,控制所述虚拟车辆保持所述漂移状态。

在一个可选的实施例中,所述控制模块1140,用于沿所述车头方向向所述虚拟车辆增加动态拖漂牵引力,所述动态拖漂牵引力用于控制所述虚拟车辆保持所述漂移状态。

在一个可选的实施例中,在预设速度区间内,所述动态拖漂牵引力的大小与所述虚拟车辆的速度呈正相关关系。

在一个可选的实施例中,所述控制模块1140,还用于在接收到所述目标交互控件对应的操作结束事件时,若所述车头方向与所述行驶方向之间的夹角大于第一阈值,则将所述虚拟车辆的地面摩擦力,从第一摩擦力数值修改为第二摩擦力数值;

其中,所述第一摩擦力数值大于所述第二摩擦力数值。

在一个可选的实施例中,所述控制模块1140,还用于在所述漂移状态的持续期间,持续增加所述虚拟车辆的氮气属性值;当所述氮气属性值达到触发门限值时,将所述虚拟车辆的氮气加速控件激活为可用状态;当接收到处于所述氮气加速控件的触发信号时,控制所述虚拟车辆执行加速操作。

在一个可选的实施例中,所述控制模块1140,还用于在控制所述虚拟车辆保持所述漂移状态的过程中,若所述车头方向与所述行驶方向之间的夹角小于所述第一阈值时,控制所述虚拟车辆恢复为正常行驶状态。

在一个可选的实施例中,所述控制模块1140,还用于在控制所述虚拟车辆保持所述漂移状态的过程中,当监测到所述车头方向与所述行驶方向之间的夹角小于所述第一阈值时,将所述虚拟车辆的地面摩擦力,从所述第二摩擦力数值修改为第一摩擦力数值;

其中,所述第一摩擦力数值大于所述第二摩擦力数值。

在一个可选的实施例中,所述控制模块1140,还用于将所述动态拖漂牵引力切换为正常行驶牵引力,所述正常行驶牵引力用于控制所述虚拟车辆处于正常行驶状态,所述动态拖漂牵引力大于所述正常行驶牵引力。

在一个可选的实施例中,所述装置还包括:监测模块1160;

所述交互模块1120,还用于接收方向控制操作;

所述控制模块1140,还用于根据所述方向控制操作,改变所述虚拟车辆的车头方向;

所述监测模块1160,还用于确定改变后的所述车头方向与所述行驶方向之间的夹角。

在一个可选的实施例中,所述控制模块1140,用于在接收到所述目标交互控件对应的操作结束事件时,若所述车头方向与所述行驶方向之间的夹角小于第二阈值时,则控制所述虚拟车辆在目标时长后从所述漂移状态切换为正常行驶状态;其中,所述第二阈值小于所述第一阈值。

在一个可选的实施例中,所述控制模块1140,用于根据所述虚拟车辆的速度和地面摩擦力,计算所述虚拟车辆从所述漂移状态衰减为所述正常行驶状态之间的衰减时长;当所述衰减时长大于最短漂移时长时,控制所述虚拟车辆按照所述衰减时长从所述漂移状态衰减为所述正常行驶状态;当所述衰减时长小于所述最短漂移时长时,控制所述虚拟车辆按照所述最短漂移时长从所述漂移状态衰减为所述正常行驶状态。

综上所述,本实施例提供的装置,在接收到目标交互控件对应的操作结束事件后,若车头方向与行驶方向之间的夹角大于第一阈值,则控制虚拟车辆保持漂移状态;使得在控制保持虚拟车辆处于漂移状态的过程中,用户可以只控制车头方向与行驶方向之间的夹角即可,不需要同时按压方向键和漂移控件,只需要按压方向键来控制车头方向即可,降低了操作难度,提高了在某些不适合双手长时间操作场景下的人机交互便捷度。

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

通常,终端1200包括有:处理器1201和存储器1202。

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

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

在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、触摸显示屏1205、摄像头1206、音频电路1207、定位组件1208和电源1209中的至少一种。

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

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

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

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

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

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

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

在一些实施例中,终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。

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

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

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

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

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

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

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

在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质为非易失性的计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,存储的计算机程序被处理组件执行时能够实现本公开上述实施例提供的虚拟世界中的虚拟车辆漂移方法。

在示例性实施例中,还提供了一种计算机程序产品,该计算机可读存储介质为非易失性的计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,存储的计算机程序被处理组件执行时能够实现本公开上述实施例提供的虚拟世界中的虚拟车辆漂移方法。

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

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

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

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

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