在虚拟环境中驾驶载具的方法、装置、终端及存储介质与流程

专利2022-06-30  80


本申请涉及计算机领域,特别涉及一种在虚拟环境中驾驶载具的方法、装置、终端及存储介质。



背景技术:

第一人称射击类游戏(first-personshootinggame,fps)是一种基于三维虚拟环境的应用程序,用户可以操控虚拟环境中的虚拟对象进行行走、奔跑、攀爬、射击等动作,并且多个用户可以在线组队在同一个虚拟环境中协同完成某项任务。

当需要控制虚拟对象从当前所处的地点前往虚拟环境中的另一地点,且两地之间的距离较远时,用户可以控制虚拟对象驾驶虚拟环境中设置的虚拟载具(比如汽车、飞机、摩托车等等),从而通过虚拟载具将虚拟对象送达目的地。其中,用户需要通过驾驶控件控制虚拟载具行驶,驾驶控件包括转向控件、加速控件、减速控件、刹车控件、喇叭控件、换挡控件等等。

由于驾驶控件较多,因此用户(尤其是首次使用虚拟载具的用户)控制虚拟对象驾驶载具的操作难度较高。



技术实现要素:

本申请实施例提供了一种在虚拟环境中驾驶载具的方法、装置、终端及存储介质,可以降低用户控制虚拟对象驾驶载具的操作难度。所述技术方案如下:

一方面,本申请实施例提供了一种在虚拟环境中驾驶载具的方法,所述方法包括:

显示用户界面,所述用户界面中包括行驶画面和地图,所述行驶画面是虚拟对象驾驶虚拟载具在虚拟环境中行驶的画面,且所述虚拟载具处于手动驾驶模式;

响应于所述虚拟载具位于所述虚拟环境中的自动驾驶区域,接收对所述地图的标记操作,所述标记操作指在所述地图中标记出地点的操作;

响应于所述标记操作,将所述虚拟载具切换为自动驾驶模式,并控制所述虚拟载具自动行驶至目的地。

另一方面,本申请实施例提供了一种在虚拟环境中驾驶载具的装置,所述装置包括:

显示模块,用于显示用户界面,所述用户界面中包括行驶画面和地图,所述行驶画面是虚拟对象驾驶虚拟载具在虚拟环境中行驶的画面,且所述虚拟载具处于手动驾驶模式;

接收模块,用于响应于所述虚拟载具位于所述虚拟环境中的自动驾驶区域,接收对所述地图的标记操作,所述标记操作指在所述地图中标记出地点的操作;

控制模块,用于响应于所述标记操作,将所述虚拟载具切换为自动驾驶模式,并控制所述虚拟载具自动行驶至目的地。

另一方面,本申请实施例提供了一种终端,所述终端包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的在虚拟环境中驾驶载具的方法。

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

另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述方面所述的在虚拟环境中驾驶载具的方法。

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

当虚拟载具在手动驾驶模式下行驶至虚拟环境中的自动驾驶区域时,若接收到对地图的标记操作,则根据该标记操作将虚拟载具切换为自动驾驶模式,并控制虚拟载具自动行驶至目的地,无需用户手动控制虚拟载具,从而简化了控制虚拟载具行驶的流程,降低了用户控制虚拟载具行驶的操作难度。

附图说明

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

图1示出了相关技术中手动控制虚拟载具行驶过程的界面示意图;

图2示出了本申请示例性实施例提供的在虚拟环境中驾驶载具过程的界面示意图;

图3示出了本申请一个示例性实施例提供的实施环境的示意图;

图4示出了本申请一个示例性实施例提供的在虚拟环境中驾驶载具的方法的流程图;

图5示出了本申请另一个示例性实施例提供的在虚拟环境中驾驶载具的方法的流程图;

图6是一个示例性实施例提供的自动驾驶区域对应碰撞检测盒的示意图;

图7是一个示例性实施例提供的虚拟载具与自动驾驶区域各自对应碰撞检测盒发生碰撞时的示意图;

图8是根据标记地点确定目的地过程的实施示意图;

图9是根据自动驾驶路径上的路点控制虚拟载具自动行驶的实施示意图;

图10是自动驾驶模式和手动驾驶模式下用户界面的界面示意图;

图11示出了本申请另一个示例性实施例提供的在虚拟环境中驾驶载具的方法的流程图;

图12是本申请一个示例性实施例提供的在虚拟环境中驾驶载具的装置的结构框图;

图13示出了本申请一个示例性实施例提供的终端的结构框图。

具体实施方式

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

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

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

虚拟对象:是指虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在三维虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。

虚拟载具:指虚拟环境中可以由虚拟对象驾驶并行使的载具,其可以是虚拟汽车、虚拟摩托车、虚拟飞机、虚拟自行车、虚拟坦克、虚拟船只等等。其中,虚拟载具可以随机设置在虚拟环境中,且每个虚拟载具在三维虚拟环境中具备自身的形状和体积占据三维虚拟环境中的一部分空间,并能够与三维虚拟环境中的其他虚拟物体(比如房屋、树木)发生碰撞。

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

用户界面(userinterface,ui)控件:是指在应用程序的用户界面上能够看见的任何可视控件或元素,比如,图片、输入框、文本框、按钮、标签等控件,其中一些ui控件响应用户的操作,比如,用户触发匕首道具对应ui控件,控制虚拟对象将当前使用的枪支切换为匕首;比如,在驾驶载具时,用户界面显示有驾驶控件,用户可以通过触发驾驶控件,控制虚拟对象驾驶虚拟载具行驶。

本申请中提供的方法可以应用于虚拟现实应用程序、三维地图程序、军事仿真程序、第一人称射击游戏、多人在线战术竞技游戏(multiplayeronlinebattlearenagames,moba)等,下述实施例是以在游戏中的应用来举例说明。

基于虚拟环境的游戏往往由一个或多个游戏世界的地图构成,游戏中的虚拟环境模拟现实世界的场景,用户可以操控游戏中的虚拟对象在虚拟环境中进行行走、跑步、跳跃、射击、格斗、驾驶、切换使用虚拟道具、使用虚拟道具伤害其他虚拟对象等动作,交互性较强,并且多个用户可以在线组队进行竞技游戏。

如图1所示,其示出了相关技术中控制虚拟载具行驶过程的界面示意图。当用户控制虚拟对象驾驶虚拟载具(图1中的虚拟载具为虚拟汽车)过程中,用户界面100显示有行驶画面,且用户界面100上显示有地图101、驾驶控件(包括方向控件102、加速控件103、刹车控件104)以及载具油量标识105。用户可以通过地图101查看虚拟对象当前所处位置以及周围环境,可以通过方向控件102控制虚拟载具前进、后退和转向,可以通过加速控件103控制虚拟载具加速,可以通过刹车控件104控制虚拟载具快速停止,可以通过载具油量标识105知悉虚拟载具的剩余油量。

采用上述方法手动控制虚拟载具行驶时,用户需要根据虚拟载具当前所处环境的环境情况,对不同的驾驶控件进行操作,且需要手动选择行驶线路,对于新手用户而言,操作难度较高,若用户操作不当或者选择的行驶线路有误,行驶至目的地需要花费大量时间。

本申请实施例提供了一种在虚拟环境中驾驶载具的方法,如图2所示,其示出了本申请示例性实施例提供的在虚拟环境中驾驶载具过程的界面示意图。

在一种可能的实施方式中,当用户通过驾驶控件(包括如图1中所示的驾驶控件)控制虚拟载具在虚拟环境中行驶过程中,若虚拟载具处于自动驾驶区域,终端则在用户界面100中显示自动驾驶提示信息106,提示用户可以将虚拟载具切换至自动驾驶模式。进一步的,当接收到对地图101的触发操作时,用户界面100中显示放大后的地图101,并接收用户在地图101中标记的目的地107。完成目的地标记后,终端将虚拟载具切换为自动驾驶模式,并在自动驾驶模式下,控制虚拟载具自动行驶至目的地,无需用户手动触控驾驶控件。并且,切换至自动驾驶模式后,用户界面108还显示有驾驶模式切换控件108,用户可以通过点击驾驶模式切换控件108重新将虚拟载具切换为手动驾驶模式,进而通过驾驶控件手动控制虚拟载具行驶。

相较于相关技术中,需要用户在手动操作驾驶控件以控制虚拟载具,并需要在行驶过程中自主选择行驶路线,采用本申请实施例提供的方法,用户只需要控制虚拟载具行驶至自动驾驶区域,并通过地图设置自动驾驶目的地,终端即可自动确定行驶路线,并控制虚拟载具行驶,无需用户手动操作,简化了虚拟载具的控制流程,降低了虚拟载具的操作难度,有助于缩短虚拟载具到达目的所需的时间。

请参考图3,其示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括:第一终端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的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、数码播放器、膝上型便携计算机和台式计算机中的至少一种。以下实施例以终端包括智能手机来举例说明。

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

请参考图4,其示出了本申请一个示例性实施例提供的在虚拟环境中驾驶载具的方法的流程图。本实施例以该方法用于图3所示实施环境中的第一终端120或第二终端160或该实施环境中的其它终端为例进行说明,该方法包括如下步骤。

步骤401,显示用户界面,用户界面中包括行驶画面和地图,行驶画面是虚拟对象驾驶虚拟载具在虚拟环境中行驶的画面,且虚拟载具处于手动驾驶模式。

其中,该用户界面是支持虚拟环境的应用程序的界面,该用户界面上包括虚拟环境画面和各种功能对应的控件。本申请实施例中,该虚拟环境画面即为行驶画面。

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

可选地,摄像机模型在虚拟环境中对虚拟对象进行自动跟随,即,当虚拟对象在虚拟环境中的位置发生改变时,摄像机模型跟随虚拟对象在虚拟环境中的位置同时发生改变,且该摄像机模型在虚拟环境中始终处于虚拟对象的预设距离范围内。可选地,在自动跟随过程中,摄像头模型和虚拟对象的相对位置不发生变化。

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

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

示意性的,如图2所示,该行驶画面为采用第三人称视角在虚拟环境中进行观察时的画面。当然,在其他可能的实施方式中,行驶画面也可以是采用第一人称视角在虚拟环境中进行观察时的画面,本实施例对此并不进行限定。

可选地,行驶画面中还显示由虚拟环境中的其他元素,包括山川、平地、河流、湖泊、海洋、沙漠、天空、植物、建筑中的至少一种元素。

可选的,用户界面中除了包括显示行驶画面外,还手动驾驶模式下用于控制虚拟载具的驾驶控件。其中,不同虚拟载具对应的驾驶控件的类型和数量可能不同,比如,当虚拟对象驾驶虚拟汽车时,用户界面显示的驾驶控件可以包括方向控件、加速控件和刹车控件;当虚拟对象驾驶虚拟摩托车时,用户界面显示的驾驶控件可以包括方向控件、加速控件、刹车控件、抬车头控件和压车头控件。本申请实施例并不对用户界面中驾驶控件的类型以及分布位置进行限定。

示意性的,如图2所示,用户界面100中包括方向控件102、加速控件103和刹车控件104。

步骤402,响应于虚拟载具位于虚拟环境中的自动驾驶区域,接收对地图的标记操作,标记操作指在地图中标记出地点的操作。

本申请实施例中,虚拟载具并非在虚拟环境中的任何区域都可以进行自动驾驶,而是仅能够在自动驾驶区域进行自动驾驶。在一种可能的实施方式中,虚拟环境中预先设置有自动驾驶区域,当虚拟载具位于自动驾驶区域时,用户才能够通过地图设置自动驾驶的目的地。

可选的,在自动驾驶区域包括虚拟环境中的预设道路,即用户需要手动控制虚拟载具行驶至预设道路后,才能设置自动驾驶的目的地。当然,处于预设道路外,虚拟环境中其它环境简单的区域(即包含环境元素较少的区域)也可以被设置为自动驾驶区域,本实施例并不对自动驾驶区域的具体类型进行限定。

可选的,终端实时检测虚拟载具是否位于自动驾驶区域,若检测到虚拟载具位于自动驾驶区域,则在用户界面显示提示信息,提示用户可以通过地图设置自动驾驶的目的地,进而进入自动驾驶模式。

在一种可能的实施方式中,当接收到对地图的查看操作时,终端在用户界面显示放大后的地图,并进一步接收对地图的标记操作,其中,该标记操作可以是对地图上某一区域的点击操作,相应的,点击操作对应的点击位置即为标记出的地点的位置。

当然,当虚拟载具位于自动驾驶区域外时,用户也可以对地图进行标记操作,但是该标记操作指示的地点并非用于控制虚拟载具进行自动驾驶。

需要说明的是,当终端控制的虚拟对象为虚拟载具的驾驶者时,用户才能够执行标记操作,相应的,若虚拟独享为虚拟载具的乘坐者,用户将无法执行标记操作(即不具备设置自动驾驶的权限)。

步骤403,响应于标记操作,将虚拟载具切换为自动驾驶模式,并控制虚拟载具自动行驶至目的地。

进一步的,终端根据标记操作将虚拟载具切换为自动驾驶模式,并确定出自动驾驶的目的地,从而控制虚拟载具自动行驶至目的地。其中,虚拟载具由当前地点行驶至目的地的行驶路径由终端自动规划。

在一种可能的实施方式中,虚拟环境中的所有虚拟载具均支持自动驾驶模式。

在另一种可能的实施方式中,虚拟环境中的预设虚拟载具支持自动驾驶模式。相应的,当虚拟载具为预设虚拟载具时,终端响应于标记操作,将虚拟载具切换为自动驾驶模式。其中,该预设虚拟载具可以包括虚拟汽车、虚拟坦克和虚拟船只,但不包括虚拟自行车和虚拟摩托车。

可选的,自动驾驶模式下,用户界面显示模式提示信息,提示用户虚拟载具当前处于自动驾驶模式。

在一种可能的实施方式中,自动驾驶模式下,用户无法手动控制虚拟载具;或者,用户仍旧可以通过驾驶控件重新手动控制虚拟载具,且手动控制虚拟载具后,自动虚拟载具将退出自动驾驶模式。

需要说明的是,若在自动驾驶模式下再次接收到对地图的标记操作,终端即根据该标记操作更新目的地,并控制虚拟载具自动行驶至更新后的目的地。

综上所述,本申请实施例中,当虚拟载具在手动驾驶模式下行驶至虚拟环境中的自动驾驶区域时,若接收到对地图的标记操作,则根据该标记操作将虚拟载具切换为自动驾驶模式,并控制虚拟载具自动行驶至目的地,无需用户手动控制虚拟载具,从而简化了控制虚拟载具行驶的流程,降低了用户控制虚拟载具行驶的操作难度。

不同于现实中车辆的自动驾驶功能(需要通过车辆识别、车道识别等复杂的图像识别技术),本申请实施例中,为了降低虚拟载具实现自动驾驶功能的难度和运算量,虚拟载具仅能够在自动驾驶区域(比如预设道路)内进行自动驾驶,即虚拟载具的自动驾驶路径位于自动驾驶区域内。下面采用示意性的实施例对实现自动驾驶功能的过程进行说明。

请参考图5,其示出了本申请另一个示例性实施例提供的在虚拟环境中驾驶载具的方法的流程图。本实施例以该方法用于图3所示实施环境中的第一终端120或第二终端160或该实施环境中的其它终端为例进行说明,该方法包括如下步骤。

步骤501,显示用户界面,用户界面中包括行驶画面和地图,行驶画面是虚拟对象驾驶虚拟载具在虚拟环境中行驶的画面,且虚拟载具处于手动驾驶模式。

步骤501的实施方式可以参考上述步骤401,本实施例在此不再赘述。

步骤502,响应于虚拟载具位于虚拟环境中的自动驾驶区域,接收对地图的标记操作,标记操作指在地图中标记出地点的操作。

关于确定虚拟载具是否位于自动驾驶区域的方式,在一种可能的实施方式中,除了为虚拟环境中的虚拟物体(比如虚拟载具、虚拟房屋、虚拟路障、虚拟树木等等)设置碰撞检测盒外,本申请实施例中,虚拟环境内的自动驾驶区域也设置有碰撞检测盒,该碰撞检测盒用于检测虚拟环境中其他虚拟物体进入自动驾驶区域。

示意性的,如图6所示,当自动驾驶区域为虚拟环境中的预设道路时,各段预设道路均对应各自的碰撞检测盒61(图中虚线区域即为碰撞检测盒的范围)。

可选的,响应于第一碰撞检测盒与第二碰撞检测盒发生碰撞,终端确定虚拟载具位于自动驾驶区域,其中,第一碰撞检测盒是虚拟载具对应的碰撞检测盒,第二碰撞检测盒是自动驾驶区域对应的碰撞检测盒。

示意性的,如图7所示,当虚拟汽车对应的第一碰撞检测盒71与虚拟道路对应的第二碰撞检测盒72发生碰撞时,终端确定虚拟取车位于自动驾驶区域。

当然,除了上述确定虚拟载具是否位于自动驾驶区域的方式外,在其他可能的实施方式中,终端还可以虚拟载具在虚拟环境中所处位置的坐标,以及自动驾驶区域对应的区域坐标范围,确定虚拟载具是否位于自动驾驶区域(当坐标位于区域坐标范围内时,确定虚拟载具位于自动驾驶区域),本实施例对此并不进行限定。

进一步的,当虚拟载具位于自动驾驶区域时,终端接收对地图的标记操作,其中,接收标记操作的过程可以参考上述步骤402,本实施例在此不再赘述。

步骤503,根据标记操作指示的标记地点,确定目的地,目的地位于自动驾驶区域。

本实施例中,由于虚拟载具仅能够在自动驾驶区域内实现自动驾驶,因此为了避免虚拟载具根据标记操作指示的标记地点,行驶至自动驾驶区域以外的区域,造成虚拟载具行驶异常(比如与虚拟环境中的障碍物发生碰撞),在一种可能的实施方式中,终端根据标记操作指示的标记地点,确定出位于自动驾驶区域范围内的目的地。

可选的,当标记操作指示的标记地点位于自动驾驶区域时,终端将标记地点确定为目的地。其中,终端可以根据标记地点的地点坐标以及自动驾驶区域的区域坐标范围,确定标记地点是否位于自动驾驶区域,本实施例并不对具体确定方式进行限定。

可选的,当标记操作指示的标记地点位于自动驾驶区域外时,终端将自动驾驶区域内与标记地点最近的地点确定为目的地。

为了降低用户的学习成本,当标记地点位于自动驾驶区域外时,终端自动将自动驾驶区域内与标记地点距离最近的地点确定为目的地,以便后续基于该目的地进行自动驾驶。

示意性的,如图8所示,当自动驾驶区域为虚拟环境中的预设道路时,若用户在地图上标记的标记地点81位于预设道路之外时,终端将预设道路上距离标记地点81最近的地点确定为目的地82。

除了根据标记地点自动确定目的地外,在其他可能的实施方式中,当标记操作指示的标记地点位于自动驾驶区域外时,终端还可以显示标记提示信息,该标记提示信息用于提示在自动驾驶区域内设置标记地点,直至标记操作指示的标记地点位于自动驾驶区域内。

步骤504,根据虚拟载具所处的当前地点以及目的地,确定自动驾驶路径,自动驾驶路径位于自动驾驶区域。

进一步的,根据虚拟道具所处的当前地点以及确定出的目的地,终端确定自动驾驶区域内的自动驾驶路径。

由于以当前地点为起点,以目的地为终点的路径可能不止一条,比如,当自动驾驶区域为预设道路时,从当前地点行驶至目的地时,可以选择不同的岔路,因此为了缩短虚拟载具的行驶时间,可选的,该自动驾驶路径是当前地点行驶至目的地的最短路径。

针对确定最短路径的方式,在一种可能的实施方式中,终端通过深度优先搜索(depthfirstsearch)算法,以路径分支点为节点,确定出至少一条候选路径(每个节点仅遍历一次),从而根据各条候选路径的长度,将最短的候选路径确定为自动驾驶路径。当然,终端还可以通过其他图算法确定出候选路径,本实施例对此不作限定。

在其他可能的实施方式中,终端通过图算法确定出至少一条候选路径后,在地图上显示各条候选路径,并根据用户的选择操作,确定出自动驾驶路径,本实施例对此不作限定。

示意性的,如图9所示,终端确定出自动驾驶路径91。

步骤505,将虚拟载具切换为自动驾驶模式,并控制虚拟载具按照自动驾驶路径行驶至目的地。

为了降低实现自动驾驶的难度和运算量,在一种可能的实施方式中,自动驾驶区域内预先设置有路点,相应的,终端即根据自动驾驶路径上的路点,控制虚拟载具自动行驶至目的地。

可选的,本步骤包括如下子步骤。

一、确定自动驾驶路径上的至少两个路点,路点预先设置在自动驾驶区域中。

示意性的,如图9所示,虚拟环境中的预设道路(自动驾驶区域)上设置有若干路点92,且自动驾驶路径91上的路点包括:k、g、d、e、f。

二、根据至少两个路点的路点顺序,控制虚拟载具行驶至目的地。

路点顺序指自动驾驶路径上,由当前地点达到目的地时所经过路点的先后顺序,图9中,该路点顺序即为k→g→d→e→f。

在一种可能的实施方式中,当自动驾驶路径上包括k个路点时,终端根据路点顺序控制虚拟载具行驶至目的地包括如下步骤。

一、控制虚拟载具按照第一行驶方向从当前地点行驶至第1个路点,第一行驶方向由当前地点指向第1个路点。

可选的,若虚拟载具所处的当前地点未设置路点,终端则根据当前起点与自动驾驶路径上的第1个路点确定第一行驶方向,从而控制虚拟载具按照第一行驶方向行驶至第1个路点。

示意性的,如图9所示,由于虚拟载具所处的当前地点未设置路点,因此终端首先控制虚拟道具行驶至路点k(第1个路点)。

当然,若虚拟载具所处的当前地点设置有路点,终端直接执行步骤二。

二、控制虚拟载具按照第二行驶方向从第n个路点行驶至第n 1个路点,第二行驶方向由第n个路点指向第n 1个路点,n为大于等于1且小于等于k-1的整数。

在一种可能的实施方式中,自动驾驶区域上相邻路点之间路径为直线(或者近似直线),且不包含障碍物,因此当虚拟载具行驶至第n个路点时,终端即根据第n个路点与第n 1个路点确定第二行驶方向,从而控制虚拟载具按照第二行驶方向行驶至第n 1个路点。通过循环本步骤,虚拟载具行驶至第k个路点(即自动驾驶路径上的最后一个路点)。

示意性的,如图9所示,终端控制虚拟载具依次通过路点k、g、d、e、f。

三、控制虚拟载具按照第三行驶方向从第k个路点行驶至目的地,第三行驶方向由第k个路点指向目的地。

可选的,若目的地处未设置路点,终端则根据第k个路点与目的地确定第三行驶方向,从而控制虚拟载具按照第三行驶方向行驶至目的地。

示意性的,如图9所示,由于目的地位于路点f和i之间(未设置路点),因此终端根据路点f指向目的地的方向,控制虚拟道具自动行驶至目的地。

步骤506,响应于虚拟载具行驶至目的地,将虚拟载具切换为手动驾驶模式,并控制虚拟载具停止行驶。

在一种可能的实施方式中,通过上述步骤控制虚拟载具行驶至目的地后,终端将虚拟载具自动切换为手动驾驶模式,并控制虚拟载具在目的地处停止。

可选的,由于用户标注的标注地点可能与目的地并非完全重合,因此终端将虚拟载具切换至手动驾驶模式后,可以自动在地图上显示标注地点,以便用户根据该标注地点与目的地之间的相对位置关系,手动控制虚拟载具行驶至标注地点。

可选的,当标注地点与目的地不同时,终端自动控制虚拟载具转向至目的地所在的方位。

本实施例中,当用户手动设置的标注地点位于自动驾驶区域之外时,终端从自动驾驶区域内确定出于标注地点距离最近的目的地,进而根据该目的地与当前地点确定出自动驾驶路径,避免虚拟载具自动行驶至非自动驾驶区域造成的驾驶异常。

另外,本实施例中,通过在自动驾驶区域上设置路点,从而在确定出自动驾驶路径后,根据自动驾驶路径上的路点,确定出虚拟载具的行驶方向,进而根据该行驶方向控制虚拟载具自动行驶,在实现自动驾驶的同时,降低实现自动驾驶时的难度和运算量。

同时,本实施例中,通过为自动驾驶区域设置碰撞检测盒,从而利用该碰撞检测盒确定虚拟载具是否位于自动驾驶区域内,有助于简化虚拟载具所处位置的确定流程。

在一种可能的实施方式中,手动驾驶模式下,用户界面中显示有驾驶控件,且驾驶控件处于可点击状态,为了避免自动驾驶过程中因用户误触驾驶控件导致退出自动驾驶模式,自动驾驶模式下,终端将用户界面中的驾驶控件设置为不可点击状态,或者,取消显示驾驶控件。

相应的,当虚拟载具行驶至目的地时,终端将驾驶控件设置为可点击状态,或者,恢复显示驾驶控件,以便用户继续手动控制虚拟载具行驶。

可选的,自动驾驶模式下,为了使用户能够使用虚拟道具对虚拟环境中的其他虚拟对象进行攻击,终端在用户界面显示攻击控件,以便用户通过触发攻击控件进行攻击。

示意性的,如图10所示,自动驾驶模式下终端取消在用户界面1000中显示驾驶控件1004,并在用户界面1000中显示瞄准控件1001和开火控件1002。

若在自动驾驶模式下,将用户界面中的驾驶控件设置为不可点击状态,或者,取消显示驾驶控件,用户将无法在自动驾驶过程中手动控制虚拟载具。在实际情况下,当被虚拟环境中的其他虚拟对象攻击时,用户往往需要改变行驶路线,以避免攻击。因此在一种可能的实施方式中,自动驾驶模式下,用户界面显示有驾驶模式切换控件,当接收到对驾驶模式切换控件的触发操作时,终端将虚拟载具切换为手动驾驶模式,并将驾驶控件设置为可点击状态,或者,恢复显示驾驶控件。

示意性的,如图10所示,自动驾驶模式下,用户界面1000中显示有驾驶模式切换控件1003,当接收到对驾驶模式切换控件1003的点击操作时,终端即控制虚拟载具退出自动驾驶模式,并重新在用户界面1000中显示驾驶控件1004(同时取消显示攻击控件)。

本实施例中,自动驾驶模式下,终端通过将驾驶控件设置为不可点击状态,或者,取消显示驾驶控件,避免因用户误触驾驶控件导致退出自动驾驶模式;同时,终端在用户界面显示驾驶模式切换控件,以便用户通过触发该控件以退出自动驾驶模式。

结合上述各个实施例,在一个示意性的例子中,控制虚拟载具自动驾驶的流程如图11所示。

步骤1101,手动控制虚拟载具。

步骤1102,是否进入自动驾驶区域。若进入自动驾驶区域,则执行步骤1103,若未进入自动驾驶区域,则返回执行步骤1101。

步骤1103,显示可自动驾驶提示信息。

步骤1104,是否接收到对地图的标记操作。若接收到,则执行步骤1105,若未接收到,则返回执行步骤1103。

步骤1105,在地图中显示标记操作对应的目的地。

步骤1106,是否接收到目的地确定操作。若接收到,则执行步骤1107,若未接收到,则返回执行步骤1105。

步骤1107,进入自动驾驶模式。

步骤1108,是否确定出自动驾驶路径。若已确定出,则执行步骤1109,若未确定出,则返回执行步骤1107。

步骤1109,根据自动驾驶路径上的路点控制虚拟载具行驶。

步骤1110,是否达到目的地。若达到,则执行步骤1111,若未达到,则返回执行步骤1109。

步骤1111,控制虚拟载具停止行驶。

图12是本申请一个示例性实施例提供的在虚拟环境中驾驶载具的装置的结构框图,该装置可以设置于图3所示实施环境中的第一终端120或第二终端160或该实施环境中的其它终端,该装置包括:

显示模块1201,用于显示用户界面,所述用户界面中包括行驶画面和地图,所述行驶画面是虚拟对象驾驶虚拟载具在虚拟环境中行驶的画面,且所述虚拟载具处于手动驾驶模式;

接收模块1202,用于响应于所述虚拟载具位于所述虚拟环境中的自动驾驶区域,接收对所述地图的标记操作,所述标记操作指在所述地图中标记出地点的操作;

控制模块1203,用于响应于所述标记操作,将所述虚拟载具切换为自动驾驶模式,并控制所述虚拟载具自动行驶至目的地。

可选的,控制模块1203,用于:

根据所述标记操作指示的标记地点,确定所述目的地,所述目的地位于所述自动驾驶区域;

根据所述虚拟载具所处的当前地点以及所述目的地,确定自动驾驶路径,所述自动驾驶路径位于所述自动驾驶区域;

将所述虚拟载具切换为所述自动驾驶模式,并控制所述虚拟载具按照所述自动驾驶路径行驶至所述目的地。

可选的,控制所述虚拟载具按照所述自动驾驶路径行驶至所述目的地时,控制模块1203,用于:

确定所述自动驾驶路径上的至少两个路点,所述路点预先设置在所述自动驾驶区域中;

根据至少两个所述路点的路点顺序,控制所述虚拟载具行驶至所述目的地。

可选的,自动驾驶路径上包括k个路点,k为大于等于2的整数;

所述根据至少两个所述路点的路点顺序,控制所述虚拟载具行驶至所述目的地时,控制模块1203,用于:

控制所述虚拟载具按照第一行驶方向从所述当前地点行驶至第1个路点,所述第一行驶方向由所述当前地点指向所述第1个路点;

控制所述虚拟载具按照第二行驶方向从第n个路点行驶至第n 1个路点,所述第二行驶方向由所述第n个路点指向所述第n 1个路点,n为大于等于1且小于等于k-1的整数;

控制所述虚拟载具按照第三行驶方向从第k个路点行驶至所述目的地,所述第三行驶方向由所述第k个路点指向所述目的地。

可选的,根据所述标记操作指示的标记地点,确定所述目的地时,控制模块1203,用于:

响应于所述标记操作指示的所述标记地点位于所述自动驾驶区域,将所述标记地点确定为所述目的地;

响应于所述标记操作指示的所述标记地点位于所述自动驾驶区域外,将所述自动驾驶区域内与所述标记地点最近的地点确定为所述目的地,或,显示标记提示信息,所述标记提示信息用于提示在所述自动驾驶区域内设置所述标记地点。

可选的,接收模块1203,用于:

响应于第一碰撞检测盒与第二碰撞检测盒发生碰撞,确定所述虚拟载具位于所述自动驾驶区域,所述第一碰撞检测盒是所述虚拟载具对应的碰撞检测盒,所述第二碰撞检测盒是所述自动驾驶区域对应的碰撞检测盒。

可选的,所述装置还包括:

第一切换模块,用于响应于所述虚拟载具行驶至所述目的地,将所述虚拟载具切换为所述手动驾驶模式,并控制所述虚拟载具停止行驶。

可选的,所述手动驾驶模式下,所述用户界面中显示有驾驶控件,且所述驾驶控件处于可点击状态;

所述装置还包括:

设置模块,用于在所述自动驾驶模式下,将所述用户界面中的驾驶控件设置为不可点击状态,或者,取消显示所述驾驶控件;

响应于所述虚拟载具行驶至所述目的地,将所述驾驶控件设置为可点击状态,或者,恢复显示所述驾驶控件。

可选的,所述装置还包括:

第二切换模块,用于在所述自动驾驶模式下,在所述用户界面显示驾驶模式切换控件;

响应于对所述驾驶模式切换控件的触发操作,将所述虚拟载具切换为所述手动驾驶模式,并将所述驾驶控件设置为可点击状态,或者,恢复显示所述驾驶控件。

可选的,所述自动驾驶区域包括所述虚拟环境中的预设道路。

综上所述,本申请实施例中,当虚拟载具在手动驾驶模式下行驶至虚拟环境中的自动驾驶区域时,若接收到对地图的标记操作,则根据该标记操作将虚拟载具切换为自动驾驶模式,并控制虚拟载具自动行驶至目的地,无需用户手动控制虚拟载具,从而简化了控制虚拟载具行驶的流程,降低了用户控制虚拟载具行驶的操作难度。

本实施例中,当用户手动设置的标注地点位于自动驾驶区域之外时,终端从自动驾驶区域内确定出于标注地点距离最近的目的地,进而根据该目的地与当前地点确定出自动驾驶路径,避免虚拟载具自动行驶至非自动驾驶区域造成的驾驶异常。

另外,本实施例中,通过在自动驾驶区域上设置路点,从而在确定出自动驾驶路径后,根据自动驾驶路径上的路点,确定出虚拟载具的行驶方向,进而根据该行驶方向控制虚拟载具自动行驶,在实现自动驾驶的同时,降低实现自动驾驶时的难度和运算量。

同时,本实施例中,通过为自动驾驶区域设置碰撞检测盒,从而利用该碰撞检测盒确定虚拟载具是否位于自动驾驶区域内,有助于简化虚拟载具所处位置的确定流程。

本实施例中,自动驾驶模式下,终端通过将驾驶控件设置为不可点击状态,或者,取消显示驾驶控件,避免因用户误触驾驶控件导致退出自动驾驶模式;同时,终端在用户界面显示驾驶模式切换控件,以便用户通过触发该控件以退出自动驾驶模式。

请参考图13,其示出了本申请一个示例性实施例提供的终端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从息屏状态切换为亮屏状态。

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

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

本申请还提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得计算机执行上述各个方法实施例提供的在虚拟环境中驾驶载具的方法。

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

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


技术特征:

1.一种在虚拟环境中驾驶载具的方法,其特征在于,所述方法包括:

显示用户界面,所述用户界面中包括行驶画面和地图,所述行驶画面是虚拟对象驾驶虚拟载具在虚拟环境中行驶的画面,且所述虚拟载具处于手动驾驶模式;

响应于所述虚拟载具位于所述虚拟环境中的自动驾驶区域,接收对所述地图的标记操作,所述标记操作指在所述地图中标记出地点的操作;

响应于所述标记操作,将所述虚拟载具切换为自动驾驶模式,并控制所述虚拟载具自动行驶至目的地。

2.根据权利要求1所述的方法,其特征在于,所述响应于所述标记操作,将所述虚拟载具切换为自动驾驶模式,并控制所述虚拟载具自动行驶至目的地,包括:

根据所述标记操作指示的标记地点,确定所述目的地,所述目的地位于所述自动驾驶区域;

根据所述虚拟载具所处的当前地点以及所述目的地,确定自动驾驶路径,所述自动驾驶路径位于所述自动驾驶区域;

将所述虚拟载具切换为所述自动驾驶模式,并控制所述虚拟载具按照所述自动驾驶路径行驶至所述目的地。

3.根据权利要求2所述的方法,其特征在于,所述控制所述虚拟载具按照所述自动驾驶路径行驶至所述目的地,包括:

确定所述自动驾驶路径上的至少两个路点,所述路点预先设置在所述自动驾驶区域中;

根据至少两个所述路点的路点顺序,控制所述虚拟载具行驶至所述目的地。

4.根据权利要求3所述的方法,其特征在于,所述自动驾驶路径上包括k个路点,k为大于等于2的整数;

所述根据至少两个所述路点的路点顺序,控制所述虚拟载具行驶至所述目的地,包括:

控制所述虚拟载具按照第一行驶方向从所述当前地点行驶至第1个路点,所述第一行驶方向由所述当前地点指向所述第1个路点;

控制所述虚拟载具按照第二行驶方向从第n个路点行驶至第n 1个路点,所述第二行驶方向由所述第n个路点指向所述第n 1个路点,n为大于等于1且小于等于k-1的整数;

控制所述虚拟载具按照第三行驶方向从第k个路点行驶至所述目的地,所述第三行驶方向由所述第k个路点指向所述目的地。

5.根据权利要求2所述的方法,其特征在于,所述根据所述标记操作指示的标记地点,确定所述目的地,包括:

响应于所述标记操作指示的所述标记地点位于所述自动驾驶区域,将所述标记地点确定为所述目的地;

响应于所述标记操作指示的所述标记地点位于所述自动驾驶区域外,将所述自动驾驶区域内与所述标记地点最近的地点确定为所述目的地,或,显示标记提示信息,所述标记提示信息用于提示在所述自动驾驶区域内设置所述标记地点。

6.根据权利要求1至5任一所述的方法,其特征在于,所述响应于所述虚拟载具位于所述虚拟环境中的自动驾驶区域,包括:

响应于第一碰撞检测盒与第二碰撞检测盒发生碰撞,确定所述虚拟载具位于所述自动驾驶区域,所述第一碰撞检测盒是所述虚拟载具对应的碰撞检测盒,所述第二碰撞检测盒是所述自动驾驶区域对应的碰撞检测盒。

7.根据权利要求1至5任一所述的方法,其特征在于,所述响应于所述标记操作,将所述虚拟载具切换为自动驾驶模式,并控制所述虚拟载具自动行驶至目的地之后,所述方法还包括:

响应于所述虚拟载具行驶至所述目的地,将所述虚拟载具切换为所述手动驾驶模式,并控制所述虚拟载具停止行驶。

8.根据权利要求1至5任一所述的方法,其特征在于,所述手动驾驶模式下,所述用户界面中显示有驾驶控件,且所述驾驶控件处于可点击状态;

所述方法还包括:

所述自动驾驶模式下,将所述用户界面中的驾驶控件设置为不可点击状态,或者,取消显示所述驾驶控件;

响应于所述虚拟载具行驶至所述目的地,将所述驾驶控件设置为可点击状态,或者,恢复显示所述驾驶控件。

9.根据权利要求8所述的方法,其特征在于,所述方法还包括:

所述自动驾驶模式下,在所述用户界面显示驾驶模式切换控件;

响应于对所述驾驶模式切换控件的触发操作,将所述虚拟载具切换为所述手动驾驶模式,并将所述驾驶控件设置为可点击状态,或者,恢复显示所述驾驶控件。

10.根据权利要求1至5任一所述的方法,其特征在于,所述自动驾驶区域包括所述虚拟环境中的预设道路。

11.一种在虚拟环境中驾驶载具的装置,其特征在于,所述装置包括:

显示模块,用于显示用户界面,所述用户界面中包括行驶画面和地图,所述行驶画面是虚拟对象驾驶虚拟载具在虚拟环境中行驶的画面,且所述虚拟载具处于手动驾驶模式;

接收模块,用于响应于所述虚拟载具位于所述虚拟环境中的自动驾驶区域,接收对所述地图的标记操作,所述标记操作指在所述地图中标记出地点的操作;

控制模块,用于响应于所述标记操作,将所述虚拟载具切换为自动驾驶模式,并控制所述虚拟载具自动行驶至目的地。

12.一种终端,其特征在于,所述终端包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一项所述的在虚拟环境中驾驶载具的方法。

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

技术总结
本申请公开了一种在虚拟环境中驾驶载具的方法、装置、终端及存储介质,涉及计算机领域。该方法包括:显示用户界面,用户界面中包括行驶画面和地图,行驶画面是虚拟对象驾驶虚拟载具在虚拟环境中行驶的画面,且虚拟载具处于手动驾驶模式;响应于虚拟载具位于虚拟环境中的自动驾驶区域,接收对地图的标记操作,标记操作指在地图中标记出地点的操作;响应于标记操作,将虚拟载具切换为自动驾驶模式,并控制虚拟载具自动行驶至目的地。本申请实施例中,终端可以控制虚拟载具自动行驶至目的地,无需用户手动控制虚拟载具,从而简化了控制虚拟载具行驶的流程,降低了用户控制虚拟载具行驶的操作难度。

技术研发人员:刘智洪
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2020.02.04
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-55694.html

最新回复(0)