本申请涉及计算机领域,特别涉及一种对虚拟环境中虚拟对象进行遮挡的方法、终端及介质。
背景技术:
在基于三维虚拟环境的应用程序中,如,使用热兵器进行远程攻击的射击游戏,用户可以控制虚拟环境中的虚拟对象进行行走、奔跑、射击、格斗、驾驶等动作,并且多个用户可以在线组队在同一个虚拟环境中协同完成某项任务。用户可以操控虚拟对象在虚拟环境中拾取虚拟物品,也可以操控虚拟对象将携带或者装配的虚拟物品丢弃在虚拟环境中。
在游戏过程中,如何防御敌对虚拟对象的攻击是极为重要的。在室内场景下,用户可借助墙壁、油桶等场景固有元素掩体,从而实现抵御敌对用户的攻击。
而在室外场景下,用户不易进行掩藏,尤其在如沙漠、草坪等室外场景中,用户所控制的虚拟对象极易被敌对虚拟对象发现并受到射击。
技术实现要素:
本申请实施例提供了一种对虚拟环境中虚拟对象进行遮挡的方法、装置、终端及存储介质,可以解决相关技术中用户操控虚拟对象进行遮挡受到场景条件限制的问题。所述技术方案如下:
一方面,本申请实施例提供了一种对虚拟环境中虚拟对象进行遮挡的方法,所述方法包括:
在虚拟环境中显示虚拟对象以及掩体道具,所述掩体道具用于对虚拟对象进行遮挡;
当所述掩体道具位于所述虚拟对象的拾取范围内,且接收到对所述掩体道具的拾取操作时,控制所述虚拟对象拾取所述掩体道具;
当接收到对所述掩体道具的装备操作时,控制所述掩体道具从目标遮挡方向对所述虚拟对象进行遮挡;
当接收到对所述虚拟对象的移动操作时,控制所述掩体道具与所述虚拟对象同向移动。
另一方面,本申请实施例提供了一种对虚拟环境中虚拟对象进行遮挡的装置,所述装置包括:
道具显示模块,用于在虚拟环境中显示虚拟对象以及掩体道具,所述掩体道具用于对虚拟对象进行遮挡;
道具拾取模块,用户当所述掩体道具位于所述虚拟对象的拾取范围内,且接收到对所述掩体道具的拾取操作时,控制所述虚拟对象拾取所述掩体道具;
虚拟对象遮挡模块,用于当接收到对所述掩体道具的装备操作时,控制所述掩体道具从目标遮挡方向对所述虚拟对象进行遮挡;
移动控制模块,用于当接收到对所述虚拟对象的移动操作时,控制所述掩体道具与所述虚拟对象同向移动。
另一方面,本申请实施例提供了一种终端,所述终端包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的对虚拟环境中虚拟对象进行遮挡的方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的对虚拟环境中虚拟对象进行遮挡的方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述方面所述的对虚拟环境中虚拟对象进行遮挡的方法。
本申请实施例中,当掩体道具位于虚拟对象的拾取范围内,用户可操控虚拟对象拾取掩体道具,当接收到对掩体道具的装备操作时,终端控制掩体道具从目标遮挡方向对虚拟对象进行遮挡。此外,当终端接收到对虚拟对象的移动操作时,控制掩体道具与虚拟对象同向移动;本申请实施例所提供的技术方案能够对用户提供一种具备遮挡作用的虚拟道具,即掩体道具,使得用户所控制的虚拟对象在不受到场景条件的限制下也能够借助掩体道具进行遮挡与防御,提高虚拟对象在游戏过程中的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的实施环境的示意图;
图2示出了本申请一个示例性实施例提供的对虚拟环境中虚拟对象进行遮挡的方法的流程图;
图3是一个示例性实施例示出的拾取掩体道具过程的界面示意图;
图4示出了本申请另一个示例性实施例提供的对虚拟环境中虚拟对象进行遮挡的方法的流程图;
图5示出了确定虚拟对象移动速度过程的流程图;
图6示出了本申请另一个示例性实施例提供的对虚拟环境中虚拟对象进行遮挡的方法的流程图;
图7示出了利用掩体道具进行掩护过程的界面示意图;
图8示出了掩体道具防御数值的计算流程;
图9示出了虚拟对象生命值的计算流程;
图10示出了本申请另一个示例性实施例提供的对虚拟环境中虚拟对象进行遮挡的方法的流程图;
图11示出了装备掩体道具时进行攻击的界面示意图;
图12示出了判断第一虚拟对象是否被第二虚拟对象发现的方法的流程图;
图13是本申请一个示例性实施例提供的对虚拟环境中虚拟对象进行遮挡的装置的结构框图;
图14示出了本申请一个示例性实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行介绍:
虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,本申请对此不加以限定。下述实施例以虚拟环境是三维虚拟环境来举例说明。
虚拟对象:是指虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在三维虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
虚拟道具:是指虚拟对象在虚拟环境中能够使用的道具,包括远程虚拟道具和近程虚拟道具。远程虚拟道具是指能够在距离其他虚拟对象较远的位置伤害虚拟对象的道具,比如,手枪、步枪、狙击枪、火箭筒等通用枪械;近程虚拟道具是指能够近距离对其他虚拟对象发起伤害的道具,比如,匕首、剑、刀、斧子等。
本申请中的“装备、携带或装配”虚拟道具指的是虚拟对象拥有的虚拟道具,虚拟对象拥有背包,背包中存在背包格,虚拟道具存放于虚拟对象的背包中,或者,虚拟对象正在使用虚拟道具。
本申请中提供的方法可以应用于虚拟现实应用程序、三维地图程序、军事仿真程序、射击游戏、多人在线战术竞技游戏(multiplayeronlinebattlearenagames,moba)等,下述实施例是以在游戏中的应用来举例说明。
基于虚拟环境的游戏往往由一个或多个游戏世界的地图构成,游戏中的虚拟环境模拟现实世界的场景,用户可以控制游戏中的虚拟对象在虚拟环境中进行行走、跑步、跳跃、射击、格斗、驾驶、切换使用虚拟道具、使用虚拟道具伤害其他虚拟对象等动作,交互性较强。
本申请实施例中,用户操控虚拟对象使用虚拟道具中的掩体道具时,可对虚拟对象进行遮挡;当用户控制的虚拟对象在移动过程中,还可以通过掩体道具进行防御,使得用户操控虚拟对象移动至安全区域。
请参考图1,其示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括:第一终端120、服务器140和第二终端160。
第一终端120安装和运行有支持虚拟环境的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、军事仿真程序、fps游戏、moba游戏、多人枪战类生存游戏中的任意一种。第一终端120是第一用户使用的终端,第一用户使用第一终端120控制位于虚拟环境中的第一虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、射击、投掷、切换虚拟道具、使用虚拟道具伤害其他虚拟对象以及拾取掩体道具、使用掩体道具进行掩体或防御中的至少一种。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物对象或动漫人物对象。
第一终端120通过无线网络或有线网络与服务器140相连。
服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示意性的,服务器140包括处理器144和存储器142。服务器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播放器、膝上型便携计算机和台式计算机中的至少一种。以下实施例以终端包括智能手机来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
请参考图2,其示出了本申请一个示例性实施例提供的对虚拟环境中虚拟对象进行遮挡的方法的流程图。本申请实施例以该方法用于图1所示实施环境中的第一终端120或第二终端160或该实施环境中的其他终端为例进行说明,该方法包括如下步骤。
步骤201,在虚拟环境中显示虚拟对象以及掩体道具,掩体道具用于对虚拟对象进行遮挡。
在大多数游戏场景中,用户界面显示有游戏场景相关的虚拟环境与虚拟道具。在真实游戏场景中,当用户所控制的虚拟对象受到敌对虚拟对象的攻击时,用户操控虚拟对象进行掩藏,或操作虚拟对象使用虚拟道具对敌对虚拟对象进行攻击。
相较于遮挡物较多的室内场景而言,虚拟对象处于室外场景时危险性更大,用户不易找到类似于室内场景中的墙体或油桶的遮挡物进行遮挡。因此,为了实现用户游戏时脱离场景条件限制、提高用户所控制的虚拟对象的安全性,本申请实施例中,虚拟道具包括有掩体道具。
本申请实施例中,掩体道具是虚拟道具中一种具备遮挡效果的虚拟道具。当掩体道具处于装备状态下,在遮挡方向上对虚拟对象起到遮挡作用;且当用户操控虚拟对象对敌对虚拟对象进行攻击时,掩体道具具备防御功能,可帮助虚拟对象防御敌对虚拟对象的攻击。
可选的,在室内场景中,掩体道具可以是铁门、木板等具有遮挡作用的虚拟道具;在室外场景中,掩体道具可以是树枝等具有遮挡作用的虚拟道具,服务器可以根据预设道具刷新策略,将掩体道具投放至虚拟环境中相应的区域。本申请各个实施例中,对具体的掩体道具不作限定。
步骤202,当掩体道具位于虚拟对象的拾取范围内,且接收到对掩体道具的拾取操作时,操控虚拟对象拾取掩体道具。
在一种可能的实施方式中,当掩体道具出现在虚拟对象的游戏视野范围内,用户可操控虚拟对象进行移动,进而在掩体道具位于虚拟对象的拾取范围内时,触发终端接收对掩体道具的拾取操作时,终端根据用户的触发操作操控虚拟对象拾取掩体道具。
当用户操控虚拟对象拾取掩体道具后,可根据用户的使用需求选择是否使用所拾取的掩体道具。可选的,当掩体道具的大小适应背包时,用户操控虚拟对象将所拾取的掩体道具放入背包。进一步的,当用户所控制的虚拟对象需要继续遮挡以及防御时,用户操控虚拟对象从背包中选择掩体道具进行装备。
在本申请实施例中,掩体道具是游戏场景中随机掉落的,且合理分布,对于大小不适应背包的掩体道具,用户可操控虚拟对象将其丢弃,进行下一个掩体道具的拾取。
在一种可能的实施方式中,当掩体道具出现在虚拟对象的游戏视野范围内,用户通过触发拾取控件来操控虚拟对象拾取该掩体道具。
示意性的,如图3所示,是一个示例性实施例示出的拾取掩体道具过程的界面示意图。在图3中,掩体道具示意为一块木板301。可选的,当木板301位于虚拟对象的拾取范围外时,用户通过用户界面中虚拟对象的移动控件302操控虚拟对象进行移动。当木板301位于虚拟对象的拾取范围内,用户界面中的模板301上方出现掩体道具拾取手势303,用户通过触控掩体道具拾取手势303操控虚拟对象拾取木板301。
步骤203,当接收到对掩体道具的装备操作时,控制掩体道具从目标遮挡方向对虚拟对象进行遮挡。
在一种可能的实施方式中,用户操控虚拟对象将掩体道具从背包中取出进行掩体道具的装备,或,用户操控虚拟对象拾取掩体道具后进行装备,即当终端接收到对掩体道具的装备操作时,终端控制掩体道具对虚拟对象进行遮挡。
在掩体道具对虚拟对象进行遮挡的过程中,所遮挡的方向是从目标遮挡方向进行遮挡的。可选的,目标遮挡方向可以是用户所控制的虚拟对象的正面方向,或者,用户对遮挡方向进行自定义的设置,从而确定出目标遮挡方向。
在一种可能的实施方式中,当敌对虚拟对象的视野方向与掩体道具的目标遮挡方向一致时,掩体道具对虚拟对象起到遮挡作用;当敌对虚拟对象的视野方向与掩体道具的目标遮挡方向不一致时,虚拟对象暴露在敌对虚拟对象的视野范围内,并被敌对虚拟对象发现。
步骤204,当接收到对虚拟对象的移动操作时,控制掩体道具与虚拟对象同向移动。
在游戏场景中,用户操作虚拟对象使用掩体道具进行暂时性的遮挡,当用户确定下一个目标场地后,用户操控虚拟对象向下一个目标场地进行移动。
在一种可能的实施方式中,当终端接收到用户对虚拟对象的移动操作时,虚拟对携带装备状态下的掩体道具与虚拟对象进行同向移动,即掩体道具与虚拟对象保持相对静止,从而对移动过程中的虚拟对象进行遮挡。
本申请实施例中,当掩体道具位于虚拟对象的拾取范围内,用户可操控虚拟对象拾取掩体道具,当接收到对掩体道具的装备操作时,终端控制掩体道具对虚拟对象进行遮挡,且遮挡方向可根据用户的需要进行自定义的设置。此外,当终端接收到对虚拟对象的移动操作时,控制掩体道具与虚拟对象同向移动;与相关技术中的游戏设计相比,本申请实施例所提供的技术方案能够对用户提供一种具备遮挡作用的虚拟道具,即掩体道具,使得用户所控制的虚拟对象在不受到场景条件的限制下也能够借助掩体道具进行遮挡与防御,提高虚拟对象在游戏中的安全性。
请参考图4,其示出了本申请另一个示例性实施例提供的对虚拟环境中虚拟对象进行遮挡的方法的流程图。本申请实施例以该方法用于图1所示实施环境中的第一终端120或第二终端160或该实施环境中的其他终端为例进行说明,该方法包括如下步骤。
步骤401,在虚拟环境中显示虚拟对象以及掩体道具,掩体道具用于对虚拟对象进行遮挡。
本步骤的具体内容请参考步骤201,本申请实施例在此不再赘述。
步骤402,当掩体道具位于虚拟对象的拾取范围内,且接收到对掩体道具的拾取操作时,操控虚拟对象拾取掩体道具。
本步骤的具体内容请参考步骤202,本申请实施例在此不再赘述。
步骤403,当接收到对掩体道具的装备操作时,控制掩体道具从目标遮挡方向对虚拟对象进行遮挡。
本步骤的具体内容请参考步骤203,本申请实施例在此不再赘述。
步骤404,当接收到对虚拟对象的移动操作时,获取掩体道具对应的目标速度衰减参数,目标速度衰减参数指掩体道具对虚拟对象的移动速度的衰减影响。
实际上,当用户操控虚拟对象使用掩体道具时,掩体道具会增加虚拟对象的负重,进而会对虚拟对象的移动速度产生衰减性的影响。为了提高用户游戏的真实感,在一种可能的实施方式中,本步骤包括如下内容。
内容一、获取掩体道具的道具完整度以及掩体道具的初始速度衰减参数,道具完整度与掩体道具所受到的攻击伤害相关。
首先,对掩体道具的道具完整度与初始速度衰减参数进行阐述。
道具完整度:对于掩体道具而言,当掩体道具未被拾取或装备时,掩体道具的道具完整度是最高的,如通过百分比的方式进行道具完整度的表示时,即100%;当装备状态下的掩体道具受到了敌对虚拟对象的攻击后,掩体道具受损,进而掩体道具的道具完整度降低,如道具完整度从100%降低至80%。
初始速度衰减参数:在上述实施例中已阐述了在用户操控虚拟对象进行移动时,掩体道具对虚拟对象产生负重影响,进而衰减了虚拟对象的移动速度。在本申请实施例中,设置掩体道具的初始速度衰减参数,不同的掩体道具其初始速度衰减参数是不同的。
其中,道具完整度与掩体道具所受到的攻击伤害相关。当掩体道具受到攻击伤害较大的虚拟道具的攻击,掩体道具的道具完整度降低得较大。
内容二、根据道具完整度和初始速度衰减参数,确定目标速度衰减参数,目标速度衰减参数与道具完整度呈负相关关系。
进一步的,当装备状态下的掩体道具不断受损,其道具完整度因此不断降低,那么对于虚拟对象的负重影响也会不断减少,继而改变了掩体道具的初始速度衰减参数,即掩体道具的速度衰减参数是不固定于初始速度衰减参数的。
因此,在掩体道具不断受损的过程中,掩体道具的速度衰减参数从初始速度衰减参数转变为目标速度衰减参数。在一种可能的实施方式中,根据道具完整度和初始速度衰减参数,确定目标速度衰减参数,且目标速度衰减参数与道具完整度呈负相关关系。
步骤405,根据虚拟对象的初始移动速度和目标速度衰减参数,确定目标移动速度。
在游戏场景中,用户所操控的虚拟对象设置有移动速度。当虚拟对象不携带有掩体道具时,虚拟对象的移动速度为初始移动速度;当虚拟对象携带或装备有掩体道具时,虚拟对象的移动速度不再为初始移动速度,而是根据虚拟对象的初始移动速度和目标速度衰减参数,确定目标移动速度。
示意性的,如图5所示,其示出了确定虚拟对象移动速度过程的流程图。用户进行游戏场景中所操控的虚拟对象设置有初始移动速度;终端判断该虚拟对象是否携带或装备有掩体道具;当虚拟对象携带或装备有掩体道具时,终端根据目标速度衰减参数对虚拟对象的初始移动速度进行衰减,最终计算得到虚拟对象的目标移动速度;当虚拟对象不携带或装备掩体道具时,终端保持虚拟对象的初始移动速度。
在一个示意性的例子中,用户所操控的虚拟对象的初始移动速度为1.2米/秒,掩体道具a的初始速度衰减参数设置为1/3(即降低虚拟对象的初始移动速度的1/3),掩体道具的道具完整度为100%,从而用户所控制的虚拟对象的移动速度为从1.2米/秒的初始移动速度更新为0.8米/秒的目标移动速度。
在上述示意性的例子中,当掩体道具受到攻击,道具完整度降低至50%,掩体道具a由初始速度衰减参数更新为1/6的目标速度衰减参数,从而用户所控制的虚拟对象的目标移动速度为从0.8米/秒更新为1.0米/秒。
步骤406,根据目标移动速度控制掩体道具与虚拟对象同向移动。
在一种可能的实施方式中,虚拟对象的移动速度完成更新后,从初始移动速度转变为目标移动速度,从而终端根据目标移动速度控制掩体道具与虚拟对象同向移动。
综上所述,考虑到掩体道具对虚拟对象产生的负重影响,本申请实施例中,掩体道具设置有初始速度衰减参数,根据初始速度衰减参数确定携带或装备掩体道具的虚拟对象的初始移动速度。此外,又从掩体道具的道具完整度角度考虑,在道具完整度降低的过程中,掩体道具对虚拟对象产生的负重影响也会降低,因此,终端根据道具完整度和初始速度衰减参数,确定目标速度衰减参数,从而根据虚拟对象的初始移动速度和目标速度衰减参数,确定虚拟对象的目标移动速度;在上述实施例的基础上,通过本实施例所提供的方案,实现在游戏场景中更新掩体道具的速度衰减参数与虚拟对象的移动速度,增强了游戏的真实性。
在上述实施例中,掩体道具在受到损害后,不仅能够影响虚拟对象的移动速度,实际上也会对掩体道具自身的防御数值产生影响。
请参考图6,其示出了本申请另一个示例性实施例提供的对虚拟环境中虚拟对象进行遮挡的方法的流程图。本申请实施例以该方法用于图1所示实施环境中的第一终端120或第二终端160或该实施环境中的其他终端为例进行说明,在步骤203和步骤403之后,还包括如下步骤。
步骤601,若掩体道具受到虚拟道具攻击,则根据虚拟道具的伤害数值更新掩体道具的防御数值。
基于上述实施例对掩体道具的阐述,在本申请实施例中掩体道具还设置有防御数值。当掩体道具受到敌对虚拟对象的攻击时,根据所受到的伤害数值进行防御数值的更新。
在一种可能的实施方式中,用户所控制的虚拟对象装备有掩体道具,且该掩体道具受到了敌对用户的虚拟道具的攻击,获取虚拟道具的伤害数值,并根据实时的伤害数值更新掩体道具的防御数值。
在一个示意性的例子中,掩体道具的在装备状态下的初始的防御数值为100,并受到了-30的伤害数值,因此,终端根据实时的伤害数值将掩体道具的防御数值更新为70。
步骤602,若更新后掩体道具的防御数值小于等于零,则操控虚拟对象丢弃掩体道具。
相应的,当掩体道具经受多次攻击后,防御数值不断减少。若更新后掩体道具的防御数值减少至小于等于零,则操控虚拟对象丢弃掩体道具。
此外,存在防御数值为零的掩体道具,防御数值为零的掩体道具只具备遮挡功能。在一个示意性的例子中,如图7所示,其示出了利用掩体道具进行掩护过程的界面示意图。虚拟对象701装备有掩体道具,该掩体道具为树枝701,显然,该掩体道具只能在装备状态下对虚拟对象701进行遮挡,而在虚拟对象701受到攻击时不具备防御功能,因此设置该掩体道具的防御数值为0。
示意性的,如图8所示,其示出了掩体道具防御数值的计算流程。判断掩体道具是否受到攻击;若掩体道具未受到攻击,结束该计算流程;若掩体道具受到攻击,终端则根据虚拟道具的伤害数值减少并更新掩体道具的防御数值;判断掩体道具的防御数值是否大于零;若掩体道具的防御数值大于零,终端则继续执行判断掩体道具是否受到攻击的过程;若掩体道具的防御数值小于等于零,结束该计算流程。
在一种可能的实施方式中,用户所操控的虚拟对象设置有生命值。若虚拟对象所装备的掩体道具的防御数值不为零,则当虚拟对象在防御方向上受到攻击时,虚拟对象的生命值不变;若虚拟对象所装备的掩体道具的防御数值小于等于零,则当虚拟对象在防御方向上受到攻击时,虚拟对象的生命值减少。
示意性的,如图9所示,其示出了虚拟对象生命值的计算流程。当虚拟对象被击中,判断虚拟对象的击中方向上是否装备有掩体道具;若未装备有掩体道具,终端则按照预设的计算方法计算虚拟对象的生命值;若装备有掩体道具,终端则判断掩体道具的防御数值是否大于零;若掩体道具的防御数值小于等于零,终端则按照预设的计算方法计算虚拟对象的生命值;若掩体道具的防御数值大于零,终端则保持虚拟对象的生命值。
此外,掩体道具在受到攻击后,掩体道具的防御面积、形状等都会发生变化,为了提高游戏场景的真实性,在一种可能的实施方式中,步骤601之后包括步骤603和步骤604。
步骤603,若更新后掩体道具的防御数值大于零,则根据更新后掩体道具的防御数值确定掩体道具的道具完整度。
在一种可能的实施方式中,掩体道具是密度分布均匀且厚度均匀的虚拟道具,设置防御数值与防御体积成正比关系,根据防御数值的减少比例相应减少掩体道具的体积。
在本申请实施例中,如何根据更新后掩体道具的防御数值确定掩体道具的道具完整度的规则不作限定。
步骤604,根据道具完整度调整掩体道具的道具模型。
在一种可能的实施方式中,终端内预先设置有至少两个掩体道具的道具模型,不同的道具模型对应不同的道具完整度。若掩体道具受到虚拟道具攻击,终端则更新掩体道具的防御数值,并根据更新后的掩体道具的防御数值确定掩体道具的道具完整度,从而在预先设置的道具模型中获取与当前道具完整度相匹配的道具模型。
综上所述,本申请实施例中,若掩体道具受到虚拟道具攻击,根据虚拟道具的伤害数值更新掩体道具的防御数值。若更新后掩体道具的防御数值小于等于零,则操控虚拟对象丢弃掩体道具;若更新后掩体道具的防御数值大于零,则根据更新后掩体道具的防御数值确定掩体道具的道具完整度,并根据道具完整度调整掩体道具的道具模型。从而在上述实施例的基础上,通过本实施例的方案能够进一步提高了游戏的真实性。
在上述实施例中,对于掩体道具的分类并没有做详细地阐述,下面通过步骤1001与步骤1002阐述用户操控虚拟对象装备不同类型掩体道具进行攻击时的具体游戏过程。
请参考图10,其示出了本申请另一个示例性实施例提供的对虚拟环境中虚拟对象进行遮挡的方法的流程图。本申请实施例以该方法用于图1所示实施环境中的第一终端120或第二终端160或该实施环境中的其他终端为例进行说明,包括如下步骤。
步骤1001,在虚拟环境中显示虚拟对象以及掩体道具,掩体道具用于对虚拟对象进行遮挡。
本步骤的具体内容请参考步骤201,本申请实施例在此不再赘述。
步骤1002,当掩体道具位于虚拟对象的拾取范围内,且接收到对掩体道具的拾取操作时,操控虚拟对象拾取掩体道具。
本步骤的具体内容请参考步骤202,本申请实施例在此不再赘述。
步骤1003,当接收到对掩体道具的装备操作时,控制掩体道具从目标遮挡方向对虚拟对象进行遮挡。
本步骤的具体内容请参考步骤203,本申请实施例在此不再赘
步骤1004,若掩体道具为第一类型掩体道具,则在用户界面中显示攻击控件,攻击控件用于触发使用虚拟道具进行攻击,第一类型掩体道具指允许在装备状态下进行攻击的道具。
示意性的,如图11所示,其示出了装备掩体道具时进行攻击的界面示意图。用户操控虚拟对象1101装备有铁板1102,且用户界面显示有攻击控件1103。铁板1102为第一类型掩体道具,且该铁板1102设置有射击孔1104,以方便用户操控虚拟对象1101进行游戏时,能够在铁板1102处于装备状态下对敌对用户进行攻击。
因此,第一类型掩体道具指允许在装备状态下进行攻击的道具。
此外,在一种可能的实施方式中,用户界面还设置有用户操控掩体道具防御方向的方向控件,方便用户通过方向控件改变掩体道具的防御方向,实现对虚拟对象的多方位防御。
示意性的,又如图11所示,用户界面设置有用户操控掩体道具防御方向的方向控件1105。用户在触发该方向控件1105后,原本用于操控虚拟对象1101移动方向的移动控件1106转变为用于控制掩体道具防御方向的控件,用户可通过触发移动控件1106实现掩体道具防御方向的改变,并在用户再次触发该方向控件1105后,移动控件1106恢复至操控虚拟对象1101移动方向的功能。
在一种可能的实施方式中,步骤1003之后还包括步骤1005。
步骤1005,若掩体道具为第二类型掩体道具,则取消在用户界面中显示攻击控件,第二类型掩体道具指不允许在装备状态下进行攻击的道具。
示意性的,如图3所示的木板301,是一种第二类型掩体道具,区别于图11中的铁板1101,该木板301不设置有射击孔1104,因此,用户操控虚拟对象进行游戏时,不能够在掩体道具处于装备状态下对敌对用户进行攻击。
因此,第二类型掩体道具指不允许在装备状态下进行攻击的道具。
进一步的,无论是第一类型掩体道具还是第二类型掩体道具,其共有的基本功能为对虚拟对象进行遮挡,当第一用户所操控的虚拟对象装备有掩体道具,且掩体道具的防御方向朝向敌对用户所操控的虚拟对象时,该掩体道具实现了为第一用户所操控的虚拟对象进行遮挡的功能。
示意性的,如图12所示,其示出了判读第一虚拟对象是否被第二虚拟对象发现的方法的流程图。其中,第一虚拟对象由第一用户操控,且第一虚拟对象装备有掩体道具,第二虚拟对象由第二用户操控,且第二虚拟对象为第一虚拟对象的敌对方;终端获取第二虚拟对象的视野,并判断第一掩体道具是否在第二虚拟对象的视野中遮挡住了第一虚拟对象;若掩体道具遮挡住了第一虚拟对象,则第一虚拟对象不被第二虚拟对象发现;若掩体道具遮未挡住第一虚拟对象,则第一虚拟对象被第二虚拟对象发现。
综上所述,本申请实施例中,将掩体道具的类型做了具体阐述。当虚拟对象装备的掩体道具类型为第一类型掩体道具,用户则能够操控虚拟对象使用装备状态下的掩体道具进行攻击;当虚拟对象装备的掩体道具类型为第二类型掩体道具,用户则不能够操控虚拟对象使用装备状态下的掩体道具进行攻击。通过对掩体道具的类型进行分类,能够更好地将掩体道具与游戏场景相结合,提高了游戏场景的真实性,从而进一步提高了玩家在游戏过程中的体验感。
此外,在上述各个实施例中,若掩体道具受到虚拟道具攻击,则播放掩体道具对应的打击音效,进一步地增强了游戏的真实感。
图13是本申请一个示例性实施例提供的对虚拟环境中虚拟对象进行遮挡的装置的结构框图,该装置可以设置于图1所示实施环境中的第一终端120或第二终端160或该实施环境中的其它终端,该装置包括:
道具显示模块1301,用于在虚拟环境中显示虚拟对象以及掩体道具,所述掩体道具用于对虚拟对象进行遮挡;
道具拾取模块1302,用户当所述掩体道具位于所述虚拟对象的拾取范围内,且接收到对所述掩体道具的拾取操作时,控制所述虚拟对象拾取所述掩体道具;
虚拟对象遮挡模块1303,用于当接收到对所述掩体道具的装备操作时,控制所述掩体道具从目标遮挡方向对所述虚拟对象进行遮挡;
移动控制模块1304,用于当接收到对所述虚拟对象的移动操作时,控制所述掩体道具与所述虚拟对象同向移动。
可选的,所述移动控制模块1304,包括:
参数获取子单元,用于当接收到对所述虚拟对象的所述移动操作时,获取所述掩体道具对应的目标速度衰减参数,所述目标速度衰减参数指所述掩体道具对所述虚拟对象的移动速度的衰减影响;
速度确定子单元,用于根据所述虚拟对象的初始移动速度和所述目标速度衰减参数,确定目标移动速度;
移动控制子单元,用于根据所述目标移动速度控制所述掩体道具与所述虚拟对象同向移动。
可选的,所述参数获取子单元,用于:
获取所述掩体道具的道具完整度以及所述掩体道具的初始速度衰减参数,所述道具完整度与所述掩体道具所受到的攻击伤害相关;
根据所述道具完整度和所述初始速度衰减参数,确定所述目标速度衰减参数,所述目标速度衰减参数与所述道具完成度呈负相关关系。
可选的,所述装置还包括:
防御数值更新模块,用于若所述掩体道具受到虚拟道具攻击,则根据所述虚拟道具的伤害数值更新所述掩体道具的防御数值;
道具丢弃模块,用于若更新后所述掩体道具的防御数值小于等于零,则控制所述虚拟对象丢弃所述掩体道具。
可选的,所述装置还包括:
道具完整度确定模块,用于若更新后所述掩体道具的防御数值大于零,则根据更新后所述掩体道具的防御数值确定所述掩体道具的道具完整度;
道具模型调整模块,用于根据所述道具完整度调整所述掩体道具的道具模型。
可选的,所述装置还包括:
音效播放模块,用于若所述掩体道具受到虚拟道具攻击,则播放所述掩体道具对应的打击音效。
可选的,所述装置还包括:
攻击控件显示模块,用于若所述掩体道具为第一类型掩体道具,则在用户界面中显示攻击控件,所述攻击控件用于触发使用虚拟道具进行攻击,所述第一类型掩体道具指允许在装备状态下进行攻击的道具;
攻击控件取消模块,用于若所述掩体道具为第二类型掩体道具,则取消在所述用户界面中显示所述攻击控件,所述第二类型掩体道具指不允许在装备状态下进行攻击的道具。
请参考图14,其示出了本申请一个示例性实施例提供的终端1400的结构框图。该终端1400可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器。终端1400还可能被称为用户设备、便携式终端等其他名称。
通常,终端1400包括有:处理器1401和存储器1402。
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本申请实施例提供的方法。
在一些实施例中,终端1400还可选包括有:外围设备接口1403和至少一个外围设备。具体地,外围设备包括:射频电路1404、触摸显示屏1405、摄像头1406、音频电路1407、定位组件1408和电源1409中的至少一种。
外围设备接口1403可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1404用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1404还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。
触摸显示屏1405用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏1405还具有采集在触摸显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。触摸显示屏1405用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1405可以为一个,设置终端1400的前面板;在另一些实施例中,触摸显示屏1405可以为至少两个,分别设置在终端1400的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1405可以是柔性显示屏,设置在终端1400的弯曲表面上或折叠面上。甚至,触摸显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1405可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1407用于提供用户和终端1400之间的音频接口。音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。
定位组件1408用于定位终端1400的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1408可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1409用于为终端1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
加速度传感器1411可以检测以终端1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1411采集的重力加速度信号,控制触摸显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1412可以检测终端1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对终端1400的3d动作。处理器1401根据陀螺仪传感器1412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1413可以设置在终端1400的侧边框和/或触摸显示屏1405的下层。当压力传感器1413设置在终端1400的侧边框时,可以检测用户对终端1400的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1413设置在触摸显示屏1405的下层时,可以根据用户对触摸显示屏1405的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1414用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1414可以被设置终端1400的正面、背面或侧面。当终端1400上设置有物理按键或厂商logo时,指纹传感器1414可以与物理按键或厂商logo集成在一起。
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制触摸显示屏1405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1405的显示亮度;当环境光强度较低时,调低触摸显示屏1405的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
接近传感器1416,也称距离传感器,通常设置在终端1400的正面。接近传感器1416用于采集用户与终端1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变小时,由处理器1401控制触摸显示屏1405从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变大时,由处理器1401控制触摸显示屏1405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图14中示出的结构并不构成对终端1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述任一实施例所述的对虚拟环境中虚拟对象进行遮挡的方法。
本申请还提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得计算机执行上述各个方法实施例提供的对虚拟环境中虚拟对象进行遮挡的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。