虚拟环境的画面显示方法、装置、设备及介质与流程

文档序号:21691481发布日期:2020-07-31 22:09阅读:226来源:国知局
虚拟环境的画面显示方法、装置、设备及介质与流程

本申请实施例涉及虚拟环境领域,特别涉及一种虚拟环境的画面显示方法、装置、设备及介质。



背景技术:

对战游戏是多个用户账号在同一场景内进行竞技的游戏。可选地,对战游戏可以是多人在线战术竞技游戏(multiplayeronlinebattlearenagames,moba)。

在一种典型的moba游戏中,客户端上显示的虚拟环境画面是以主控虚拟角色为观察中心,对虚拟环境进行观察得到的画面。用户可以控制主控虚拟角色向指定方向释放技能,来攻击指定方向上的敌方虚拟角色。当用户控制主控虚拟角色朝指定方向进行瞄准时,在虚拟环境画面上会显示方向型技能指示器,方向型技能指示器用于向用户展示技能释放后的作用范围,若敌方虚拟角色位于方向型技能指示器所指示的作用范围内,此时用户控制主控虚拟角色释放技能,主控虚拟角色就可以攻击到敌方虚拟角色。

当主控虚拟角色的技能作用距离很长,超出了虚拟环境画面的范围时,在虚拟环境画面上无法显示出完整的方向型技能指示器,用户无法获知技能的实际作用范围,只能凭感觉进行瞄准,影响用户的判断。



技术实现要素:

本申请实施例提供了一种虚拟环境的画面显示方法、装置、设备及介质,可以以更完整的方式显示方向型技能指示器。所述技术方案如下:

一方面,提供了一种虚拟环境的画面显示方法,所述方法包括:

显示第一虚拟环境画面,所述第一虚拟环境画面是以第一观察位置为观察中心对所述虚拟环境进行观察得到的画面,所述第一虚拟环境画面包括位于所述虚拟环境中的主控虚拟角色;

响应于接收到第一指向操作生成的第一指向指令,显示指向第一方向的方向型技能指示器,所述方向型技能指示器是以所述主控虚拟角色所在的位置为起点指向所述第一方向的指向标志;

显示第二虚拟环境画面,所述第二虚拟环境画面是以第二观察位置为观察中心对所述虚拟环境进行观察得到的画面,所述第二虚拟环境画面包括所述方向型技能指示器,所述第二观察位置位于所述第一观察位置的所述第一方向上,或者位于所述第一方向的周侧区域上。

另一方面,提供了一种虚拟环境的画面显示装置,所述装置包括:

显示模块,用于显示第一虚拟环境画面,所述第一虚拟环境画面是以第一观察位置为观察中心对所述虚拟环境进行观察得到的画面,所述第一虚拟环境画面包括位于所述虚拟环境中的主控虚拟角色;

交互模块,用于接收第一指向操作生成第一指向指令;

所述显示模块,还用于响应于接收到第一指向操作生成的第一指向指令,显示指向第一方向的方向型技能指示器,所述方向型技能指示器是以所述主控虚拟角色所在的位置为起点指向所述第一方向的指向标志;

所述显示模块,还用于显示第二虚拟环境画面,所述第二虚拟环境画面是以第二观察位置为观察中心对所述虚拟环境进行观察得到的画面,所述第二虚拟环境画面包括所述方向型技能指示器,所述第二观察位置位于所述第一观察位置的所述第一方向上,或者位于所述第一方向的周侧区域上。

另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的虚拟环境的画面显示方法。

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

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

通过当用户使用技能控件控制方向型技能指示器指向某个方向时,控制观察中心向方向型技能指示器所指的方向移动,使虚拟环境画面不再以主控虚拟角色为观察中心,从而使虚拟环境画面可以以更完整的方式显示方向型技能指示器,避免方向型技能指示器过长而被遮挡,用户无法进行瞄准,降低人机交互效率。使用户可以更好地根据虚拟环境画面上显示的方向型技能指示器判断技能释放后的作用范围,从而减少用户通过主观臆测的方式释放技能,提高用户释放技能的准确度,提高用户使用方向型技能指示器进行瞄准的人机交互效率。

附图说明

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

图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是本申请另一个示例性实施例提供的虚拟环境的画面显示方法的方法流程图;

图27是本申请另一个示例性实施例提供的虚拟环境的画面显示方法的方法流程图;

图28是本申请另一个示例性实施例提供的虚拟环境的画面显示方法的虚拟环境的示意图;

图29是本申请另一个示例性实施例提供的虚拟环境的画面显示方法的方法流程图;

图30是本申请另一个示例性实施例提供的虚拟环境的画面显示方法的方法流程图;

图31是本申请另一个示例性实施例提供的虚拟环境的画面显示方法的算法的结构图;

图32是本申请另一个示例性实施例提供的虚拟环境的画面显示方法的方法流程图;

图33是本申请另一个示例性实施例提供的虚拟环境的画面显示装置的装置框图;

图34是本申请另一个示例性实施例提供的终端的框图。

具体实施方式

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

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

虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真世界,也可以是半仿真半虚构的三维世界,还可以是纯虚构的三维世界。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种。可选地,该虚拟环境还用于至少两个虚拟角色之间的虚拟环境对战,在该虚拟环境中具有可供至少两个虚拟角色使用的虚拟资源。可选地,该虚拟环境包括对称的左下角区域和右上角区域,属于两个敌对阵营的虚拟角色分别占据其中一个区域,并以摧毁对方区域深处的目标建筑/据点/基地/水晶来作为胜利目标。

虚拟角色:是指在虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物中的至少一种。可选地,当虚拟环境为三维虚拟环境时,虚拟角色可以是三维虚拟模型,每个虚拟角色在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。可选地,虚拟角色是基于三维人体骨骼技术构建的三维角色,该虚拟角色通过穿戴不同的皮肤来实现不同的外在形象。在一些实现方式中,虚拟角色也可以采用2.5维或2维模型来实现,本申请实施例对此不加以限定。

多人在线战术竞技是指:在虚拟环境中,分属至少两个敌对阵营的不同虚拟队伍分别占据各自的地图区域,以某一种胜利条件作为目标进行竞技。该胜利条件包括但不限于:占领据点或摧毁敌对阵营据点、击杀敌对阵营的虚拟角色、在指定场景和时间内保证自身的存活、抢夺到某种资源、在指定时间内比分超过对方中的至少一种。战术竞技可以以局为单位来进行,每局战术竞技的地图可以相同,也可以不同。每个虚拟队伍包括一个或多个虚拟角色,比如1个、2个、3个或5个。

moba游戏:是一种在虚拟环境中提供若干个据点,处于不同阵营的用户控制虚拟角色在虚拟环境中对战,占领据点或摧毁敌对阵营据点的游戏。例如,moba游戏可将用户分成两个敌对阵营,将用户控制的虚拟角色分散在虚拟环境中互相竞争,以摧毁或占领敌方的全部据点作为胜利条件。moba游戏以局为单位,一局moba游戏的持续时间是从游戏开始的时刻至达成胜利条件的时刻。

用户界面ui(userinterface)控件,在应用程序的用户界面上能够看见的任何可视控件或元素,比如,图片、输入框、文本框、按钮、标签等控件,其中一些ui控件响应用户的操作,比如,技能控件,控制主控虚拟角色释放技能。用户触发技能控件,控制主控虚拟角色释放技能。本申请实施例中涉及的ui控件,包括但不限于:技能控件、移动控件。

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

第一终端110安装和运行有支持虚拟环境的客户端111,该客户端111可以是多人在线对战程序。当第一终端运行客户端111时,第一终端110的屏幕上显示客户端111的用户界面。该客户端可以是军事仿真程序、大逃杀射击游戏、虚拟现实(virtualreality,vr)应用程序、增强现实(augmentedreality,ar)程序、三维地图程序、虚拟现实游戏、增强现实游戏、第一人称射击游戏(first-personshootinggame,fps)、第三人称射击游戏(third-personalshootinggame,tps)、多人在线战术竞技游戏(multiplayeronlinebattlearenagames,moba)、策略游戏(simulationgame,slg)中的任意一种。在本实施例中,以该客户端是moba游戏来举例说明。第一终端110是第一用户112使用的终端,第一用户112使用第一终端110控制位于虚拟环境中的第一虚拟角色进行活动,第一虚拟角色可以称为第一用户112的主控虚拟角色。第一虚拟角色的活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第一虚拟角色是第一虚拟人物,比如仿真人物角色或动漫人物角色。

第二终端130安装和运行有支持虚拟环境的客户端131,该客户端131可以是多人在线对战程序。当第二终端130运行客户端131时,第二终端130的屏幕上显示客户端131的用户界面。该客户端可以是军事仿真程序、大逃杀射击游戏、vr应用程序、ar程序、三维地图程序、虚拟现实游戏、增强现实游戏、fps、tps、moba、slg中的任意一种,在本实施例中,以该客户端是moba游戏来举例说明。第二终端130是第二用户113使用的终端,第二用户113使用第二终端130控制位于虚拟环境中的第二虚拟角色进行活动,第二虚拟角色可以称为第二用户113的主控虚拟角色。示意性的,第二虚拟角色是第二虚拟人物,比如仿真人物角色或动漫人物角色。

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

可选地,第一终端110和第二终端130上安装的客户端是相同的,或两个终端上安装的客户端是不同操作系统平台(安卓或ios)上的同一类型客户端。第一终端110可以泛指多个终端中的一个,第二终端130可以泛指多个终端中的另一个,本实施例仅以第一终端110和第二终端130来举例说明。第一终端110和第二终端130的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、mp3播放器、mp4播放器、膝上型便携计算机和台式计算机中的至少一种。

图1中仅示出了两个终端,但在不同实施例中存在多个其它终端140可以接入服务器120。可选地,还存在一个或多个终端140是开发者对应的终端,在终端140上安装有支持虚拟环境的客户端的开发和编辑平台,开发者可在终端140上对客户端进行编辑和更新,并将更新后的客户端安装包通过有线或无线网络传输至服务器120,第一终端110和第二终端130可从服务器120下载客户端安装包实现对客户端的更新。

第一终端110、第二终端130以及其它终端140通过无线网络或有线网络与服务器120相连。

服务器120包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器120用于为支持三维虚拟环境的客户端提供后台服务。可选地,服务器120承担主要计算工作,终端承担次要计算工作;或者,服务器120承担次要计算工作,终端承担主要计算工作;或者,服务器120和终端之间采用分布式计算架构进行协同计算。

在一个示意性的例子中,服务器120包括处理器122、用户账号数据库123、对战服务模块124、面向用户的输入/输出接口(input/outputinterface,i/o接口)125。其中,处理器122用于加载服务器121中存储的指令,处理用户账号数据库123和对战服务模块124中的数据;用户账号数据库123用于存储第一终端110、第二终端130以及其它终端140所使用的用户账号的数据,比如用户账号的头像、用户账号的昵称、用户账号的战斗力指数,用户账号所在的服务区;对战服务模块124用于提供多个对战房间供用户进行对战,比如1v1对战、3v3对战、5v5对战等;面向用户的i/o接口125用于通过无线网络或有线网络和第一终端110和/或第二终端130建立通信交换数据。

结合上述对虚拟环境的介绍以及实施环境说明,对本申请实施例提供的虚拟环境的画面显示方法进行说明,以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明。该终端运行有应用程序,该应用程序是支持虚拟环境的程序。

示例性的,以本申请提供的虚拟环境的画面显示方法应用在moba游戏中为例。

在moba游戏中,用户可以通过控制技能控件来控制主控虚拟角色释放技能。其中,有一种技能释放方式为:用户按住技能控件来唤出技能控件的轮盘式虚拟摇杆,用户滑动轮盘式虚拟摇杆来瞄准技能释放方向(瞄准方向),用户松开轮盘式虚拟摇杆来控制主控虚拟角色向技能释放方向释放技能。当用户唤出技能控件的轮盘式虚拟摇杆时,在虚拟环境画面中,会显示一个方向型技能指示器,方向型技能指示器是以主控虚拟角色所在的位置为起点指向瞄准方向的箭头式控件,箭头的长度根据技能可以释放的距离来确定。方向型技能指示器用于向用户展示技能释放后的作用范围。

示例性的,若技能可以释放的距离过长,在以主控虚拟角色所在位置为摄像机模型的观察中心所获取的虚拟环境画面中,无法显示出完整的方向型技能指示器,用户就无法通过观察方向型技能指示器来获知技能的作用范围。

因此,本申请给出一种虚拟环境的画面显示方法,当方向型技能指示器超出虚拟环境画面时,控制摄像机模型向瞄准方向偏移,使用户可以看到完整的方向型技能指示器。示例性的,本申请提供了两种摄像机模型偏移方法:顶框偏移和直接偏移。

顶框偏移:在虚拟环境中划定了一个视野判定框。视野判定框的形状根据终端显示屏的形状(以及其他因素)确定,视野判定框的中心是摄像机模型在虚拟环境中瞄准的位置。以终端的屏幕为矩形为例,以摄像机模型在虚拟环境中瞄准的位置为视野判定框中心,以屏幕的长宽确定视野判定框的长宽,其中,视野判定框的大小略小于屏幕,视野判定框的长边垂直于摄像机模型的观察方向,短边平行于摄像机模型的观察方向;或,视野判定框的短边垂直于摄像机模型的观察方向,长边平行于摄像机模型的观察方向。示例性的,视野判定框随着摄像机模型在虚拟环境中的移动而移动。示例性的,当摄像机模型不发生偏移时,视野判定框的中心位于主控虚拟角色所在的位置。

当用户控制技能控件使方向型技能指示器的末端超出视野判定框时,客户端控制摄像机模型向方向型技能指示器的瞄准方向移动直至方向型技能指示器的边缘包含在视野判定框内。示例性的,客户端将方向型技能指示器上的任意一点(通常为末端)确定为偏移计算点,当偏移计算点超出了视野判定框时,客户端计算偏移计算点到视野判定框的上下边框或左右边框的垂直偏移距离,根据偏移计算点在至少一个方向以及至多两个方向上的垂直偏移距离,确定摄像机模型的偏移量,根据偏移量控制摄像机模型偏移,使方向型技能指示器的末端包含在视野判定框内。

当摄像机模型发生偏移,方向型技能指示器的末端顶在视野判定框的边框上,此时,若用户控制方向型技能指示器向其他方向移动,使方向型技能指示器的末端位于视野判定框内,但不再顶在视野判定框的边框上时,则客户端控制摄像机模型向默认位置(以主控虚拟角色为观察中心的位置)移动,使指示器的末端重新顶在视野判定框的边框上,直至摄像机模型回到默认位置。

示例性的,利用顶框偏移的方式控制摄像机模型偏移,摄像机模型有最大偏移距离,即,若根据偏移计算点和视野判定框计算出的垂直偏移距离超过最大偏移距离时,不会按照垂直偏移距离确定摄像机模型的偏移量,而是根据最大偏移距离来确定摄像机模型的偏移量,从而防止偏移过大给用户带来眩晕感。

直接偏移:是根据方向型技能指示器与水平方向所成的夹角α来确定摄像机模型的偏移量的。示例性的,开发者会为每个利用直接偏移方式进行偏移的技能设置上偏移距离、下偏移距离、左偏移距离、右偏移距离。上偏移距离、下偏移距离、左偏移距离、右偏移距离是给定的默认值。当用户控制方向型技能指示器瞄准某一方向后,客户端获取方向型技能指示器和水平方向的夹角α,并判断方向型技能指示器瞄准的方向,若方向型技能指示器瞄准的为右上方,则摄像机模型向右的偏移量=cosα*右偏移距离,摄像机模型向上的偏移量=sinα*上偏移距离,然后根据摄像机模型的偏移量控制摄像机模型发生偏移。

示例性的,客户端可以利用上述两种方式中的任意一种方式控制摄像机模型发生偏移,从而使方向型技能指示器能在虚拟环境画面上更好地显示。

示例性的,客户端控制摄像机模型进行偏移的移动方式可以是任意的。例如,客户端可以控制摄像机模型匀速向偏移终点移动,也可以控制摄像机模型向偏移终点做差值运动或平滑阻尼运动。示例性的,摄像机模型从偏移位置回到默认位置的方式也可以是:匀速运动、差值运动、平滑阻尼运动中的任意一种。

示例性的,对于同一个主控虚拟角色的不同技能也可以使用不同的摄像机模型偏移方式和移动方式。

图2示出了本申请一个示例性实施例提供的虚拟环境的画面显示方法的流程图。该方法可以由上述图1中的任一终端上运行的客户端来执行,该客户端是支持虚拟环境的客户端。该方法包括:

步骤201,显示第一虚拟环境画面,第一虚拟环境画面是以第一观察位置为观察中心对虚拟环境进行观察得到的画面,第一虚拟环境画面包括位于虚拟环境中的主控虚拟角色。

示例性的,虚拟环境画面是对三维虚拟环境进行画面捕捉得到的显示在客户端上的二维画面。示例性的,虚拟环境画面的形状根据终端的显示屏的形状来确定,或,根据客户端的用户界面的形状确定。以终端的显示屏是矩形为例,虚拟环境画面也显示为矩形画面。

第一虚拟环境画面是以虚拟环境中的第一观察位置为观察中心得到的虚拟环境画面。观察中心是虚拟环境画面的中心。观察中心在虚拟环境中对应有观察位置。以虚拟环境画面是矩形画面为例,在虚拟画面中矩形对角线的交点即为观察中心,假设在虚拟环境画面中主控虚拟角色位于观察中心,则主控虚拟角色在虚拟环境中所处的位置即为观察位置。观察位置是虚拟环境中的坐标位置。当虚拟环境是三维虚拟环境时,观察位置是三维坐标。示例性的,若虚拟环境中的地面是水平面,则观察位置的高度坐标为0,则可以将观察位置近似的表示为水平面上的二维坐标。

以不同的观察位置为观察中心可以从虚拟环境中获取到不同的虚拟环境画面。第一虚拟环境画面是以第一观察位置为观察中心获取到的虚拟环境画面。第二虚拟环境画面是以第二观察位置为观察中心获取到的虚拟环境画面。

主控虚拟角色是由客户端控制的虚拟角色。客户端根据接收到的用户操作控制主控虚拟角色在虚拟环境中活动。示例性的,主控虚拟角色在虚拟环境中的活动包括:行走、跑动、跳跃、攀爬、趴下、攻击、释放技能、捡拾道具、发送消息。

技能是由虚拟角色使用或释放、对虚拟角色(包括其他虚拟角色和自身)进行攻击、产生减益效果或产生增益效果的一种能力。技能包括主动技能、被动技能,主动技能是由虚拟角色主动使用、释放的技能,被动技能是当满足被动条件时自动触发的技能。示例性的,本实施例中所提到的技能是由用户控制主控虚拟角色主动使用、释放的主动技能。

示例性的,主控虚拟角色在虚拟环境中所处的位置可以是第一观察位置也可以是虚拟环境中的其他位置。示例性的,在本实施例提供的一种虚拟环境画面的显示方法中,虚拟环境画面被设置为在默认情况下始终以主控虚拟角色为观察中心,默认情况是指用户不主动进行视角上的移动或切换行为,例如,视角上的移动或切换行为包括:拖动地图查看周围地形、按住小地图查看指定位置地形、主控虚拟角色死亡后以其他虚拟角色为观察中心观察虚拟环境、用户控制主控虚拟角色向当前视线范围之外的区域释放技能中的至少一种行为。示例性的,若第一虚拟环境画面是默认情况下获取到的虚拟环境画面,则主控虚拟角色位于第一观察位置上;若第一虚拟环境画面是用户已经主动进行了视角上的移动,则主控虚拟角色可能不位于第一观察位置上,甚至第一虚拟环境画面中可能没有主控虚拟角色。

示例性的,如图3所示,给出一种在客户端上显示的第一用户界面,第一用户界面包括第一虚拟环境画面301,第一虚拟环境画面301上有主控虚拟角色302,第一虚拟环境画面301呈矩形,在矩形对角线的交点上有观察中心303,观察中心303在虚拟环境中对应了第一观察位置,主控虚拟角色302位于第一观察位置。示例性的,在第一虚拟环境画面上还可能会显示ui控件,例如:移动控件304、技能控件305、攻击控件306,移动控件304用于控制主控虚拟角色移动,技能控件305用于控制主控虚拟角色释放技能,攻击控件306用于控制主控虚拟角色发动攻击。示例性的,ui控件会遮挡部分第一虚拟环境画面301。

步骤202,响应于接收到第一指向操作生成的第一指向指令,显示指向第一方向的方向型技能指示器,方向型技能指示器是以主控虚拟角色所在的位置为起点指向第一方向的指向标志。

第一指向操作是客户端接收到的用户操作,客户端根据接收到的用户操作生成了第一指向指令,根据第一指向指令显示方向型技能指示器。示例性的,用户操作可以是对ui控件的操作、语音操作、动作操作、文字操作、鼠标操作、键盘操作、游戏摇杆操作。例如,客户端通过识别用户的语音指令来生成第一指向指令,通过识别用户的动作来生成第一指向指令,通过识别用户输入的文字来生成第一指向指令等等。示例性的,第一指向操作是用户在技能控件上的操作。

示例性的,技能控件是一种轮盘式虚拟摇杆控件。如图4所示,在第一用户界面上显示有圆形的技能控件305,用户通过按住技能控件305可以唤出技能控件的轮盘式虚拟摇杆307,轮盘式虚拟摇杆由大圆308(轮盘部)和小圆309(遥感部)组成,大圆308是轮盘式虚拟摇杆的可操作范围,小圆309是用户手指当前按住的位置,用户可以在大圆308的范围内任意滑动小圆309。示例性的,该轮盘式虚拟摇杆是方向型摇杆,轮盘式虚拟摇杆根据小圆309偏移虚拟摇杆中心点310的方向,确定用户操作的方向,根据该方向控制主控虚拟角色在虚拟环境中朝相同的方向释放技能。示例性的,用户通过操作技能控件释放技能的操作是:按住技能控件唤出轮盘式虚拟摇杆,滑动轮盘式虚拟摇杆到目标方向,松开轮盘式虚拟摇杆释放技能。

第一指向指令中包括第一方向。示例性的,用户通过将技能控件移动至第一方向,控制方向型技能指示器指向第一方向。

方向型技能指示器是方向型技能对应的技能指示器。方向型技能是根据用户瞄准的方向释放的技能。方向型技能指示器是显示在虚拟环境中的一种指向性的辅助标志。方向型技能指示器用于向用户展示,当前用户操作在虚拟环境中对应的技能释放方向,便于用户进行瞄准。示例性的,方向型技能指示器是以主控虚拟角色为起点,显示在虚拟环境的地面上的指向标志。方向型技能指示器所指的方向与用户操作技能控件指向的方向相同。即,在虚拟环境中的方向型技能指示器与当前用户控制轮盘式虚拟摇杆指向的方向一致,示例性的,由于虚拟环境画面是虚拟环境的投影画面,在虚拟环境画面上显示出的方向型技能指示器所指的方向与轮盘式虚拟摇杆的方向可能一致也可能有些许偏差。

示例性的,方向型技能指示器不仅用于指示方向,还可以指示技能释放后的作用范围,如,方向型技能指示器的宽度和长度根据技能释放的宽度和最远距离来确定。

示例性的,根据方向型技能的不同,方向型技能指示器的样式也不同。如图5所示,给出了三种不同的方向型技能分别对应的三种方向型技能指示器,三种方向型技能指示器所指的方向都是斜向上45°。图5的(1)对应的技能为技能一,技能一是具有最远作用距离且向用户瞄准的方向释放的技能。技能一的最远作用距离是圆311的半径,圆311的圆心是主控虚拟角色所在位置,方向型技能指示器从原311的圆心指向圆311边线上的任意一点。用户控制主控虚拟角色释放技能时,客户端根据用户当前瞄准的方向控制主控虚拟角色释放技能,技能的作用宽度可以参照方向型技能指示器的宽度。若作用目标位于技能一的释放范围内,则作用目标会受到技能一的作用。图5的(2)对应的技能为技能二,技能二是具有最远作用距离且以用户瞄准方向作参考自动锁定作用目标的技能。例如,如图5的(2)所示,用户当前的瞄准方向是斜向上45°,方向型技能指示器会显示出以该方向为中线的一个扇形范围312,若用户在当前的瞄准方向释放技能,则客户端会自动锁定处于扇形范围312内的作用目标,对作用目标使用技能二。示例性的,技能二可以像技能一一样具有最远作用距离,也可以像技能三一样不具有最远作用距离。图5的(3)对应的技能为技能三,技能三是不具有最远作用距离且向用户瞄准的方向释放的技能。即,技能三是可以全地图释放的技能,主控虚拟角色释放技能后,该技能从主控虚拟角色所在位置开始沿瞄准方向射出直至飞出虚拟环境。示例性的,如图6所示,从左上角的小地图321上可以看出,当前在虚拟环境画面中显示的虚拟环境的范围是小地图中矩形框322所标出的范围,虚拟环境画面上只能显示出技能三对应的一部分方向型技能指示器313,从小地图中可以看到完整的方向型技能指示器313,该方向型技能指示器313从主控虚拟角色所在位置指向小地图的边缘。

示例性的,技能的作用目标包括虚拟环境中任意的三维模型。例如,由其他客户端控制的虚拟角色(队友或对手)、由客户端或服务器控制的虚拟角色(野怪、动物、植物等)、建筑物(防御塔、基地、水晶等)、虚拟载具(汽车、飞机、摩托等)。示例性的,主控虚拟角色释放技能的效果也可以是放置虚拟道具,例如,扔出陷阱、地雷、视野探测器等。

示例性的,如图7所示,给出一种用户界面中显示的方向型技能指示器。在用户界面的虚拟环境画面上显示有方向型技能指示器313,方向型技能指示器313是以主控虚拟角色302所在的位置为起点,指向技能控件305当前瞄准的第一方向315的一个有向箭头。示例性的,方向型技能指示器313所指方向与技能控件305所指方向相同。示例性的,方向型技能指示器313的末端位于圆314上,圆314的半径是技能的最远作用距离。

示例性的,若方向型技能指示器313指向的第一方向是如图8所示的斜向上的方向,则以第一位置为观察中心得到的虚拟画面中可以看到完整的方向型技能指示器313,用户可以根据方向型技能指示器313所显示的范围确定技能释放后的效果。但若方向型技能指示器指向的第一方向是如图9所示的斜向下的方向,则以第一位置为观察中心得到的虚拟环境画面中无法看到完整的方向型技能指示器313,用户无法根据方向型技能指示器所显示的范围来确定技能释放后的效果,假设方向型技能指示器313的末端有敌方虚拟角色,用户无法看到敌方虚拟角色,就无法进行准确的瞄准并释放技能,只能凭借感觉随意释放技能。因此,通过步骤203,将虚拟环境画面的观察中心延第一方向移动一段距离,使虚拟环境画面上可以显示更完整的方向型技能指示器。

步骤203,显示第二虚拟环境画面,第二虚拟环境画面是以第二观察位置为观察中心对虚拟环境进行观察得到的画面,第二虚拟环境画面包括方向型技能指示器,第二观察位置位于第一观察位置的第一方向上,或者位于第一方向的周侧区域上。

第二观察位置是第二虚拟环境画面的中心点(观察中心)在虚拟环境中对应的位置。示例性的,第二观察位置是从第一观察位置沿第一方向移动一段距离后的位置。示例性的,第二观察位置也可以是沿第一方向的周侧方向移动的,例如,第一方向是45°,第二观察位置从第一观察位置沿50°方向移动的。即,第二观察位置位于第一观察位置的第一方向上,或,位于第一观察位置在第一方向上的周侧区域上。假设以第一观察位置为起点指向第一方向的射线是第一射线,则第二观察位置位于第二射线上,或第二观察位置到第一射线的距离小于阈值。第一方向的周侧区域即为到第一射线的距离小于阈值的点的集合。

示例性的,从第一虚拟环境画面到第二虚拟环境画面,主控虚拟角色在虚拟环境中的位置没有发生变化,若主控虚拟角色在第一虚拟环境画面中位于第一观察位置,则若第二虚拟环境画面可以显示出主控虚拟角色,主控虚拟角色所在的位置仍为第一观察位置。

示例性的,第二虚拟环境画面上显示有完整的方向型技能指示器(显示有方向型技能指示器的末端),或,显示有较完整的方向型技能指示器。示例性的,显示有较完整的方向型技能指示器,是与观察中心不发生偏移(仍以第一观察位置为观察中心)的情况作对比,在虚拟环境画面上显示更完整的方向型技能指示器。

示例性的,如图10所示,给出了一种第二虚拟环境画面,第二虚拟环境画面317的观察中心是第二观察位置316。假设在第一虚拟环境画面中主控虚拟角色位于第一观察位置318,则第二观察位置316位于第一观察位置318的第一方向上,方向型技能指示器313也指向第一方向,此时,虚拟环境画面上可以显示出完整的方向型技能指示器313。示例性的,如图9所示,在以第一观察位置为观察中心的虚拟环境画面上,用户无法看到方向型技能指示器313的末端,而在如图10所示以第二观察位置为观察中心的第二虚拟环境画面上,用户可以看到方向型技能指示器313的末端,和位于末端的其他虚拟角色319,用户可以更准确地控制方向型技能指示器313瞄准其他虚拟角色319,进而对其他虚拟角色319释放技能。

综上所述,本实施例提供的方法,通过当用户使用技能控件控制方向型技能指示器指向某个方向时,控制观察中心向方向型技能指示器所指的方向移动,使虚拟环境画面不再以主控虚拟角色为观察中心,从而使虚拟环境画面可以以更完整的方式显示方向型技能指示器,避免方向型技能指示器过长而被遮挡,用户无法进行瞄准,降低人机交互效率。使用户可以更好地根据虚拟环境画面上显示的方向型技能指示器判断技能释放后的作用范围,从而减少用户通过主观臆测的方式释放技能,提高用户释放技能的准确度,提高用户使用方向型技能指示器进行瞄准的人机交互效率。

示例性的,只有当方向型技能指示器的长度超出了当前虚拟环境画面可显示的范围,才会控制观察中心偏移到第二观察位置,进而显示第二虚拟环境画面。示例性的,观察中心的偏移是通过控制摄像机模型的偏移实现的。

图11示出了本申请一个示例性实施例提供的虚拟环境的画面显示方法的流程图。该方法可以由上述图1中的任一终端上运行的客户端来执行,该客户端是支持虚拟环境的客户端。基于如图2所示的示例性实施例,步骤203包括步骤2031。

步骤2031,响应于方向型技能指示器的长度大于距离阈值时,显示第二虚拟环境画面,距离阈值是第一虚拟环境画面中以主控虚拟角色所在的位置为起点在第一方向上的视野阈值。

示例性的,方向型技能指示器具有末端,方向型技能指示器的长度是从起点到末端的距离,即,主控虚拟角色所在位置到末端的距离,即,技能的最远作用距离。示例性的,当技能是全地图释放的技能时,方向型技能指示器不具有末端,则方向型技能指示器的长度是无限长,则方向型技能指示器的长度一定大于距离阈值。示例性的,当技能是全地图释放的技能时,也可以将方向型技能指示器与地图边缘的交点确定为方向型技能指示器的末端。

距离阈值是根据当前虚拟环境画面在第一方向上的视野范围确定的,即,根据第一虚拟环境画面在第一方向上的视野范围确定的。距离阈值用于判断当前虚拟环境画面的视野范围是否足以显示出完整或较完整的方向型技能指示器。示例性的,视野范围是指当前虚拟环境画面中所显示出的虚拟环境的区域范围。或,视野范围是指用户从当前虚拟环境画面中能够看到的虚拟环境的区域范围。示例性的,由于在虚拟环境画面之上往往还会有ui控件,ui控件也会遮挡当前虚拟环境画面的视野范围。因此,距离阈值的确定还可以考虑到在第一方向上的ui控件的遮挡因素。

示例性的,距离阈值是从主控虚拟角色所在位置为起点,沿方向型技能指示器指向的第一方向,到用户能够从虚拟环境画面中看到的最远点为终点的距离。如图8所示,从主控虚拟角色所在的位置为起点,沿第一方向到虚拟环境画面边缘的线段320的长度即为距离阈值。示例性的,如图6所示,若第一方向所在的方向有小地图321遮挡,则用户在第一方向上的视野范围变小,距离阈值会对应的减小。

示例性的,客户端是通过设置在虚拟环境中的摄像机模型拍摄虚拟环境来获取虚拟环境画面的。如图12所示,步骤2031还包括步骤2031-1到步骤2031-3。

步骤2031-1,响应于方向型技能指示器的长度大于距离阈值时,获取摄像机模型的偏移量,偏移量用于确定摄像机模型的移动方向和移动距离。

第一虚拟环境画面和第二虚拟环境画面是通过设置在虚拟环境中的摄像机模型获取到的虚拟环境的画面,观察中心是从摄像机模型所处的位置延观察方向射出的射线与虚拟环境的交点。

摄像机模型是设置在虚拟环境中用于获取虚拟环境画面的模型。示例性的,摄像机模型在默认情况下有不同的设置方式,例如,将摄像机模型的位置绑定在主控虚拟角色的三维模型上(头部、眼部),随着主控虚拟角色头部、眼部的转动来转动摄像机模型的拍摄方向(观察方向)、随着主控虚拟角色位置的移动来移动摄像机模型的位置,就可以以主控虚拟角色的视角拍摄虚拟环境,得到以主控虚拟角色的第一人称视角的虚拟环境画面。若将摄像机模型的位置绑定在主控虚拟角色身后(背后)固定距离和固定高度的位置,随着主控虚拟角色身体的转动来转动摄像机模型的拍摄方向(观察方向)、随着主控虚拟角色位置的移动来移动摄像机模型的位置,就可以以主控虚拟角色的过肩视角拍摄虚拟环境,得到以主控虚拟角色的过肩视角的虚拟环境画面。若将摄像机模型的位置与主控虚拟角色的相对位置固定,例如,摄像机模型位于主控虚拟角色的正下方(或正南方向)十米远十米高的位置,随着主控虚拟角色位置的移动来移动摄像机模型的位置,但不会随着主控虚拟角色头部或身体的转动改变拍摄方向,就可以以第三人称视角拍摄虚拟环境,得到以主控虚拟角色为观察对象的第三人称视角的虚拟环境画面。示例性的,本实施例的摄像机模型在默认情况下是以主控虚拟角色为观察对象以第三人称视角对虚拟环境进行拍摄的。例如,将摄像机模型设置在主控虚拟角色所在位置的正南方10米远、10米高、以斜向下45°的观察方向拍摄主控虚拟角色。若主控虚拟角色所在位置为(0,0,0),则摄像机模型所在位置为(0,-10,10)。例如,如图13所示,无论主控虚拟角色302移动至虚拟环境中的哪个位置,摄像机模型323与主控虚拟角色302的相对位置都是固定的,且摄像机模型323的拍摄方向不会随着主控虚拟角色302的朝向而改变。摄像机模型323的观察中心是从摄像机模型所处的位置沿观察方向324射出的射线与虚拟环境的交点325,即主控虚拟角色302所在的位置。示例性的,图13是以透视的方式从虚拟环境中截取出的画面,由于两个摄像机模型323距离透视点远近不同,画面中看到的摄像机模型的拍摄方向(观察方向)可能存在些许差异,但实际上摄像机模型在虚拟环境中的拍摄方向(观察方向)是相同的。

示例性的,默认情况下摄像机模型是以主控虚拟角色为观察中心对主控虚拟角色进行跟随拍摄的。但当用户进行视角的移动或转换时,用户也可以手动改变摄像机模型在虚拟环境中的位置,或客户端根据用户的其他操作(例如,释放技能的操作)自动调整摄像机模型的位置,从而使客户端上显示出用户想要的虚拟环境画面。示例性的,改变摄像机模型来获取不同虚拟环境画面的方式可以是:改变摄像机模型的水平坐标、改变摄像机模型的高度、改变摄像机模型的观察方向。改变摄像机模型的水平坐标可以改变摄像机模型的观察位置(虚拟环境画面中的观察中心)从而获得新的虚拟环境画面,水平坐标的改变只会改变观察位置不会改变虚拟环境画面中视野范围的大小。改变摄像机模型的高度不会改变摄像机模型的观察位置(虚拟环境画面中的观察中心)而是改变其视野范围的大小,摄像机模型的高度越高,视野范围越广阔,获得的虚拟环境画面所显示的虚拟环境的范围越大。改变摄像机模型的俯仰角(垂直方向的角度)会同时改变摄像机模型的观察位置和视野范围的大小,改变摄像机模型的偏转角(水平方向的角度)会改变摄像机模型的观察位置,不会改变视野范围的大小。

示例性的,本实施例通过控制摄像机模型在虚拟环境中的水平坐标来获取不同的虚拟环境画面,使虚拟环境画面中显示出更完整的方向型技能指示器。

示例性的,也可以在改变摄像机模型的水平坐标的同时抬高摄像机模型的高度,进一步扩大虚拟环境画面的视野范围。

示例性的,还可以通过改变摄像机模型的焦距、高度、偏转角、俯仰角中的至少一种来使虚拟环境画面中显示更完整的方向型技能指示器。例如,通过摄像机模型的焦距来扩大摄像机模型的视野范围,通过增加摄像机模型的高度来扩大摄像机模型的视野范围,通过控制摄像机模型的俯仰角、偏转角向方向型技能指示器所指的方向偏转来使虚拟环境画面中显示更完整的方向型技能指示器等等。示例性的,客户端可以采取上述所提供的任意一种或多种改变摄像机模型的方式来使虚拟环境画面中显示更完整的方向型技能指示器。

偏移量是摄像机模型移动的距离和方向。偏移量是摄像机模型偏移默认位置的距离和方向,默认位置是默认情况下摄像机模型所处的位置。示例性的,若摄像机模型是绑定以主控虚拟角色为拍摄对象(以主控虚拟角色所处的位置为观察中心)的,则摄像机模型的默认位置根据主控虚拟角色的位置来确定。示例性的,若建立一个平行于水平面的直角坐标系,则偏移量是从默认位置指向偏移后位置的方向向量。例如,摄像机模型从默认位置(0,0)移动到第二摄像机位置(1,1),则偏移量是(1,1)。

步骤2031-2,根据偏移量控制摄像机模型从第一摄像机位置移动至第二摄像机位置,位于第一摄像机位置的摄像机模型的观察中心是第一观察位置,位于第二摄像机位置的摄像机模型的观察中心是第二观察位置。

示例性的,客户端根据偏移量改变摄像机模型在虚拟环境中的水平坐标位置,使摄像机模型从第一摄像机位置移动到第二摄像机位置。示例性的,客户端根据偏移量确定摄像机模型本次偏移的终点位置。示例性的,第一摄像机位置可以是摄像机模型的默认位置,也可以是摄像机模型已经发生过一次偏移的位置。若第一摄像机位置是摄像机模型已经发生过偏移的位置,则摄像机模型偏移到第二摄像机位置的总偏移量,等于摄像机模型从默认位置偏移到第一摄像机位置的第一偏移量,加上从第一摄像机位置偏移到第二摄像机位置的第二偏移量之和。

例如,如图14所示,方向型技能指示器313指向向左的方向,当摄像机模型位于第一摄像机位置326时获取的第一虚拟环境画面的第一视野范围327中无法看到完整的方向型技能指示器313,则控制摄像机模型移动至第二摄像机位置328,在第二摄像机位置328获取的第二虚拟环境画面的第二视野范围329中可以看到完整的方向型技能指示器313。

第一虚拟环境画面是位于第一摄像机位置的摄像机模型获取到的,其观察中心是第一观察位置。第二虚拟环境画面是位于第二摄像机位置的摄像机模型获取到的,其观察中心是第二观察位置。

示例性的,根据偏移量可以确定摄像机模型的偏移终点,然后根据预设的移动方式控制摄像机模型从偏移起点缓慢移动到偏移终点,使客户端上显示出的虚拟环境画面是连续移动的画面,而不是瞬间跳转的画面。如图15所示,步骤2031-2还包括步骤2031-21。

步骤2031-21,根据偏移量控制摄像机模型以指定移动方式从第一摄像机位置移动至第二摄像机位置,指定移动方式包括:匀速运动、差值运动、平滑阻尼运动中的任意一种。

示例性的,为了在摄像机模型偏移的过程中,使客户端上展示虚拟环境画面具有连续性,摄像机模型并不是直接从第一摄像机位置跳转至第二摄像机位置的,摄像机模型从第一摄像机位置移动到第二摄像机位置会经过很多帧画面,客户端使用不同的移动方式来计算摄像机模型在每一帧画面中应该移动到的位置,从而在根据处于该位置的摄像机模型获取到该帧画面。

示例性的,移动方式可以是匀速移动,匀速移动即为控制摄像机模型以恒定速度移动到第二摄像机位置。例如,摄像机模型的偏移量是10米,客户端需要控制摄像机模型在100帧画面后移动到目标位置,则每帧画面摄像机模型需要移动0.1米。

示例性的,移动方式还可以是差值运动。差值运动根据摄像机模型当前所处位置、目标位置以及移动比例来确定摄像机模型在每帧画面中的位置。例如,将移动比例设置为0.1,则客户端计算上一帧画面摄像机模型所处的位置与目标位置的差值,然后控制摄像机模型向目标位置移动该差值的0.1倍的距离。若目标位置是10当前位置是0,则摄像机模型下一帧移动10*0.1=1到达1的位置,再下一帧移动(10-1)*0.1=0.9到达1.9的位置,再下一帧移动(10-1.9)*0.1=0.81到达2.71的位置,通过这种方法进行移动,摄像机模型将永远无法到达目标位置,只会无限接近目标位置。因此,可以将移动比例设置为从0到1变化,当移动比例取到1时摄像机模型移动到目标位置。差值运动是一种根据距离差与移动比例确定移动距离的运动。

示例性的,移动方式还可以是平滑阻尼运动。平滑阻尼运动根据给定的移动时间和平滑函数确定移动距离的运动。平滑函数是一种黑盒函数。平滑函数是类似于弹簧阻尼器的函数。

示例性的,客户端可以针对不同的技能(方向型技能指示器的大小、偏移量等)使用不同的移动方式控制摄像机模型移动,也可以根据用户选定的移动方式控制摄像机模型移动。

步骤2031-3,根据位于第二摄像机位置的摄像机模型显示第二虚拟环境画面,第二虚拟环境画面包括方向型技能指示器。

示例性的,摄像机模型移动到第二摄像机位置后,客户端通过摄像机模型获取虚拟环境的画面得到第二虚拟环境画面。

综上所述,本实施例提供的方法,通过判断方向型技能指示器的长度是否超出了第一虚拟环境画面,若超出,则控制观察中心向第二方向移动,得到第二虚拟环境画面,若没有超出,则不需要移动观察中心。通过在方向型技能指示器过长时移动观察中心,以更完整的方式显示方向型技能指示器,使用户可以从虚拟环境画面中观察到更多的方向型技能指示器,减少用户通过主观臆测的方式释放技能,提高用户释放技能的准确度,提高技能瞄准的人机交互效率。

本实施例提供的方法,通过控制摄像机模型的移动,来实现控制虚拟环境画面的观察中心的移动,当方向型技能指示器的大小超过虚拟环境画面时,只需要移动摄像机模型,就可以使虚拟环境画面以更完整的方式显示方向型技能指示器,进而使用户可以更好地根据虚拟环境画面上显示的方向型技能指示器判断技能释放后的作用范围,从而减少用户通过主观臆测的方式释放技能,提高用户释放技能的准确度,提高技能瞄准的人机交互效率。

本实施例提供的方法,通过采取不同的移动方式控制摄像机模型从第一摄像机位置移动到第二摄像机位置,使客户端上显示出的虚拟环境画面是连续移动的画面,避免虚拟环境画面跳转过快。

示例性的,给出两种计算偏移量的方法。第一种方法:基于视野判定框来计算摄像机模型的偏移量。

图16示出了本申请一个示例性实施例提供的虚拟环境的画面显示方法的流程图。该方法可以由上述图1中的任一终端上运行的客户端来执行,该客户端是支持虚拟环境的客户端。基于如图12所示的示例性实施例,步骤2031-1包括步骤2031-11。

步骤2031-11,响应于方向型技能指示器超出第一视野判定框,根据方向型技能指示器超出第一视野判定框的距离获取摄像机模型的偏移量,第一视野判定框是以第一观察位置为中心点的视野判定框。

偏移量是根据视野判定框计算得到的,视野判定框用于表示摄像机模型的视野。

示例性的,视野判定框用于表示用户界面中显示出的虚拟环境画面的视野范围。示例性的,视野判定框是根据终端的显示屏上显示出的虚拟环境画面的视野范围划定的。示例性的,视野判定框用于在虚拟环境中圈出当前用户可以看到的虚拟环境中的区域范围。为了便于计算,视野判定框通常被设置为矩形,该矩形的长宽比根据用户界面的长宽比或显示屏的长宽比确定。示例性的,若用户界面上有部分ui控件遮挡虚拟环境画面,则可以根据该ui控件的形状设定视野判定框的形状,例如,如图6所示,小地图321会遮挡部分虚拟环境画面,则可以从矩形中扣除小地图的正方形得到一个多边形的视野判定框。示例性的,视野判定框是与用户界面或显示屏等比缩小的矩形框,缩小的比例可以自由设定,通过设置一个比虚拟环境画面小的视野判定框,使虚拟环境画面上的ui控件可以不计入视野范围内,从而提高视野判定框所描述的视野范围的准确度。例如,如图17所示,视野判定框330略小于虚拟环境画面。

示例性的,视野判定框是设置在三维虚拟环境中的在虚拟环境画面上不可见的矩形框。即,在虚拟环境画面上用户看不到视野判定框。示例性的,视野判定框以当前摄像机模型的观察位置为中心、平行于水平面且边框线垂直/平行于摄像机模型的观察方向。即,视野判定框是在虚拟环境的地面上画出的虚拟环境画面的投影区域。

示例性的,将以第一观察位置为中心点的视野判定框命名为第一视野判定框,以第二观察位置为中心点的视野判定框命名为第二视野判定框。

示例性的,当方向型技能指示器超出了第一视野判定框时,客户端确定用户无法从虚拟环境画面中看到完整的方向型技能指示器,进而根据方向型技能指示器超出第一视野判定框的距离确定摄像机模型的偏移量。例如,方向型技能指示器超出了视野判定框1米,则客户端控制摄像机模型向第一方向移动1米,就可以使方向型技能指示器包裹在视野判定框内,从而使用户可以在虚拟环境画面中看到完整的方向型技能指示器。

示例性的,如图18所示,给出一种根据视野判定框获取偏移量的方法,步骤2031-11还包括步骤401至步骤403。还给出了一种根据视野判定框控制已经偏移的摄像机模型收回的方法,步骤2031-3之后还包括步骤501至步骤503。

步骤401,获取方向型技能指示器的偏移计算点,偏移计算点是基于方向型技能指示器的末端确定的。

偏移计算点用于判断方向型技能指示器与视野判断框的相对位置关系。示例性的,从技能指示器上任意选取一个点作为判断方向型技能指示器是否超出视野判断框的参考点(偏移计算点)。若偏移计算点位于视野判断框之外,则进一步基于偏移计算点计算方向型技能指示器超出视野判断框的距离。示例性的,偏移计算点是位于方向型技能指示器末端或末端附近的一点。示例性的,当方向型技能指示器的技能是全地图释放的技能时,方向型技能指示器不具有末端,则可以取到起点距离为定值的一点作为偏移计算点。或,可以理解为该方向型技能指示器的末端是与虚拟环境边界的交点,取到该末端的距离为定值的一点作为偏移计算点。

示例性的,如图17所示,将方向型技能指示器313的末端331确定为偏移计算点。

步骤402,响应于偏移计算点位于第一视野判定框之外,计算偏移计算点超出第一视野判定框的超出距离。

示例性的,若偏移计算点位于第一视野判断框之外,则第一虚拟环境画面上无法显示出较完整的方向型技能指示器。

根据偏移计算点和第一视野判断框来计算摄像机模型的偏移量。示例性的,可以取主控虚拟角色所在位置与偏移计算点的连线,与第一视野判断框的交点,计算偏移计算点到交点的距离,得到方向型技能指示器超出视野判断框的距离,然后将摄像机模型向第一方向移动该距离。

示例性的,若以平行/垂直于视野判断框的边框线的方向建立平行于地面的直角坐标系,则视野判断框的边框线在直角坐标系上表示为x=a、y=b形式的四条直线,则用偏移计算点的坐标计算得到偏移计算点到第一视野判断框的边框线的横向垂直距离和纵向垂直距离。例如,第一视野判断框的四条边框是x=-2、x=2、y=1、y=-1,而偏移计算点的坐标是(3,4),则偏移计算点到第一视野判断框的纵向偏移距离为4-1=3,横向偏移距离为3-2=1,则超出距离用向量表示为(1,3),则客户端可以控制摄像机模型移动(1,3)到达第二摄像机位置。

步骤403,将超出距离确定为摄像机模型的偏移量。

客户端将步骤402中算出的超出距离作为摄像机模型的偏移量,根据第一摄像机位置和偏移量计算得到第二摄像机位置。示例性的,当偏移量是方向向量时,用第一摄像机位置加偏移量得到第二摄像机位置。

步骤501,响应于接收到第二指向操作生成的第二指向指令,显示方向型技能指示器从指向第一方向变为指向第二方向。

示例性的,若摄像机模型已经根据指向第一方向的方向型技能指示器偏移到了第二摄像机位置后,用户又控制方向型技能指示器指到第二方向,其中第一方向的方向型技能指示器的偏移计算点与第二视野判定框相交,而指向第二方向的方向型技能指示器位于第二视野判定框之内。即,方向型技能指示器不再正好顶在用户视野范围的边界上时,客户端要控制摄像机模型的位置向默认位置拉回,使方向型技能指示器始终正好顶在用户视野范围的边界上,直至摄像机模型拉回到默认位置。

例如,如图19所示,方向型技能指示器从原本的第一方向333变为了第二方向334,使偏移计算点从正好顶在第二视野判定框332的边框线上变成了位于第二视野判定框332之内了。或,方向型技能指示器向内335回缩,长度变短进而使偏移计算点位于第二视野判定框332之内了。则客户端需要控制摄像机模型向默认位置收回,从而使偏移计算点始终位于视野判定框的边框线上,直至摄像机模型回到默认位置。

步骤502,响应于指向第二方向的方向型技能指示器的偏移计算点位于第二视野判定框之内,控制摄像机模型从第二摄像机位置向默认摄像机位置的方向移动,到达第三摄像机位置,第二视野判定框是以第二观察位置为中心点的视野判定框,默认摄像机位置是摄像机模型不发生偏移时摄像机模型在虚拟环境中所处的位置。

示例性的,响应于指向第二方向的方向型技能指示器的偏移计算点重新位于第二视野判定框之内,控制摄像机模型从第二摄像机位置向默认摄像机位置的方向移动,到达第三摄像机位置。即,当方向型技能指示器从指向第一方向变为指向第二方向时,方向型技能指示器的末端不再顶在第二视野判定框上,而是回到了第二视野判定框之内时,控制摄像机模型向默认摄像机位置的方向回拉。

示例性的,默认摄像机位置即为上述默认位置。偏移计算点位于第二视野判定框之内是:偏移计算点位于第二视野判定框内且不在第二视野判定框的边框线上。

示例性的,客户端控制摄像机位置向默认摄像机位置回缩,直至偏移计算点再次顶在当前位置的视野判定框的边框线上,则停止移动摄像机位置。或,直至摄像机模型移动回默认摄像机位置,则停止移动摄像机位置。

例如,当如图19所示,偏移计算点位于第二视野判定框之内,则控制摄像机模型向默认位置移动,直至移动至第三摄像机位置,如图20所示,使偏移计算点再次顶在了第三视野判定框336的边框线上。

步骤503,根据位于第三摄像机位置的摄像机模型显示第三虚拟环境画面,第三虚拟环境画面包括方向型技能指示器。

其中,位于第三摄像机位置的摄像机模型的观察中心是第三观察位置,第三虚拟环境画面中的方向型技能指示器的偏移计算点与第三视野判定框的边线相交,第三视野判定框是以第三观察位置为中心点的视野判定框。

示例性的,若指向第三方向的方向型技能指示器的偏移计算点超出了第二视野判定框,则继续按照上述方式计算摄像机模型的偏移量。继续控制摄像机模型向外偏移,使偏移计算点不超出视野判定框。

示例性的,若用户控制主控虚拟角色释放技能,或,用户取消了瞄准操作,则客户端将摄像机模型的偏移量置零,控制摄像机模型回到默认摄像机位置。

综上所述,本实施例提供的方法,通过在虚拟环境中设置视野判定框,当方向型技能指示器超出视野判定框时,计算方向型技能指示器超出视野判定框的垂直距离大小,根据垂直距离大小来确定摄像机模型移动的偏移量,从而使摄像机模型移动后获取到的虚拟环境画面以更完整的方式显示方向型技能指示器,避免ui控件的遮挡影响方向型技能指示器的显示,使用户可以更好地根据虚拟环境画面上显示的方向型技能指示器判断技能释放后的作用范围,从而减少用户通过主观臆测的方式释放技能,提高用户释放技能的准确度,提高技能瞄准的人机交互效率。

本实施例提供的方法,通过设置视野判定框,当方向型技能指示器超出视野判定框时,移动摄像机模型的观察中心,使虚拟环境画面以更完整的方式显示方向型技能指示器,提高技能瞄准的人机交互效率。

本实施例提供的方法,通过当用户再次控制方向型技能指示器向其他方向移动,使方向型技能指示器的末端位于视野判定框之内,且没有与边框相交时,控制摄像机模型向摄像机模型不偏移前的默认摄像机位置移动,拉回摄像机模型,使方向型技能指示器的末端与视野判定框的边缘始终相交,直至摄像机模型回到默认摄像机位置。从而实现当方向型技能指示器的末端超出原始的虚拟环境画面时,控制摄像机模型偏移,当方向型技能指示器的末端部分回缩时,控制摄像机模型同步回缩,在完整显示方向型技能指示器的前提下,尽量使摄像机模型的位置靠近原始位置。也可以实现一种弹簧式的摄像机模型偏移和回缩的效果,提高用户在转动方向型技能指示器时,摄像机模型偏移的连贯性,便于用户操作和观察。

第二种方法:基于第一方向来计算摄像机模型的偏移量,第一方向是方向型技能指示器所指的方向。

图21示出了本申请一个示例性实施例提供的虚拟环境的画面显示方法的流程图。该方法可以由上述图1中的任一终端上运行的客户端来执行,该客户端是支持虚拟环境的客户端。基于如图12所示的示例性实施例,步骤2031-1包括步骤2031-12。

步骤2031-12,响应于方向型技能指示器的长度大于距离阈值时,根据第一方向和固定偏移距离获取摄像机模型的偏移量,固定偏移距离是任意数值。

偏移量是根据第一方向计算得到的。固定偏移距离是预设的偏移距离。例如,固定偏移距离是十米,则客户端直接根据方向型技能指示器指向的第一方向,控制摄像机模型向第一方向移动十米到达第二摄像机位置。

示例性的,为了更准确地控制摄像机模型在各个方向上的偏移距离,分别在上下左右四个方向上设置了各自的固定偏移距离。如图22所示,步骤2031-12还包括步骤601至步骤603。

步骤601,响应于方向型技能指示器的长度大于距离阈值时,获取第一方向与地面坐标系的x轴的第一夹角,地面坐标系是以主控虚拟角色的位置为原点、根据摄像机模型的观察方向建立的平行于地面的直角坐标。

示例性的,地面坐标系是以主控虚拟角色所在的位置为原点,以垂直于摄像机模型的观察方向向右的方向为x轴正半轴,以平行于观察方向向前的方向为y轴正半轴,平行于虚拟环境的地面(水平面)的直角坐标系。

示例性的,第一夹角是第一方向与水平方向的夹角。水平方向是垂直于摄像机模型的观察方向且平行于水平面的方向。示例性的,第一夹角是取值范围为0°到90°。示例性的,第一夹角的取值范围也可以是0°到360°,但对应的正弦值和余弦值需要取绝对值。

例如,如图23所示,在虚拟环境画面中有方向型技能指示器313指向的第一方向,与水平方向的第一夹角α。

步骤602,根据第一方向在地面坐标系中所处的象限或所处的坐标轴,确定第一方向对应的固定偏移距离。

示例性的,以地面坐标系的y轴正半轴为上方、y轴负半轴为下方、x轴正半轴为右方、x轴负半轴为左方。若第一方向位于第一象限,则对应上偏移距离和右偏移距离;若第一方向位于第二象限,则对应上偏移距离和左偏移距离;若第一方向位于第三象限,则对应下偏移距离和左偏移距离;若第一方向位于第四象限,则对应下偏移距离和右偏移距离;若第一方向位于x轴正半轴则对应右偏移距离;若第一方向位于x轴负半轴则对应左偏移距离;若第一方向位于y轴正半轴则对应上偏移距离;若第一方向位于y轴负半轴则对应下偏移距离。

步骤603,根据第一夹角和第一方向对应的固定偏移距离确定摄像机模型的偏移量。

示例性的,获得第一方向对应的固定偏移距离后,客户端可以直接控制摄像机模型移动该固定偏移距离。例如,第一方向对伊宁的固定偏移距离包括右偏移距离10米和上偏移距离10米,则偏移量为(10,10)。

示例性的,客户端也可以根据第一夹角的正弦值和余弦值进一步精确该偏移量。

示例性的,固定偏移距离包括纵向固定偏移距离和横向固定偏移距离中的至少一个。其中,纵向固定偏移距离包括:上偏移距离和下偏移距离中的至少一个;横向固定偏移距离包括:左偏移距离和右偏移距离中的至少一个。如图24所示,步骤603还包括步骤6031至步骤6033。

步骤6031,响应于第一方向对应的固定偏移距离包括纵向固定偏移距离,将纵向固定偏移距离与第一夹角的正弦值的乘积确定为纵向偏移距离。

如果第一方向对应的固定偏移距离有纵向上的固定偏移距离,例如上偏移距离或下偏移距离,则客户端将纵向固定偏移距离乘以第一夹角的正弦值,得到摄像机模型的纵向偏移距离。

步骤6032,响应于第一方向对应的固定偏移距离包括横向固定偏移距离,将横向固定偏移距离与第一夹角的余弦值的乘积确定为横向偏移距离。

如果第一方向对应的固定偏移距离有横向上的固定偏移距离,例如左偏移距离或右偏移距离,则客户端将横向固定偏移距离乘以第一夹角的余弦值,得到摄像机模型的横向偏移距离。

步骤6033,将横向偏移距离和纵向偏移距离中的至少一种确定为摄像机模型的偏移量。

例如,如图23所示,第一夹角是30°,第一方向指向右上方,上偏移距离被预设为4,右偏移距离被预设为2,则横向偏移距离=2*cos30°≈1.732,纵向偏移距离=4*sin30°=2,则摄像机模型的偏移量为(1.732,2)。

再如,如图25所示,第一夹角是0°,第一方向指向右方,右偏移距离被预设为4,则横向偏移距离=4*cos0°=4,纵向偏移距离=4*sin0°=0,则摄像机模型的偏移量为(4,0)。

综上所述,本实施例提供的方法,通过为每个技能设定指定的上下左右的偏移距离,当用户向某个方向释放技能时,获取该方向与水平方向的第一夹角,将该方向分解到上下左右四个方向中的至少一个方向至多两个方向上,然后用这一个或两个方向上的偏移距离和第一家角的正弦值或余弦值的乘积,来确定摄像机模型的偏移量,使摄像机模型朝着技能释放方向发生偏移,使虚拟画面中可以显示出更完整的方向型技能指示器,提高用户瞄准的准确度。

示例性的,还给出了一种用户通过其他方式移动摄像机模型的位置,与基于方向型技能指示器移动摄像机模型的位置,两种偏移相结合对摄像机模型进行偏移的示例性实施例。

图26示出了本申请一个示例性实施例提供的虚拟环境的画面显示方法的流程图。该方法可以由上述图1中的任一终端上运行的客户端来执行,该客户端是支持虚拟环境的客户端。基于如图12所示的示例性实施例,步骤2031-1包括步骤2031-13和步骤2031-14。

步骤2031-13,获取摄像机模型的技能偏移量和全局偏移量,技能偏移量是根据方向型技能指示器的控制指令确定的,全局偏移量是根据拖拽地图指令、小地图查看指令、指定虚拟单位视角指令中的至少一种摄像机控制指令确定的。

技能偏移量是通过上述实施例提供的两种偏移量计算方式中的至少一种方式计算得到的偏移量。技能偏移量是为了在虚拟环境画面上能够显示更完整的方向型技能显示器而产生的偏移量。例如,如图27所示,技能偏移量包括通过顶框偏移701的方式计算得到的偏移量、通过直接偏移702的方式计算得到的偏移量、通过指定偏移703的方式计算得到的偏移量。其中,顶框偏移701是基于视野判定框计算得到的偏移量;直接偏移702是基于第一方向和固定偏移距离计算得到的偏移量;指定偏移703是针对某些特定的技能制定的特定偏移方式。例如,如图28所示,该技能的作用范围为扇形,则技能指示器704显示为扇形,可以通过指定偏移使用户在使用该技能指示器704瞄准时,始终使扇形的边线与虚拟环境画面的边线相切或相交。

全局偏移量是根据用户其他可以控制摄像机模型位置移动的操作产生的偏移量。例如,如图29所示,全局偏移量产生的途径包括:拖拽地图和小地图705、死亡时切队友视角706、固定镜头在地图上某个单位707、跟随子弹708。例如,用户通过拖拽地图和小地图切换视角。主控虚拟角色死亡后以队友的视角继续观察虚拟环境。将视角锁定在虚拟环境中的某个三维模型上,例如,防御塔、水晶等、草、地面。将视角跟随释放出的子弹。

示例性的,客户端使用两个单独的计算模块,分别计算摄像机模型的技能偏移量和全局偏移量,最后将两个计算模块计算得到的两个偏移量求和,得到摄像机模型最终的偏移量。然后根据最终得到的偏移量控制摄像机模型偏移。

步骤2031-14,将技能偏移量和全局偏移量之和确定为摄像机模型的偏移量。

综上所述,本实施例提供的方法,通过将全局偏移和技能偏移分别计算各自的摄像机模型偏移量,然后根据两个偏移量之和确定摄像机模型最终的偏移量,当用户既通过滑动地图来拖拽摄像机模型、又释放技能使方向型技能指示器超出虚拟环境画面时,摄像机模型综合以上两种操作产生的两种偏移量来确定最终的摄像机模型所在的位置,使不同操作所产生的摄像机模型偏移效果分开计算,最后叠加,简化计算难度,减少计算错误的几率。

图30示出了本申请一个示例性实施例提供的虚拟环境的画面显示方法的流程图。该方法可以由上述图1中的任一终端上运行的客户端来执行,该客户端是支持虚拟环境的客户端。首先,步骤801,用户控制主控虚拟角色使用技能,根据虚拟环境界面上显示的方向型技能指示器进行主动瞄准。然后,步骤802,客户端根据方向型技能指示器控制镜头瞄点移动,使虚拟环境画面中显示更完整的方向型技能指示器。最后,步骤803,当技能成功释放或用户取消释放技能时,控制镜头回位。

图31示出了本申请一个示例性实施例提供的实现该虚拟环境的画面显示方法的算法模块示意图。

cameraactionutils(摄像机动作工具)804:镜头模块工具集,用于对外提供各自操作镜头的接口,包括:移动、旋转、抬起镜头等等操作。

cameracontroller(摄像机控制器)805:镜头控制器,用来管理摄像机(镜头)的各种数据,提供镜头模块内部的各自接口。

cameraaction(摄像机动作)806:镜头方案,用于提供摄像机模型的运动方案,包括:差值移动、平滑阻尼运动、匀速运动等等。

movecomponent(移动组件):处理镜头偏移,从cameraaction获取方案参数,每帧移动镜头(摄像机模型)直至到达目的点。示例性的,movecomponent包括localmovecomponent(轨迹移动组件)807和globalmovecomponent(全局移动组件)808。localmovecomponent用于控制技能偏移量的移动,globalmovecomponent用于控制全局偏移量的移动。

setlocalposoff(轨迹回位)809:用于控制基于技能偏移量的偏移回到默认摄像机位置。

setglobalposoff(全局回位)810:用于控制基于全局偏移量的偏移回到默认摄像机位置。

示例性的,本实施例提供的虚拟环境画面的显示方法,在每次摄像机模型的位置发生移动时,还会有一个等待时间,在等待时间过后才会控制摄像机模型进行移动。图32示出了本申请一个示例性实施例提供的虚拟环境的画面显示方法的流程图。该方法可以由上述图1中的任一终端上运行的客户端来执行,该客户端是支持虚拟环境的客户端。步骤811,客户端等待偏移输入,等待用户唤出方向型技能指示器的操作。步骤812,客户端确认需要进行摄像机模型的偏移,等待偏移的延迟时间。步骤813,延迟时间过后,控制摄像机模型进行偏移。步骤814,客户端确认需要进行摄像机模型的回位,等待回位的延迟时间。步骤815,延迟时间过后,控制摄像机模型进行回位,再次等待偏移输入。

综上所述,本实施例提供的方法,通过在控制摄像机模型发生偏移前,加入延迟时间,在摄像机模型需要发生偏移时不会立刻控制摄像机模型偏移,使视觉上有缓冲时间,达到较好的画面效果。

上述实施例是基于游戏的应用场景对上述方法进行描述,下面以军事仿真的应用场景对上述方法进行示例性说明。

仿真技术是应用软件和硬件通过模拟真实世界的实验,反映系统行为或过程的模型技术。

军事仿真程序是利用仿真技术针对军事应用专门构建的程序,对海、陆、空等作战元素、武器装备性能以及作战行动等进行量化分析,进而精确模拟战场环境,呈现战场态势,实现作战体系的评估和决策的辅助。

在一个示例中,士兵在军事仿真程序所在的终端建立一个虚拟的战场,并以组队的形式进行对战。士兵控制战场虚拟环境中的虚拟对象在战场虚拟环境下进行站立、蹲下、坐下、仰卧、俯卧、侧卧、行走、奔跑、攀爬、驾驶、射击、投掷、攻击、受伤、侦查、近身格斗等动作中的至少一种操作。战场虚拟环境包括:平地、山川、高原、盆地、沙漠、河流、湖泊、海洋、植被中的至少一种自然形态,以及建筑物、交通工具、废墟、训练场等地点形态。虚拟对象包括:虚拟人物、虚拟动物、动漫人物等,每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。

基于上述情况,在一个示例中,士兵a控制虚拟对象a在虚拟环境中活动,当士兵a控制虚拟对象a向某一方向瞄准时会在虚拟环境画面中显示该瞄准操作对应的方向指示器,当方向指示器超住了当前虚拟环境画面的显示范围时,控制摄像机模型向瞄准方向移动一定距离,使虚拟环境画面中显示出更完整的方向指示器。

综上所述,在本实施例中,将上述虚拟环境的画面显示方法应用在军事仿真程序中,使士兵在瞄准时可以更好地参照方向指示器,提高瞄准准确度,使得士兵得到更好的训练。

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

图33是本申请一个示例性实施例提供的虚拟环境的画面显示装置的框图。

所述装置包括:

显示模块901,用于显示第一虚拟环境画面,所述第一虚拟环境画面是以第一观察位置为观察中心对所述虚拟环境进行观察得到的画面,所述第一虚拟环境画面包括位于所述虚拟环境中的主控虚拟角色;

交互模块902,用于接收第一指向操作生成第一指向指令;

所述显示模块901,还用于响应于接收到第一指向操作生成的第一指向指令,显示指向第一方向的方向型技能指示器,所述方向型技能指示器是以所述主控虚拟角色所在的位置为起点指向所述第一方向的指向标志;

所述显示模块901,还用于显示第二虚拟环境画面,所述第二虚拟环境画面是以第二观察位置为观察中心对所述虚拟环境进行观察得到的画面,所述第二虚拟环境画面包括所述方向型技能指示器,所述第二观察位置位于所述第一观察位置的所述第一方向上,或者位于所述第一方向的周侧区域上。

在一个可选的实施例中,所述显示模块901,还用于响应于所述方向型技能指示器的长度大于距离阈值时,显示所述第二虚拟环境画面,所述距离阈值是所述第一虚拟环境画面中以所述主控虚拟角色所在的位置为起点在所述第一方向上的视野阈值。

在一个可选的实施例中,所述第一虚拟环境画面和所述第二虚拟环境画面是通过设置在所述虚拟环境中的摄像机模型获取到的所述虚拟环境的画面,所述观察中心是从所述摄像机模型所处的位置延观察方向射出的射线与所述虚拟环境的交点;所述装置还包括:

获取模块903,用于响应于所述方向型技能指示器的长度大于距离阈值时,获取所述摄像机模型的偏移量,所述偏移量用于确定所述摄像机模型的移动方向和移动距离;

控制模块904,用于根据所述偏移量控制所述摄像机模型从第一摄像机位置移动至第二摄像机位置,位于所述第一摄像机位置的所述摄像机模型的所述观察中心是所述第一观察位置,位于所述第二摄像机位置的所述摄像机模型的所述观察中心是所述第二观察位置;

所述显示模块901,还用于根据位于所述第二摄像机位置的所述摄像机模型显示所述第二虚拟环境画面,所述第二虚拟环境画面包括所述方向型技能指示器。

在一个可选的实施例中,所述偏移量是根据视野判定框计算得到的,所述视野判定框用于表示所述摄像机模型的视野;

所述获取模块903,还用于响应于所述方向型技能指示器超出第一视野判定框,根据所述方向型技能指示器超出所述第一视野判定框的距离获取所述摄像机模型的所述偏移量,所述第一视野判定框是以所述第一观察位置为中心点的视野判定框。

在一个可选的实施例中,所述装置还包括:

所述获取模块903,还用于获取所述方向型技能指示器的偏移计算点,所述偏移计算点是基于所述方向型技能指示器的末端确定的;

计算模块905,用于响应于所述偏移计算点位于所述第一视野判定框之外,计算所述偏移计算点超出所述第一视野判定框的超出距离;

确定模块906,用于将所述超出距离确定为所述摄像机模型的所述偏移量。

在一个可选的实施例中,所述交互模块902,还用于接收第二指向操作生成第二指向指令;

所述显示模块901,还用于响应于接收到第二指向操作生成的第二指向指令,显示所述方向型技能指示器从指向所述第一方向变为指向第二方向;

所述控制模块904,还用于响应于指向所述第二方向的所述方向型技能指示器的所述偏移计算点位于第二视野判定框之内,控制所述摄像机模型从所述第二摄像机位置向默认摄像机位置的方向移动,到达第三摄像机位置,所述第二视野判定框是以所述第二观察位置为中心点的视野判定框,所述默认摄像机位置是所述摄像机模型不发生偏移时所述摄像机模型在所述虚拟环境中所处的位置;

所述显示模块901,还用于根据位于所述第三摄像机位置的所述摄像机模型显示第三虚拟环境画面,所述第三虚拟环境画面包括所述方向型技能指示器;

其中,位于所述第三摄像机位置的所述摄像机模型的所述观察中心是第三观察位置,所述第三虚拟环境画面中的所述方向型技能指示器的所述偏移计算点与第三视野判定框的边线相交,所述第三视野判定框是以所述第三观察位置为中心点的视野判定框。

在一个可选的实施例中,所述偏移量是根据所述第一方向计算得到的;

所述获取模块903,还用于响应于所述方向型技能指示器的长度大于距离阈值时,根据所述第一方向和固定偏移距离获取所述摄像机模型的偏移量,所述固定偏移距离是任意数值。

在一个可选的实施例中,所述装置还包括:

所述获取模块903,还用于获取所述第一方向与地面坐标系的x轴的第一夹角,所述地面坐标系是以所述主控虚拟角色的位置为原点、根据所述摄像机模型的观察方向建立的平行于地面的直角坐标;

确定模块906,用于根据所述第一方向在所述地面坐标系中所处的象限或所处的坐标轴,确定所述第一方向对应的固定偏移距离;

所述确定模块906,还用于根据所述第一夹角和第一方向对应的所述固定偏移距离确定所述摄像机模型的所述偏移量。

在一个可选的实施例中,所述固定偏移距离包括纵向固定偏移距离和横向固定偏移距离中的至少一个;所述装置还包括:

计算模块905于响应于所述第一方向对应的所述固定偏移距离包括所述横向固定偏移距离,将所述横向固定偏移距离与所述第一夹角的余弦值的乘积确定为横向偏移距离;

所述计算模块905于响应于所述第一方向对应的所述固定偏移距离包括所述纵向固定偏移距离,将所述纵向固定偏移距离与所述第一夹角的正弦值的乘积确定为纵向偏移距离;

所述确定模块906,用于将所述横向偏移距离和所述纵向偏移距离中的至少一种确定为所述摄像机模型的所述偏移量。

在一个可选的实施例中,所述控制模块904,还用于根据所述偏移量控制所述摄像机模型以指定移动方式从所述第一摄像机位置移动至所述第二摄像机位置,所述指定移动方式包括:匀速运动、差值运动、平滑阻尼运动中的任意一种。

在一个可选的实施例中,所述装置还包括:

所述获取模块903,还用于获取所述摄像机模型的技能偏移量和全局偏移量,所述技能偏移量是根据方向型技能指示器的控制指令确定的,所述全局偏移量是根据拖拽地图指令、小地图查看指令、指定虚拟单位视角指令中的至少一种摄像机控制指令确定的;

确定模块906,用于将所述技能偏移量和所述全局偏移量之和确定为所述摄像机模型的所述偏移量。

需要说明的是:上述实施例提供的虚拟环境的画面显示装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟环境的画面显示装置与虚拟环境的画面显示方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本申请还提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的虚拟环境的画面显示方法。需要说明的是,该终端可以是如下图34所提供的终端。

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

通常,终端2900包括有:处理器2901和存储器2902。

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

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

在一些实施例中,终端2900还可选包括有:外围设备接口2903和至少一个外围设备。处理器2901、存储器2902和外围设备接口2903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口2903相连。具体地,外围设备包括:射频电路2904、触摸显示屏2905、摄像头2906、音频电路2907、定位组件2908和电源2909中的至少一种。

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

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

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

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

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

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

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

在一些实施例中,终端2900还包括有一个或多个传感器2910。该一个或多个传感器2910包括但不限于:加速度传感器2911、陀螺仪传感器2912、压力传感器2913、指纹传感器2914、光学传感器2915以及接近传感器2916。

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

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

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

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

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

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

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

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的虚拟环境的画面显示方法。

本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述各个方法实施例提供的虚拟环境的画面显示方法。

本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的虚拟环境的画面显示方法。

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

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

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

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