虚拟对象属性值控制方法、计算机设备及存储介质与流程
本申请涉及虚拟场景技术领域,特别涉及一种虚拟对象属性值控制方法、计算机设备及存储介质。
背景技术:
目前,在涉及到通过统计虚拟对象的血量来进行竞技的游戏类应用程序中,比如,在第一人称射击类游戏中,进行对战的虚拟对象的生命值在受到攻击后会进行减少,为了模拟真实的对战过程,可以将虚拟对象的躯干划分为不同的部位。
在相关技术中,当虚拟对象被子弹击中时,通过碰撞检测可以判定虚拟对象受击的部位,从而实现控制受击的部位对应的血量进行减少。
然而,相关技术中直接通过碰撞检测判定子弹击中的实际部位从而对实际部位进行血量减少的方案,会出现子弹瞄准部位被其他部位遮挡的情况,从而无法达到减少瞄准部位血量的情况,比如,当子弹按照当前轨道发射时可以击中虚拟对象的胸口部位,而恰好此时虚拟对象的手臂遮挡在胸口部位,会导致子弹只能击中手臂部位并且控制手臂部位的血量减少,这就导致处于射击过程中的射击双方均需要较长时间击中要害部位淘汰对手,从而导致单局对战的时间较长,浪费了终端所消耗的电量和数据流量。
技术实现要素:
本申请实施例提供了一种虚拟对象属性值控制方法、计算机设备及存储介质,所述技术方案如下:
一方面,本申请实施例提供了一种虚拟对象属性值控制方法,所述方法包括:
响应于虚拟对象中的指定肢体部位被虚拟子弹击中,对所述虚拟子弹的运行轨迹作射线延伸,将延伸后的射线确定为延伸射线;所述虚拟对象包含至少两个肢体部位;
获取所述延伸射线与所述虚拟对象的所述至少两个肢体部位的碰撞情况;
根据所述碰撞情况,确定实际击中部位;所述实际击中部位是优先对指定属性值进行修改的所述肢体部位;
根据所述实际击中部位,对所述至少两个肢体部位各自的所述指定属性值进行修改。
一方面,本申请实施例提供了一种虚拟对象属性值控制方法,所述方法包括:
展示虚拟场景画面,所述虚拟场景画面中包含虚拟对象以及所述虚拟对象的指定属性值;所述虚拟对象包含至少两个肢体部位;所述指定属性值是与所述至少两个肢体部位各自对应的;
响应于所述虚拟对象中的指定肢体部位被虚拟子弹击中,根据实际击中部位,展示所述至少两个肢体部位各自修改后的所述指定属性值;所述实际击中部位是根据所述延伸射线与所述虚拟对象的所述至少两个肢体部位的碰撞情况进行确定的;所述延伸射线是将所述虚拟子弹的运行轨迹作射线延伸获得的。
另一方面,本申请实施例提供了一种虚拟对象属性值控制装置,所述装置包括:
射线确定模块,用于响应于虚拟对象中的指定肢体部位被虚拟子弹击中,对所述虚拟子弹的运行轨迹作射线延伸,将延伸后的射线确定为延伸射线;所述虚拟对象包含至少两个肢体部位;
碰撞获取模块,用于获取所述延伸射线与所述虚拟对象的所述至少两个肢体部位的碰撞情况;
部位确定模块,用于根据所述碰撞情况,确定实际击中部位;所述实际击中部位是优先对指定属性值进行修改的所述肢体部位;
属性值修改模块,用于根据所述实际击中部位,对所述至少两个肢体部位各自的所述指定属性值进行修改。
在一种可能的实现方式中,所述至少两个肢体部位包括胸腔部位、头颈部位、四肢部位以及胃部位中的至少一种;
所述指定肢体部位包括所述四肢部位。
在一种可能的实现方式中,所述部位确定模块,包括:
第一部位确定子模块,用于响应于所述延伸射线与所述胸腔部位,或者所述延伸射线与所述头颈部位产生碰撞,确定与所述延伸射线产生碰撞的所述肢体部位为所述实际击中部位。
在一种可能的实现方式中,所述部位确定模块,包括:
第二部位确定子模块,用于响应于所述延伸射线与所述四肢部位,或者所述延伸射线与所述胃部位产生碰撞,确定所述指定肢体部位为所述实际击中部位。
在一种可能的实现方式中,所述部位确定模块,包括:
第三部位确定子模块,用于响应于所述延伸射线未与所述至少两个肢体部位产生碰撞,确定所述指定肢体部位为所述实际击中部位。
在一种可能的实现方式中,所述属性值修改模块,包括:
第一修改子模块,用于响应于所述实际击中部位是第一类型肢体部位,对所述实际击中部位的所述指定属性值进行扣除;所述第一类型肢体部位包括所述胸腔部位、所述头颈部位中的至少一种;
状态确定子模块,用于响应于所述指定属性值减少为零,确定所述虚拟对象处于被击败状态。
在一种可能的实现方式中,所述属性值修改模块,包括:
第二修改子模块,用于响应于所述实际击中部位是第二类型肢体部位,对所述实际击中部位的所述指定属性值进行扣除;所述第二类型肢体部位包括所述四肢部位以及所述胃部位中的至少一种;
剩余值确定子模块,用于响应于所述实际击中部位的所述指定属性值减少为零,确定剩余损耗数值;所述剩余损耗数值是所述虚拟子弹对应的损耗数值与所述实际击中部位的所述指定属性值的差值;
均值获取子模块,用于响应于存在所述剩余损耗数值,将所述剩余损耗数值按照其它所述肢体部位的数量进行均分,获取剩余损耗均值;
均值扣除子模块,用于对其它所述肢体部位的所述指定属性值分别扣除所述剩余损耗均值。
在一种可能的实现方式中,所述装置还包括:
增益确定模块,用于响应于所述虚拟对象使用指定虚拟道具,确定所述指定虚拟道具对应的增益总数值;
损耗部位获取模块,用于获取所述指定属性值受到损耗的所述肢体部位作为各个属性损耗部位;
数值确定模块,用于按照各个所述属性损耗部位对应的优先级依次分配所述增益总数值,确定各个所述属性损耗部位对应的增益数值;
属性值回复模块,用于基于各个所述属性损耗部位对应的所述增益数值,依次回复各个所述属性损耗部位的所述指定属性值。
在一种可能的实现方式中,所述数值确定模块,包括:
优先部位确定子模块,用于基于触控操作,确定各个所述属性损耗部位中的主增益部位;
主数值确定子模块,用于从所述增益总数值分配所述主增益部位对应的所述增益数值;
优先级获取子模块,用于响应于所述增益总数值大于所述主增益部位对应的属性损耗数值,获取其它所述属性损耗部位对应的优先级;
数值确定子模块,用于按照其它所述属性损耗部位对应的优先级,从剩余增益数值中依次为其它所述属性损耗部位分配所述增益数值;所述剩余增益数值是所述增益总数值与所述主增益部位对应的属性损耗数值的差值。
在一种可能的实现方式中,所述优先部位确定子模块,包括:
控件展示单元,用于对应各个所述属性损耗部位分别展示选择控件;
优先部位确定单元,用于响应于接收到对所述选择控件中的目标控件的触控操作,确定所述目标控件对应的所述属性损耗部位为所述主增益部位。
在一种可能的实现方式中,所述装置还包括:
图标展示模块,用于展示所述虚拟对象对应的属性值显示图标;所述属性值显示图标用于展示所述至少两个肢体部位以及所述肢体部位的所述指定属性值;
图标叠加模块,用于响应于所述肢体部位的所述指定属性值为零,在所述属性值显示图标上叠加展示损毁图标。
另一方面,本申请实施例提供了一种虚拟对象属性值控制装置,所述装置包括:
画面展示模块,用于展示虚拟场景画面,所述虚拟场景画面中包含虚拟对象以及所述虚拟对象的指定属性值;所述虚拟对象包含至少两个肢体部位;所述指定属性值是与所述至少两个肢体部位各自对应的;
属性值展示模块,用于响应于所述虚拟对象中的指定肢体部位被虚拟子弹击中,根据实际击中部位,展示所述至少两个肢体部位各自修改后的所述指定属性值;所述实际击中部位是根据所述延伸射线与所述虚拟对象的所述至少两个肢体部位的碰撞情况进行确定的;所述延伸射线是将所述虚拟子弹的运行轨迹作射线延伸获得的。
另一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的虚拟对象属性值控制方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的虚拟对象属性值控制方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的虚拟对象属性值控制方法。
本申请实施例提供的技术方案的有益效果至少包括:
本申请实施例中,通过对虚拟子弹进行射线检测,确定延伸射线与虚拟对象的肢体部位的碰撞情况,从而确定优先进行指定属性值修改的肢体部位,以对肢体部位各自的指定属性值进行修改,从而解决了虚拟对象利用四肢部位遮挡胸腔部位以及头颈部位导致的伤害分担到四肢部位的问题,比如,遮挡在胸腔部位以及头颈部位的四肢部位通过延伸射线与肢体部位的碰撞情况,可以确定优先进行指定属性值修改的肢体部位为胸腔部位以及头颈部位,从而避免虚拟场景的持续时间不必要的延长,进而节约终端所消耗的电量和数据流量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请一个示例性的实施例提供的虚拟对象属性值控制系统的示意图;
图2是本申请一个示例性实施例提供的虚拟场景的显示界面示意图;
图3是本申请一个示例性实施例提供的虚拟对象属性值控制的流程的示意图;
图4是本申请一个示例性实施例提供的虚拟对象属性值控制的流程的示意图;
图5是本申请一个示例性实施例提供的虚拟对象属性值控制方法的方法流程图;
图6是图5所示实施例涉及的一种延伸射线确定示意图;
图7是图5所示实施例涉及的属性值显示图标在指定界面中的示意图;
图8是图5所示实施例涉及的属性值显示图标在对战界面中的示意图;
图9是图5所示实施例涉及的确定实际击中部位的示意图;
图10是图5所示实施例涉及的虚拟对象处于被击败状态时对战界面的示意图;
图11是图5所示实施例涉及的指定界面均分损耗数值的示意图;
图12是图5所示实施例涉及的一种伤害判定逻辑流程图;
图13是本申请一个示例性实施例提供的虚拟对象属性值控制装置的结构框图;
图14是本申请一示例性实施例提供的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟的场景。该虚拟场景可以是对真实世界的仿真环境场景,也可以是半仿真半虚构的三维环境场景,还可以是纯虚构的三维环境场景。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,下述实施例以虚拟场景是三维虚拟场景来举例说明,但对此不加以限定。可选地,该虚拟场景还可用于至少两个虚拟角色之间的虚拟场景对战。可选地,该虚拟场景还可用于至少两个虚拟角色之间使用虚拟枪械进行对战。可选地,该虚拟场景还可用于在目标区域范围内,至少两个虚拟角色之间使用虚拟枪械进行对战,该目标区域范围会随虚拟场景中的时间推移而不断变小。
虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、虚拟载具中的至少一种。可选地,当虚拟场景为三维虚拟场景时,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟场景中具有自身的形状、体积以及朝向,并占据三维虚拟场景中的一部分空间。
虚拟场景通常由终端等计算机设备中的应用程序生成基于终端中的硬件(比如屏幕)进行展示。该终端可以是智能手机、平板电脑或者电子书阅读器等移动终端;或者,该终端也可以是笔记本电脑或者固定式计算机的个人计算机设备。
虚拟道具:是指虚拟对象在虚拟环境中能够使用的道具,包括手枪、步枪、狙击枪、匕首、刀、剑、斧子等能够对其他虚拟对象发起伤害的虚拟武器,子弹等补给道具,快速弹夹、瞄准镜、消声器等安装在指定虚拟武器上,可以为虚拟武器提供部分属性加成到的虚拟挂件,以及盾牌、盔甲、装甲车等防御道具。
第一人称射击游戏:是指用户能够以第一人称视角进行的射击游戏,游戏中的虚拟环境的画面是以第一虚拟对象的视角对虚拟环境进行观察的画面。在游戏中,至少两个虚拟对象在虚拟环境中进行单局对战模式,虚拟对象通过躲避其他虚拟对象发起的伤害和虚拟环境中存在的危险(比如,毒气圈、沼泽地等)来达到在虚拟环境中存活的目的,当虚拟对象在虚拟环境中的生命值为零时,虚拟对象在虚拟环境中的生命结束,最后存活在虚拟环境中的虚拟对象是获胜方。可选地,该对战以第一个客户端加入对战的时刻作为开始时刻,以最后一个客户端退出对战的时刻作为结束时刻,每个客户端可以控制虚拟环境中的一个或多个虚拟对象。可选地,该对战的竞技模式可以包括单人对战模式、双人小组对战模式或者多人大组对战模式,本申请实施例对对战模式不加以限定。
请参考图1,其示出了本申请一个实施例提供的虚拟对象属性值控制系统的示意图。该虚拟对象属性值控制系统可以包括:第一终端110、服务器120和第二终端130。
第一终端110安装和运行有支持虚拟环境的应用程序111,该应用程序111可以是多人在线对战程序。当第一终端运行应用程序111时,第一终端110的屏幕上显示应用程序111的用户界面。该应用程序111可以是军事仿真程序、多人在线战术竞技游戏(multiplayeronlinebattlearenagames,moba)、大逃杀射击游戏、模拟战略游戏(simulationgame,slg)的任意一种。在本实施例中,以该应用程序111是fps(firstpersonshootinggame,第一人称射击游戏)来举例说明。第一终端110是第一用户112使用的终端,第一用户112使用第一终端110控制位于虚拟环境中的第一虚拟对象进行活动,第一虚拟对象可以称为第一用户112的主控虚拟对象。第一虚拟对象的活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、射击、攻击、投掷、释放技能中的至少一种。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物或动漫人物。
第二终端130安装和运行有支持虚拟环境的应用程序131,该应用程序131可以是多人在线对战程序。当第二终端130运行应用程序131时,第二终端130的屏幕上显示应用程序131的用户界面。该客户端可以是军事仿真程序、moba游戏、大逃杀射击游戏、slg游戏中的任意一种,在本实施例中,以该应用程序131是fps游戏来举例说明。第二终端130是第二用户132使用的终端,第二用户132使用第二终端130控制位于虚拟环境中的第二虚拟对象进行活动,第二虚拟对象可以称为第二用户132的主控虚拟角色。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物或动漫人物。
可选地,第一虚拟对象和第二虚拟对象处于同一虚拟世界中。可选地,第一虚拟对象和第二虚拟对象可以属于同一个阵营、同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限。可选的,第一虚拟对象和第二虚拟对象可以属于不同的阵营、不同的队伍、不同的组织或具有敌对关系。
可选地,第一终端110和第二终端130上安装的应用程序是相同的,或两个终端上安装的应用程序是不同操作系统平台(安卓或ios)上的同一类型应用程序。第一终端110可以泛指多个终端中的一个,第二终端130可以泛指多个终端中的另一个,本实施例仅以第一终端110和第二终端130来举例说明。第一终端110和第二终端130的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、mp3播放器、mp4播放器、膝上型便携计算机和台式计算机中的至少一种。
图1中仅示出了两个终端,但在不同实施例中存在多个其它终端可以接入服务器120。可选地,还存在一个或多个终端是开发者对应的终端,在该终端上安装有支持虚拟环境的应用程序的开发和编辑平台,开发者可在该终端上对应用程序进行编辑和更新,并将更新后的应用程序安装包通过有线或无线网络传输至服务器120,第一终端110和第二终端130可从服务器120下载应用程序安装包实现对应用程序的更新。
第一终端110、第二终端130以及其它终端通过无线网络或有线网络与服务器120相连。
服务器120包括一台服务器、多台服务器组成的服务器集群、云计算平台和虚拟化中心中的至少一种。服务器120用于为支持三维虚拟环境的应用程序提供后台服务。可选地,服务器120承担主要计算工作,终端承担次要计算工作;或者,服务器120承担次要计算工作,终端承担主要计算工作;或者,服务器120和终端之间采用分布式计算架构进行协同计算。
在一个示意性的例子中,服务器120包括存储器121、处理器122、用户账号数据库123、对战服务模块124、面向用户的输入/输出接口(input/outputinterface,i/o接口)125。其中,处理器122用于加载服务器120中存储的指令,处理用户账号数据库123和对战服务模块124中的数据;用户账号数据库123用于存储第一终端110、第二终端130以及其它终端所使用的用户账号的数据,比如用户账号的头像、用户账号的昵称、用户账号的战斗力指数,用户账号所在的服务区;对战服务模块124用于提供多个对战房间供用户进行对战,比如1v1对战、3v3对战、5v5对战等;面向用户的i/o接口125用于通过无线网络或有线网络和第一终端110和/或第二终端130建立通信交换数据。
其中,虚拟场景可以是三维虚拟场景,或者,虚拟场景也可以是二维虚拟场景。以虚拟场景是三维虚拟场景为例,请参考图2,其示出了本申请一个示例性的实施例提供的虚拟场景的显示界面示意图。如图2所示,虚拟场景的显示界面包含场景画面200,该场景画面200中包括当前控制的虚拟对象210、三维虚拟场景的环境画面220、以及虚拟对象240。其中,虚拟对象240可以是其它终端对应用户控制的虚拟对象或者应用程序控制的虚拟对象。
在图2中,当前控制的虚拟对象210与虚拟对象240是在三维虚拟场景中的三维模型,在场景画面200中显示的三维虚拟场景的环境画面为当前控制的虚拟对象210的视角所观察到的物体,示例性的,如图2所示,在当前控制的虚拟对象210的视角观察下,显示的三维虚拟场景的环境画面220为大地224、天空225、地平线223、小山221以及厂房222。
当前控制的虚拟对象210可以在用户的控制下进行技能释放或者虚拟道具的使用,移动以及执行指定动作,在用户的控制下虚拟场景中的虚拟对象可以展示不同的三维模型,比如,终端的屏幕支持触控操作,且虚拟场景的场景画面200中包含虚拟控件,则用户触控该虚拟控件时,当前控制的虚拟对象210可以在虚拟场景执行指定动作并且展示当前对应的三维模型。
计算机设备可以通过该虚拟对象属性值控制方法,确定虚拟对象在虚拟场景中受到虚拟子弹射击后,修改至少两个肢体部位各自的指定属性值,图3示出了本申请一个示例性的实施例提供的虚拟对象属性值控制的流程的示意图。其中,上述方法可以由计算机设备执行,该计算机设备可以是终端,也可以是服务器,或者,上述计算机设备也可以包含上述终端和服务器。如图3所示,计算机设备可以通过执行以下步骤来控制虚拟对象的属性值。
步骤301,响应于虚拟对象中的指定肢体部位被虚拟子弹击中,对虚拟子弹的运行轨迹作射线延伸,将延伸后的射线确定为延伸射线;虚拟对象包含至少两个肢体部位。
在本申请实施例中,当虚拟对象中的指定肢体部位被虚拟子弹击中时,计算机设备获取该虚拟子弹的运行轨迹,并且在虚拟子弹发生碰撞停止运行后作运动轨迹的射线延伸,将延伸后的射线确定为该虚拟子弹的延伸射线。
在一种可能的实现方式中,在虚拟场景中存在虚拟对象,并且虚拟对象的身体分为至少两个肢体部位。
其中,肢体部位是虚拟对象的身体上可以支持单独统计指定属性值的区域。延伸射线是虚拟子弹沿着击中虚拟对象之前的弹道延伸得到的射线。
步骤302,获取延伸射线与虚拟对象的至少两个肢体部位的碰撞情况。
在本申请实施例中,当虚拟对象被虚拟子弹击中时,该虚拟子弹受到碰撞后停止运行形成该虚拟子弹实际的运行轨迹,在停止运行后基于射线检测对虚拟子弹的运行轨迹作射线延伸,计算机设备获取延伸射线部分与该虚拟对象的肢体部位的碰撞情况。
其中,碰撞情况可以分为延伸射线与虚拟对象产生碰撞,或者,延伸射线与虚拟对象未产生碰撞。
步骤303,根据碰撞情况,确定实际击中部位;实际击中部位是优先对指定属性值进行修改的肢体部位。
在本申请实施例中,计算机设备根据获取到的碰撞情况,确定该碰撞情况对应的实际击中部位。
在一种可能的实现方式中,延伸射线与虚拟对象产生碰撞与延伸射线与虚拟对象未产生碰撞这两种情况,分别确定不同的实际击中部位。
步骤304,根据实际击中部位,对至少两个肢体部位各自的指定属性值进行修改。
在本申请实施例中,根据确定的实际击中部位,计算机设备对该虚拟对象的至少两个肢体部位各自的指定属性值进行修改。
在一种可能的实现方式中,根据确定的实际击中部位,对至少两个肢体部位各自的指定属性值进行减少。
比如,当指定属性值是生命值时,计算机设备可以根据实际击中部位对至少两个肢体部位各自的生命值进行减少。
综上所述,本申请实施例所示的方案,通过对虚拟子弹进行射线检测,确定延伸射线与虚拟对象的肢体部位的碰撞情况,从而确定优先进行指定属性值修改的肢体部位,以对肢体部位各自的指定属性值进行修改,从而解决了虚拟对象利用四肢部位遮挡胸腔部位以及头颈部位导致的伤害分担到四肢部位的问题,比如,遮挡在胸腔部位以及头颈部位的四肢部位通过延伸射线与肢体部位的碰撞情况,可以确定优先进行指定属性值修改的肢体部位为胸腔部位以及头颈部位,从而减少虚拟对象在受击过程中的存活时间,从而避免虚拟场景的持续时间不必要的延长,进而节约终端所消耗的电量和数据流量。
图4示出了本申请一个示例性的实施例提供的虚拟对象属性值控制的流程的示意图。其中,上述方法可以由计算机设备执行,该计算机设备可以是终端,也可以是服务器,或者,上述计算机设备也可以包含上述终端和服务器。如图4所示,计算机设备可以通过执行以下步骤来控制虚拟对象的属性值。
步骤401,展示虚拟场景画面,虚拟场景画面中包含虚拟对象以及虚拟对象的指定属性值;虚拟对象包含至少两个肢体部位;指定属性值是与至少两个肢体部位各自对应的。
步骤402,响应于虚拟对象中的指定肢体部位被虚拟子弹击中,根据实际击中部位,展示至少两个肢体部位各自修改后的指定属性值;实际击中部位是根据延伸射线与虚拟对象的至少两个肢体部位的碰撞情况进行确定的;延伸射线是将虚拟子弹的运行轨迹作射线延伸获得的。
综上所述,本申请实施例所示的方案,通过对虚拟子弹进行射线检测,确定延伸射线与虚拟对象的肢体部位的碰撞情况,从而确定优先进行指定属性值修改的肢体部位,以对肢体部位各自的指定属性值进行修改,从而解决了虚拟对象利用四肢部位遮挡胸腔部位以及头颈部位导致的伤害分担到四肢部位的问题,比如,遮挡在胸腔部位以及头颈部位的四肢部位通过延伸射线与肢体部位的碰撞情况,可以确定优先进行指定属性值修改的肢体部位为胸腔部位以及头颈部位,从而减少虚拟对象在受击过程中的存活时间,从而避免虚拟场景的持续时间不必要的延长,进而节约终端所消耗的电量和数据流量。
图5示出了本申请一个示例性的实施例提供的虚拟对象属性值控制方法的方法流程图。其中,上述方法可以由计算机设备执行,该计算机设备可以是终端,也可以是服务器,或者,上述计算机设备也可以包含上述终端和服务器。如图5所示,以计算机设备是终端,终端可以通过执行以下步骤来控制虚拟对象至少两个肢体部位各自的指定属性值。
步骤501,响应于虚拟对象中的指定肢体部位被虚拟子弹击中,对虚拟子弹的运行轨迹作射线延伸,将延伸后的射线确定为延伸射线。
在本申请实施例中,当虚拟对象的指定肢体部位被虚拟子弹击中时,获取虚拟子弹的运行轨迹,并且对运行轨迹作射线延伸,将延伸后的射线确定为延伸射线。
其中,虚拟对象包含至少两个肢体部位。肢体部位是虚拟对象的身体上可以支持单独统计指定属性值的区域。指定肢体部位包括四肢部位。
在一种可能的实现方式中,至少两个肢体部位包括胸腔部位、头颈部位、四肢部位以及胃部位中的至少一种。
其中,四肢部位包括手臂部位以及腿脚部位,手臂部位包括左臂部位以及右臂部位,腿脚部位包括左腿部位以及右腿部位。
在一种可能的实现方式中,指定肢体部位是四肢部位中的手臂部位。当虚拟对象的手臂部位被虚拟子弹击中时,获取虚拟子弹的运行轨迹,并且对运行轨迹作射线延伸,将延伸后的射线确定为延伸射线。
其中,至少两个肢体部位按照肢体部位种类不同分为第一类型肢体部位以及第二类型肢体部位。
其中,第一类型肢体部位包含胸腔部位以及头颈部位中的至少一种;第二类型肢体部位包含四肢部位以及胃部位中的至少一种。
比如,图6示出了本申请一个示例性的实施例提供的延伸射线确定示意图。如图6所示,第一虚拟对象61是其他用户控制的虚拟对象,第二虚拟对象62是终端控制的虚拟对象,当第一虚拟对象61向第二虚拟对象62进行射击时,虚拟子弹沿着运行轨迹63击中第二虚拟对象62,击中点65属于左臂部位,击中点65作为射线延长的起始点,通过对虚拟子弹的运行轨迹63进行射线延长,获得延伸射线64。延伸射线64与第二虚拟对象62产生碰撞的是胸腔部位,延伸射线64的碰撞点66位于胸腔部位。
在一种可能的实现方式中,终端展示虚拟对象对应的属性值显示图标。
其中,属性值显示图标用于展示至少两个肢体部位以及肢体部位的指定属性值。
在一种可能的实现方式中,属性值显示图标展示在指定界面中。
其中,指定界面可以是虚拟对象用于展示背包内容和虚拟对象健康情况的显示界面。
比如,图7示出了本申请一个示例性的实施例提供的属性值显示图标在指定界面中的示意图。如图7所示,在指定界面中的属性值显示图标中包含虚拟对象身体剪影71,以及各个肢体部位对应的名称和指定属性值数值72。
在另一种可能的实现方式中,属性值显示图标展示在对战界面中。
其中,在对战界面中展示的属性值显示图标可以展示等比例缩小后的虚拟对象身体剪影。
比如,图8示出了本申请一个示例性的实施例提供的属性值显示图标在对战界面中的示意图。如图8所示,在对战界面中包含虚拟对象81以及虚拟对象81对应的属性值显示图标82,属性值显示图标82展示在对战界面的左上角,属性值显示图标82为等比例缩小的虚拟对象身体剪影。左腿部位84由于属性值为零显示为损毁状态,并且在左腿部位的附近显示损毁图标83。
步骤502,获取延伸射线与虚拟对象的至少两个肢体部位的碰撞情况。
在本申请实施例中,基于射线检测算法,获取延伸射线与虚拟对象的碰撞情况。
在一种可能的实现方式中,碰撞情况是指延伸射线与虚拟对象是否产生碰撞,以及若产生碰撞延伸射线与虚拟对象产生碰撞的肢体部位对应的部位种类。
其中,肢体部位的部位种类可以划分为第一类型肢体部位以及第二类型肢体部位。
例如,第一类型肢体部位可以包含胸腔部位以及头颈部位,第一类型肢体部位对应的指定属性值直接决定虚拟对象的生命状态;第二类型肢体部位可以包含四肢部位以及胃部位中,第二类型肢体部位对应的指定属性值发生减少会导致虚拟对象产生负面效果。
步骤503,根据碰撞情况,确定实际击中部位。
在本申请实施例中,根据获取到的碰撞情况,确定该碰撞情况对应的实际击中部位。
其中,实际击中部位是优先对指定属性值进行修改的肢体部位。
在一种可能的实现方式中,碰撞情况分为三种,第一种碰撞情况是延伸射线与第一类型肢体部位产生碰撞,第二种碰撞情况是延伸射线与第二类型肢体部位产生碰撞,第三种碰撞情况是延伸射线未与肢体部位产生碰撞。
其中,根据碰撞情况确定实际击中部位可以分为以下三种情况。
1)响应于延伸射线与胸腔部位,或者延伸射线与所头颈部位产生碰撞,确定与延伸射线产生碰撞的肢体部位为实际击中部位。
其中,当获取到延伸射线与部位种类是第一类型肢体部位的肢体部位产生碰撞时,可以确定产生碰撞的第一类型肢体部位是实际击中部位。
比如,图9示出了本申请一个示例性的实施例提供的确定实际击中部位的示意图。如图9所示,在对战界面中,由我方终端控制的第一虚拟对象91受到了敌方第二虚拟对象92的射击,第一虚拟对象91的左手臂遮挡在头部,当虚拟子弹按照运行轨迹运行时,在与左手臂发生碰撞后停止运行,然后对运行轨迹进行射线延伸,获取到延伸射线与第一虚拟对象的头颈部位产生碰撞,可以确定实际受击部位是头颈部位,在对战界面的左上角展示的属性值显示图标93,并且在头颈部位进行指定显示。
2)响应于延伸射线与四肢部位,或者延伸射线与胃部位产生碰撞,确定指定肢体部位为实际击中部位。
其中,当获取到延伸射线与部位种类是第二肢体部位的肢体部位产生碰撞时,可以确定虚拟子弹运行轨迹与肢体部位产生碰撞的肢体部位是实际击中部位,虚拟子弹运行轨迹与肢体部位产生碰撞的肢体部位可以是第一类型肢体部位,也可以是第二肢体部位。
在一种可能的实现方式中,虚拟子弹的运行轨迹与虚拟对象产生碰撞的肢体部位是上述延伸射线的起始点所在的肢体部位。
3)响应于延伸射线未与至少两个肢体部位产生碰撞,确定指定肢体部位为实际击中部位。
其中,当确定延伸射线没有与肢体部位产生碰撞时,可以确定虚拟子弹运行轨迹与肢体部位产生碰撞的肢体部位是实际击中部位,虚拟子弹运行轨迹与肢体部位产生碰撞的肢体部位可以是第一类型肢体部位,也可以是第二类型肢体部位。
步骤504,根据实际击中部位,对至少两个肢体部位各自的指定属性值进行修改。
在本申请实施例中,根据实际击中部位所属的部位种类以及指定属性值情况,对实际击中部位进行指定属性值修改,或者除了对实际击中部位进行指定属性值修改,也对其它肢体部位各自的指定属性值进行修改。
在一种可能的实现方式中,根据实际击中部位的部位种类,确定修改指定属性值的方案。
其中,根据实际击中部位的部位种类确定修改指定属性值具有以下方案。
1)响应于实际击中部位是第一类型肢体部位,对实际击中部位的指定属性值进行扣除,响应于指定属性值减少为零,确定虚拟对象处于被击败状态。
其中,第一类型肢体部位包括胸腔部位、头颈部位中的至少一种,当实际击中部位是第一类型肢体部位时,根据虚拟子弹的对指定属性值的损耗数值,对实际击中部位的指定属性值进行减少,当实际击中部位的指定属性值小于等于虚拟子弹的对指定属性值的损耗数值时,实际击中部位的指定属性值修改为零,并且确定虚拟对象处于被击败状态。
其中,被击败状态可以是指虚拟对象处于死亡状态或者淘汰状态,即处于被击败状态的虚拟对象不能继续进行对战。
比如,图10示出了本申请一个示例性的实施例提供的虚拟对象处于被击败状态时对战界面的示意图。如图10所示,在对战过程中,当第一虚拟对象的实际击中部位是头颈部位,并且受到的损耗数值大于等于第一虚拟对象的头颈部位具有的指定属性值时,第一虚拟对象转变为“盒”1001,并且在对战界面的左上角展示头颈部位变为黑色的属性值显示图标1002,此时,观察虚拟场景画面的视角由第一人称视角转换为第三人称视角。
2)响应于实际击中部位是第二类型肢体部位,对实际击中部位的指定属性值进行扣除;响应于实际击中部位的指定属性值减少为零,确定剩余损耗数值;响应于存在剩余损耗数值,将剩余损耗数值按照其它肢体部位的数量进行均分,获取剩余损耗均值;对其它肢体部位的指定属性值分别扣除剩余损耗均值。
其中,剩余损耗数值是虚拟子弹对应的损耗数值与实际击中部位的指定属性值的差值。第二类型肢体部位包括四肢部位以及胃部位中的至少一种。
其中,当实际击中部位是第二类型肢体部位,实际击中部位的指定属性值小于损耗数值时,确定损耗数值与指定属性值的差值作为剩余损耗数值;将剩余损耗数值按照其它未损毁的肢体部位的数量进行均分,获取剩余损耗均值;控制实际击中部位的指定属性值减少为0,使实际击中部位转变为损毁状态,同时,控制其它肢体部位对应的指定属性值各自减少剩余损耗均值。
在一种可能的实现方式中,响应于肢体部位的指定属性值为零,在属性值显示图标上叠加展示损毁图标。使肢体部位处于损毁状态。
在一种可能的实现方式中,根据肢体部位的指定属性值的损耗情况,在属性值显示图标的对应肢体部位处显示指定颜色。
比如,图11示出了本申请一个示例性的实施例提供的指定界面均分损耗数值的示意图。如图11所示,以指定属性值是生命值,且初始生命值为满值为例,当实际受击部位是左腿部位,虚拟子弹具有的伤害值是95点伤害,左腿部位的生命值1103显示左腿部位的生命值满值为65点,当受到虚拟子弹的射击时,左腿部位的生命值1103为零,并且在左腿部位的生命值1003显示区域附近展示损毁图标1104,在虚拟对象身体剪影的左腿部位1102显示为黑色,同时,由于其它未损毁的肢体部位包括胸腔部位、右臂部位、右腿部位、头颈部位、左臂部位以及胃部位,其它未损毁的肢体部位的数量为6,所以剩余损耗数值的30点可以均分为5点,剩余损耗均值为5点,其他未损毁的肢体部位的生命值各减少5点,并且在虚拟对象身体剪影的其它未损毁的肢体部位1101显示为红色。其中,肢体部位的指定属性值为满值或者大于指定阈值时,虚拟对象身体剪影对应的肢体部位处可以显示为绿色。
在一种可能的实现方式中,响应于实际击中部位是第二肢体部位,对实际击中部位的指定属性值进行减少;响应于指定属性值减少为零,确定剩余损耗数值;响应于存在剩余损耗数值,将剩余损耗数值按照其它肢体部位的数量进行均分后乘指定倍数,获取加倍剩余损耗均值;控制其它肢体部位的指定属性值各自减少加倍剩余损耗均值。
在一种可能的实现方式中,当第二肢体部位的指定属性值为零时,虚拟对象不会死亡,根据不同的肢体部位控制虚拟对象进入不同的相应的负面状态。
比如,当虚拟对象的左臂部位或者右臂部位的血量为零时,虚拟对象在持枪状态下产生手部抖动,以此模拟虚拟对象手部损毁持枪不稳的状态。当虚拟对象的左腿部位或者右腿部位的血量为零时,虚拟对象在行走状态下产生镜头抖动,以此模拟虚拟对象腿部损毁走路不稳的状态。当虚拟对象的胃部位血量为零时,控制虚拟对象的水分和饥饿下降速率加快,以此模拟虚拟对象胃部损毁后水分体力的快速流失状态。
步骤505,响应于虚拟对象使用指定虚拟道具,按照各个属性损耗部位的优先级确定各个属性损耗部位对应的增益数值。
在本申请实施例中,当虚拟对象使用指定虚拟道具回复指定属性值时,按照虚拟对象具有指定属性值损耗的肢体部位对应的优先级,确定各个属性损耗部位对应的增益数值。
在一种可能的实现方式中,响应于虚拟对象使用指定虚拟道具,确定指定虚拟道具对应的增益总数值;获取指定属性值受到损耗的肢体部位作为各个属性损耗部位;按照各个属性损耗部位对应的优先级依次分配增益总数值,确定各个属性损耗部位对应的增益数值。
其中,肢体部位的优先级可以是由游戏策划配置的固定顺序,也可以是由用户进行自定义设置的顺序。
比如,以指定属性值为生命值为例,当控制虚拟对象使用指定虚拟道具,确定该指定虚拟道具对应的增益总数值也就是治疗值为200点生命值,获取到该虚拟对象的胸腔部位生命值损耗了60点,左臂部位生命值损耗了50点,胃部位生命值损耗了60点,右腿部位生命值损耗了40点,确定属性损耗部位为胸腔部位、左臂部位、胃部位以及右腿部位,获取到肢体部位的优先级为胸腔部位大于胃部位大于左臂部位以及右腿部位,由于右腿部位生命值损耗数值小于左臂部位生命值损耗数值,所以此时左臂部位的优先级大于右腿部位的优先级。根据属性损耗部位对应的优先级依次分配所述增益总数值,可以确定胸腔部位分配了60点增益数值,胃部位分配了60点增益数值,左臂部位分配了50点增益数值,右腿部位分配了30点增益数值。
在一种可能的实现方式中,基于触控操作,确定各个属性损耗部位中的主增益部位;从增益总数值分配主增益部位对应的增益数值;响应于增益总数值大于主增益部位对应的属性损耗数值,获取其它属性损耗部位对应的优先级;按照其它属性损耗部位对应的优先级,从剩余增益数值中依次为其它属性损耗部位分配增益数值。
其中,主增益部位是优先分配增益数值的属性损耗部位。剩余增益数值是增益总数值与主增益部位对应的属性损耗数值的差值。其它属性损耗部位是各个属性损耗部位中,除了主增益部位之外的其它肢体部位。
在一种可能的实现方式中,对应各个属性损耗部位分别展示选择控件;响应于接收到对选择控件中的目标控件的触控操作,确定目标控件对应的属性损耗部位为主增益部位。
比如,以指定属性值为生命值为例,当控制虚拟对象使用指定虚拟道具,确定该指定虚拟道具对应的增益总数值也就是治疗值为200点生命值,获取到该虚拟对象的胸腔部位生命值损耗了60点,左臂部位生命值损耗了50点,胃部位生命值损耗了60点,右腿部位生命值损耗了40点,确定属性损耗部位为胸腔部位、左臂部位、胃部位以及右腿部位,基于对选择控件的触控操作,选择右腿部位为主增益部位,获取到固定的肢体部位的优先级为胸腔部位大于胃部位大于左臂部位以及右腿部位,所以此时增益顺序为右腿部位优先级大于胸腔部位大于胃部位大于左臂部位。根据属性损耗部位对应的优先级依次分配所述增益总数值,可以确定右腿部位分配了40点增益数值,胸腔部位分配了60点增益数值,胃部位分配了60点增益数值,左臂部位分配了40点增益数值。
步骤506,基于各个属性损耗部位对应的增益数值,依次回复各个属性损耗部位的指定属性值。
在本申请实施例中,根据各个属性损耗部位对应的增益数值,控制各个属性损耗部位的指定属性值加上对应的增益数值。
比如,运用本实施例中虚拟对象属性值控制方法,可以实现控制虚拟对象血量损耗的过程,虚拟对象的血量可以拆分为头部、胸腔、左臂、右臂、胃部、左腿、右腿分别对应的血量,根据不同的部位可以设计不同的血量数值。当各个部位血量未到达0时,各个部位的血量变化相互独立。当部位血量到达0后,该部位的血条及虚拟对象的骨骼剪影会变为黑色。当头部或胸部血量为0时,该角色死亡。当除了头部、胸部外其他部位血量为0时,该角色不会死亡,而是根据部位的不同具有相应的负面状态。若该部位再次受到伤害,则该伤害会乘以一个部位系数后平摊至所有血量不为0的部位上。
其中,部位血量可以在hud(headupdisplay,平视显示器)界面或者人物背包内的健康页签中展示。健康页签中的正中间位置可以放置一个面向玩家的人物剪影,并在人物剪影四周放置部位血条,该部位血条的位置可以与人物剪影的部位位置一一对应,同时,虚拟对象的部位剪影与血条颜色会随着血量的减少由绿色向红色逐渐过渡。在hud界面左上角可以放置一个相同的人物剪影,该人物剪影的部位颜色变化与健康页签的人物剪影的部位颜色变化保持一致,可以使玩家在战斗中快速了解到自己角色各部位的当前状态。当各个部位血量到达0后,会出现一个表达“损毁”的图标,该损毁图标可以是一个红色的叉。
其中,各个部位对应的护甲道具可以根据上述部位划分进行分别保护,从而多维度的提升用户的射击体验,让用户可以直接感受在虚拟场景中部位血量变化对于虚拟对象的影响。
请参考图12,其示出了本申请一个示例性的实施例提供的伤害判定逻辑流程图。具体步骤如下所示。当玩家受到伤害时(s1201),判断玩家的受击命中部位(s1202)。其中,受击命中部位的确定是由胶囊体进行实现,通过定义每个胶囊体的物理材质来确定具体受击的部位。若受击部位为头部或者胸部时(s1203),则判断头部或者胸部对应的血量是否为0,若不是0则继续进行战斗受到伤害(s1204),若血量为0,则判定玩家控制的虚拟对象死亡(s1205)。若受击命中部位为其他部位(s1206),则判断该部位是否为0,若不是0则继续进行战斗受到伤害(s1207),若血量为0,则引发扩散伤害,传达到所有血量为非零的部位(s1208)。
综上所述,本申请实施例所示的方案,通过对虚拟子弹进行射线检测,确定延伸射线与虚拟对象的肢体部位的碰撞情况,从而确定优先进行指定属性值修改的肢体部位,以对肢体部位各自的指定属性值进行修改,从而解决了虚拟对象利用四肢部位遮挡胸腔部位以及头颈部位导致的伤害分担到四肢部位的问题,比如,遮挡在胸腔部位以及头颈部位的四肢部位通过延伸射线与肢体部位的碰撞情况,可以确定优先进行指定属性值修改的肢体部位为胸腔部位以及头颈部位,从而减少虚拟对象在受击过程中的存活时间,从而避免虚拟场景的持续时间不必要的延长,进而节约终端所消耗的电量和数据流量。
图13是本申请一个示例性实施例提供的虚拟对象属性值控制装置的结构框图,该装置可以设置于图1所示实施环境中的第一终端110或第二终端130或该实施环境中的其它终端,该装置包括:
射线确定模块1310,用于响应于虚拟对象中的指定肢体部位被虚拟子弹击中,对所述虚拟子弹的运行轨迹作射线延伸,将延伸后的射线确定为延伸射线;所述虚拟对象包含至少两个肢体部位;
碰撞获取模块1320,用于获取所述延伸射线与所述虚拟对象的所述至少两个肢体部位的碰撞情况;
部位确定模块1330,用于根据所述碰撞情况,确定实际击中部位;所述实际击中部位是优先对指定属性值进行修改的所述肢体部位;
属性值修改模块1340,用于根据所述实际击中部位,对所述至少两个肢体部位各自的所述指定属性值进行修改。
在一种可能的实现方式中,所述至少两个肢体部位包括胸腔部位、头颈部位、四肢部位以及胃部位中的至少一种;
所述指定肢体部位包括所述四肢部位。
在一种可能的实现方式中,所述部位确定模块1330,包括:
第一部位确定子模块,用于响应于所述延伸射线与所述胸腔部位,或者所述延伸射线与所述头颈部位产生碰撞,确定与所述延伸射线产生碰撞的所述肢体部位为所述实际击中部位。
在一种可能的实现方式中,所述部位确定模块1330,包括:
第二部位确定子模块,用于响应于所述延伸射线与所述四肢部位,或者所述延伸射线与所述胃部位产生碰撞,确定所述指定肢体部位为所述实际击中部位。
在一种可能的实现方式中,所述部位确定模块1330,包括:
第三部位确定子模块,用于响应于所述延伸射线未与所述至少两个肢体部位产生碰撞,确定所述指定肢体部位为所述实际击中部位。
在一种可能的实现方式中,所述属性值修改模块1340,包括:
第一修改子模块,用于响应于所述实际击中部位是所述第一类型肢体部位,对所述实际击中部位的所述指定属性值进行扣除;所述第一类型肢体部位包括所述胸腔部位、所述头颈部位中的至少一种;
状态确定子模块,用于响应于所述指定属性值减少为零,确定所述虚拟对象处于被击败状态。
在一种可能的实现方式中,所述属性值修改模块1340,包括:
第二修改子模块,用于响应于所述实际击中部位是第二类型肢体部位,对所述实际击中部位的所述指定属性值进行扣除;所述第二类型肢体部位包括所述四肢部位以及所述胃部位中的至少一种;
剩余值确定子模块,用于响应于所述实际击中部位的所述指定属性值减少为零,确定剩余损耗数值;所述剩余损耗数值是所述虚拟子弹对应的损耗数值与所述实际击中部位的所述指定属性值的差值;
均值获取子模块,用于响应于存在所述剩余损耗数值,将所述剩余损耗数值按照其它所述肢体部位的数量进行均分,获取剩余损耗均值;
均值扣除子模块,用于对其它所述肢体部位的所述指定属性值分别扣除所述剩余损耗均值。
在一种可能的实现方式中,所述装置还包括:
增益确定模块,用于响应于所述虚拟对象使用指定虚拟道具,确定所述指定虚拟道具对应的增益总数值;
损耗部位获取模块,用于获取所述指定属性值受到损耗的所述肢体部位作为各个属性损耗部位;
数值确定模块,用于按照各个所述属性损耗部位对应的优先级依次分配所述增益总数值,确定各个所述属性损耗部位对应的增益数值;
属性值回复模块,用于基于各个所述属性损耗部位对应的所述增益数值,依次回复各个所述属性损耗部位的所述指定属性值。
在一种可能的实现方式中,所述数值确定模块,包括:
优先部位确定子模块,用于基于触控操作,确定各个所述属性损耗部位中的主增益部位;
主数值确定子模块,用于从所述增益总数值分配所述主增益部位对应的所述增益数值;
优先级获取子模块,用于响应于所述增益总数值大于所述主增益部位对应的属性损耗数值,获取其它所述属性损耗部位对应的优先级;
数值确定子模块,用于按照其它所述属性损耗部位对应的优先级,从剩余增益数值中依次为其它所述属性损耗部位分配所述增益数值;所述剩余增益数值是所述增益总数值与所述主增益部位对应的属性损耗数值的差值。
在一种可能的实现方式中,所述优先部位确定子模块,包括:
控件展示单元,用于对应各个所述属性损耗部位分别展示选择控件;
优先部位确定单元,用于响应于接收到对所述选择控件中的目标控件的触控操作,确定所述目标控件对应的所述属性损耗部位为所述主增益部位。
在一种可能的实现方式中,所述装置还包括:
图标展示模块,用于展示所述虚拟对象对应的属性值显示图标;所述属性值显示图标用于展示所述至少两个肢体部位以及所述肢体部位的所述指定属性值;
图标叠加模块,用于响应于所述肢体部位的所述指定属性值为零,在所述属性值显示图标上叠加展示损毁图标。
综上所述,本申请实施例所示的方案,通过对虚拟子弹进行射线检测,确定延伸射线与虚拟对象的肢体部位的碰撞情况,从而确定优先进行指定属性值修改的肢体部位,以对肢体部位各自的指定属性值进行修改,从而解决了虚拟对象利用四肢部位遮挡胸腔部位以及头颈部位导致的伤害分担到四肢部位的问题,比如,遮挡在胸腔部位以及头颈部位的四肢部位通过延伸射线与肢体部位的碰撞情况,可以确定优先进行指定属性值修改的肢体部位为胸腔部位以及头颈部位,从而减少虚拟对象在受击过程中的存活时间,从而避免虚拟场景的持续时间不必要的延长,进而节约终端所消耗的电量和数据流量。
图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和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口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还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405可以为一个,设置计算机设备1400的前面板;在另一些实施例中,显示屏1405可以为至少两个,分别设置在计算机设备1400的不同表面或呈折叠设计;在再一些实施例中,显示屏1405可以是柔性显示屏,设置在计算机设备1400的弯曲表面上或折叠面上。甚至,显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。显示屏1405可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。
定位组件1408用于定位计算机设备1400的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1408可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的glonass(globalnavigationsatellitesystem,全球卫星导航系统)或者欧洲的伽利略系统的定位组件。
电源1409用于为计算机设备1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
加速度传感器1411可以检测以计算机设备1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1411采集的重力加速度信号,控制触摸显示屏以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1412可以检测计算机设备1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对计算机设备1400的3d动作。处理器1401根据陀螺仪传感器1412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1413可以设置在计算机设备1400的侧边框和/或触摸显示屏的下层。当压力传感器1413设置在计算机设备1400的侧边框时,可以检测用户对计算机设备1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在触摸显示屏的下层时,由处理器1401根据用户对触摸显示屏的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1414用于采集用户的指纹,由处理器1401根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器1414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1414可以被设置计算机设备1400的正面、背面或侧面。当计算机设备1400上设置有物理按键或厂商logo时,指纹传感器1414可以与物理按键或厂商logo集成在一起。
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制触摸显示屏的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏的显示亮度;当环境光强度较低时,调低触摸显示屏的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
接近传感器1416,也称距离传感器,通常设置在计算机设备1400的前面板。接近传感器1416用于采集用户与计算机设备1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与计算机设备1400的正面之间的距离逐渐变小时,由处理器1401控制触摸显示屏从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与计算机设备1400的正面之间的距离逐渐变大时,由处理器1401控制触摸显示屏从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图14中示出的结构并不构成对计算机设备1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由处理器执行以完成上述图3或图5对应实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是rom(read-onlymemory,只读存储器)、随机存取存储器(randomaccessmemory,ram)、cd-rom(compactdiscread-onlymemory,只读光盘)、磁带、软盘和光数据存储设备等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的虚拟对象属性值控制方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除