CN112169325B - 虚拟道具控制方法、装置、计算机设备及存储介质 - Google Patents
虚拟道具控制方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112169325B CN112169325B CN202011020884.9A CN202011020884A CN112169325B CN 112169325 B CN112169325 B CN 112169325B CN 202011020884 A CN202011020884 A CN 202011020884A CN 112169325 B CN112169325 B CN 112169325B
- Authority
- CN
- China
- Prior art keywords
- target virtual
- virtual prop
- recoil
- vector
- shooting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 230000008569 process Effects 0.000 claims abstract description 66
- 230000004044 response Effects 0.000 claims description 50
- 238000006073 displacement reaction Methods 0.000 claims description 33
- 238000012937 correction Methods 0.000 claims description 18
- 230000008685 targeting Effects 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 25
- 230000003993 interaction Effects 0.000 abstract description 6
- 238000010304 firing Methods 0.000 description 25
- 238000004422 calculation algorithm Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004088 simulation Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101150027978 UMOD gene Proteins 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009187 flying Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000002147 killing effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000002574 poison Substances 0.000 description 1
- 231100000614 poison Toxicity 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000009183 running Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003584 silencer Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000009184 walking Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/837—Shooting of targets
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8076—Shooting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例公开了一种虚拟道具控制方法、装置、计算机设备及存储介质,属于虚拟场景技术领域。该方法包括:展示虚拟场景画面,响应于目标虚拟道具在连续射击过程中进行了一次射击,获取目标虚拟道具的射击统计数据;基于目标虚拟道具的射击统计数据,控制目标虚拟道具的瞄准方向进行偏移。本方案提供一种在虚拟场景中,使得目标虚拟道具的瞄准方向在连续射击过程中可控的方案,提高了虚拟场景中的人机交互的效果,进而节约终端所消耗的电量和数据流量。
Description
技术领域
本申请涉及虚拟场景技术领域,特别涉及一种虚拟道具控制方法、装置、计算机设备及存储介质。
背景技术
目前,在具有虚拟道具的游戏类应用程序中,比如,在第一人称射击类游戏中,为了模拟真实枪械开火过程中产生的后坐力,可以通过算法控制虚拟枪械在开火过程中实现对虚拟枪械进行上抬偏移。
在相关技术中,为了模拟真实枪械开火过程中产生的后坐力,计算机配置的后坐力算法是一种随机算法,即在游戏过程中虚拟枪械后坐力导致虚拟枪械产生的移动轨迹是不可控制的。
然而,相关技术中仅通过随机算法模拟后坐力,会导致虚拟枪械在连续射击过程中的人机交互效果较差,从而导致单局对战的时间较长,浪费了终端所消耗的电量和数据流量。
发明内容
本申请实施例提供了一种虚拟道具控制方法、装置、计算机设备及存储介质。所述技术方案如下:
一方面,本申请实施例提供了一种虚拟道具控制方法,所述方法包括:
展示虚拟场景画面,所述虚拟场景画面中包含被虚拟对象使用的目标虚拟道具;
响应于所述目标虚拟道具在连续射击过程中进行了一次射击,获取所述目标虚拟道具的射击统计数据;所述射击统计数据用于指示所述目标虚拟道具本次连续射击的次数;
基于所述目标虚拟道具的射击统计数据,控制所述目标虚拟道具的瞄准方向进行偏移。
一方面,本申请实施例提供了一种虚拟道具控制方法,所述方法包括:
展示第一虚拟场景画面;所述第一虚拟场景画面中包含被所述第一虚拟对象使用的目标虚拟道具;
响应于所述目标虚拟道具处于连续射击过程中,展示第二虚拟场景画面,所述第二虚拟场景画面中的所述目标虚拟道具的瞄准方向发生偏移,且所述目标虚拟道具的瞄准方向的偏移方式与所述目标虚拟道具本次连续射击的次数所在的次数区间相对应。
另一方面,本申请实施例提供了一种虚拟道具控制装置,所述装置包括:
画面展示模块,用于展示虚拟场景画面,所述虚拟场景画面中包含被虚拟对象使用的目标虚拟道具;
数据获取模块,用于响应于所述目标虚拟道具在连续射击过程中进行了一次射击,获取所述目标虚拟道具的射击统计数据;所述射击统计数据用于指示所述目标虚拟道具本次连续射击的次数;
方向偏移模块,用于基于所述目标虚拟道具的射击统计数据,控制所述目标虚拟道具的瞄准方向进行偏移。
在一种可能的实现方式中,所述方向偏移模块,包括:
矢量获取子模块,用于基于所述目标虚拟道具的射击统计数据,获取所述目标虚拟道具受到的后坐力矢量;所述后坐力矢量用于指示瞄准方向的偏移方向和偏移速度;
偏移控制子模块,用于按照所述目标虚拟道具受到的所述后坐力矢量,控制所述目标虚拟道具的瞄准方向进行偏移。
在一种可能的实现方式中,所述矢量获取子模块,包括:
参数集确定单元,用于基于所述射击统计数据,确定计算所述后坐力矢量所使用的配置参数集;
分矢量获取单元,用于按照所述配置参数集,获取垂直方向上的第一后坐力矢量以及水平方向上的第二后坐力矢量;
矢量获取单元,用于基于所述第一后坐力矢量以及所述第二后坐力矢量,获取所述后坐力矢量。
在一种可能的实现方式中,所述参数集确定单元,用于,
确定所述射击统计数据对应的数值所在的目标数值区间;
查询所述目标数值区间与所述配置参数集之间的对应关系,获得所述配置参数集。
在一种可能的实现方式中,响应于所述配置参数集中包含第一参数、第二参数、第三参数以及第四参数;
所述分矢量获取单元,用于,
根据所述第一参数、所述第三参数、所述射击统计数据、垂直方向上的后坐力基础配置值以及垂直方向上的后坐力修正配置值,确定所述第一后坐力矢量;
根据所述第二参数、所述第四参数、所述射击统计数据、水平方向上的后坐力基础配置值以及水平方向上的后坐力修正配置值,确定所述第二后坐力矢量。
在一种可能的实现方式中,所述偏移控制子模块,包括:
时间间隔获取单元,用于获取所述目标虚拟道具本次射击的时间点到当前时间点之间的时间间隔;
第一偏移控制单元,用于响应于所述时间间隔达到指定时间间隔阈值,基于所述后坐力矢量以及回落力,控制所述目标虚拟道具的瞄准方向进行偏移;所述回落力的方向为垂直向下。
在一种可能的实现方式中,所述偏移控制子模块,还包括:
第二偏移控制单元,用于响应于所述时间间隔未达到所述指定时间间隔阈值,基于所述后坐力矢量控制所述目标虚拟道具的瞄准方向进行偏移。
在一种可能的实现方式中,所述参数集确定单元,用于,
响应于所述射击统计数据属于指定数值,根据所述射击统计数据,确定计算所述后坐力矢量所使用的所述配置参数集;
或者,
响应于所述射击统计数据不属于所述指定数值,将所述目标虚拟道具进行上一次射击时获取的所述配置参数集,确定为计算所述后坐力矢量所使用的所述配置参数集。
在一种可能的实现方式中,所述装置还包括:
角度获取单元,用于基于所述第一后坐力矢量以及所述第二后坐力矢量,获取所述后坐力矢量之前,获取所述目标虚拟道具的瞄准方向的偏移角度;所述偏移角度是所述目标虚拟道具在开始启动连续射击过程时刻的瞄准方向与进行连续射击过程中当前时刻的瞄准方向之间水平方向上的角度;
第一方向修改单元,用于响应于所述偏移角度为向右达到指定角度阈值,将当前时刻之后的所述第二后坐力矢量的矢量方向由水平向右修改为水平向左;
第二方向修改单元,用于响应于所述偏移角度为向左达到所述指定角度阈值,将当前时刻之后的所述第二后坐力矢量的矢量方向由水平向左修改为水平向右。
在一种可能的实现方式中,所述装置还包括:
方向调整模块,用于响应于所述目标虚拟道具结束所述连续射击过程,将所述目标虚拟道具的瞄准方向的垂直分量调整为初始垂直分量,所述初始垂直分量是所述目标虚拟道具在开始所述连续射击过程时的瞄准方向的垂直分量。
在一种可能的实现方式中,所述方向调整模块,包括:
位移获取子模块,用于响应于所述目标虚拟道具结束连续射击过程,获取第一位移,所述第一位移是用于控制所述瞄准方向的垂直分量维持在所述初始垂直分量附近的用户操作的位移;
方向调整子模块,用于响应于所述第一位移大于指定位移阈值,将所述目标虚拟道具的瞄准方向的垂直分量调整为所述初始垂直分量。
另一方面,本申请实施例提供了一种虚拟道具控制装置,所述装置包括:
第一画面展示模块,用于展示第一虚拟场景画面;所述第一虚拟场景画面中包含被虚拟对象使用的目标虚拟道具;
第二画面展示模块,用于响应于所述目标虚拟道具处于连续射击过程中,展示第二虚拟场景画面,所述第二虚拟场景画面中的所述目标虚拟道具的瞄准方向发生偏移,且所述目标虚拟道具的瞄准方向的偏移方式与所述目标虚拟道具本次连续射击的次数所在的次数区间相对应。
另一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的虚拟道具控制方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的虚拟道具控制方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的虚拟道具控制方法。
本申请实施例提供的技术方案的有益效果至少包括:
本申请实施例中,通过获取连续射击过程中的射击统计数据,从而根据射击统计数据对应的算法确定并且控制目标虚拟道具的瞄准方向进行偏移,以达到按照一定的规律模拟射击过程中的后坐力效果,从而提供一种在虚拟场景中,使得目标虚拟道具的瞄准方向在连续射击过程中可控的方案,比如,使用户通过掌握瞄准方向的偏移方向控制目标虚拟道具在连续射击过程中维持相对稳定,提高了虚拟场景中的人机交互的效果,从而减少单局对战的持续时间,进而节约终端所消耗的电量和数据流量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请一个示例性的实施例提供的实施环境的示意图;
图2是本申请一个示例性实施例提供的虚拟场景的显示界面示意图;
图3是本申请一个示例性实施例提供的一种虚拟道具控制流程的示意图;
图4是本申请一个示例性实施例提供的一种虚拟道具控制方法的方法流程图;
图5是图4所示实施例涉及的一种分段配置后坐力影响后的弹道轨迹示意图;
图6是图4所示实施例涉及的一种获取弹孔特效的示意图;
图7是图4所示实施例涉及的一种水平偏移的边界回弹功能示意图;
图8是图4所示实施例涉及的一种开火间隔临界点设置示意图;
图9是图4所示实施例涉及的一种弹道轨迹示意图;
图10是图4所示实施例涉及的一种压枪效果示意图;
图11是图4所示实施例涉及的一种连续射击过程中瞄准方向偏移过程的逻辑流程图;
图12是本申请一个示例性的实施例提供的虚拟道具控制装置的结构框图;
图13是本申请一示例性实施例提供的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟的场景。该虚拟场景可以是对真实世界的仿真环境场景,也可以是半仿真半虚构的三维环境场景,还可以是纯虚构的三维环境场景。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,下述实施例以虚拟场景是三维虚拟场景来举例说明,但对此不加以限定。可选地,该虚拟场景还可用于至少两个虚拟角色之间的虚拟场景对战。可选地,该虚拟场景还可用于至少两个虚拟角色之间使用虚拟枪械进行对战。可选地,该虚拟场景还可用于在目标区域范围内,至少两个虚拟角色之间使用虚拟枪械进行对战,该目标区域范围会随虚拟场景中的时间推移而不断变小。
虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、虚拟载具中的至少一种。可选地,当虚拟场景为三维虚拟场景时,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟场景中具有自身的形状、体积以及朝向,并占据三维虚拟场景中的一部分空间。
虚拟场景通常由终端等计算机设备中的应用程序生成基于终端中的硬件(比如屏幕)进行展示。该终端可以是智能手机、平板电脑或者电子书阅读器等移动终端;或者,该终端也可以是笔记本电脑或者固定式计算机的个人计算机设备。
虚拟道具:是指虚拟对象在虚拟环境中能够使用的道具,包括手枪、步枪、狙击枪、匕首、刀、剑、斧子等能够对其他虚拟对象发起伤害的虚拟武器,子弹等补给道具,快速弹夹、瞄准镜、消声器等安装在指定虚拟武器上,可以为虚拟武器提供部分属性加成到的虚拟挂件,以及盾牌、盔甲、装甲车等防御道具。
第一人称射击游戏:是指用户能够以第一人称视角进行的射击游戏,游戏中的虚拟环境的画面是以第一虚拟对象的视角对虚拟环境进行观察的画面。在游戏中,至少两个虚拟对象在虚拟环境中进行单局对战模式,虚拟对象通过躲避其他虚拟对象发起的伤害和虚拟环境中存在的危险(比如,毒气圈、沼泽地等)来达到在虚拟环境中存活的目的,当虚拟对象在虚拟环境中的生命值为零时,虚拟对象在虚拟环境中的生命结束,最后存活在虚拟环境中的虚拟对象是获胜方。可选地,该对战以第一个客户端加入对战的时刻作为开始时刻,以最后一个客户端退出对战的时刻作为结束时刻,每个客户端可以控制虚拟环境中的一个或多个虚拟对象。可选地,该对战的竞技模式可以包括单人对战模式、双人小组对战模式或者多人大组对战模式,本申请实施例对对战模式不加以限定。
请参考图1,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境可以包括:第一终端110、服务器120和第二终端130。
第一终端110安装和运行有支持虚拟环境的应用程序111,该应用程序111可以是多人在线对战程序。当第一终端运行应用程序111时,第一终端110的屏幕上显示应用程序111的用户界面。该应用程序111可以是军事仿真程序、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)、大逃杀射击游戏、模拟战略游戏(Simulation Game,SLG)的任意一种。在本实施例中,以该应用程序111是FPS(FirstPerson Shooting Game,第一人称射击游戏)来举例说明。第一终端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/Output Interface,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,响应于目标虚拟道具在连续射击过程中进行了一次射击,获取目标虚拟道具的射击统计数据;射击统计数据用于指示目标虚拟道具本次连续射击的次数。
在本申请实施例中,当目标虚拟道具在连续射击过程中进行了一次射击之后,计算机设备获取到本次连续射击过程中本次射击之后,目标虚拟道具的射击统计数据,该射击统计数据是在本次连续射击过程中已进行的射击次数。
在一种可能的实现方式中,目标虚拟道具本次连续射击次数是在目标虚拟道具进行连续射击过程中,根据开火的次数进行统计得到的。
其中,在连续射击过程中,按照预先设置的开火间隔,依次自动进行射击,连续射击的次数上限可以是由目标虚拟道具的种类或者配件(比如弹夹容量)决定的。或者,连续射击的次数上限也可以由用户进行设置。
比如,当连续射击总次数是由目标虚拟道具的种类进行决定时,当目标虚拟道具为重型机枪时,开发人员预先配置的连续射击次数可以是150发,当目标虚拟道具为轻型机枪时,开发人员预先配置的连续射击次数可以是50发;当连续射击的总次数是由用户进行自定义设置时,用户可以设置小于该目标虚拟道具最大容弹量的任意数值的连续射击次数。
步骤303,基于目标虚拟道具的射击统计数据,控制目标虚拟道具的瞄准方向进行偏移。
在本申请实施例中,当计算机设备获取到目标虚拟道具的射击统计数据后,根据算法计算进行一次射击时,确定控制目标虚拟道具的瞄准方向进行偏移的方向和角度,并且控制目标虚拟道具进行偏移。
在一种可能的实现方式中,控制目标虚拟道具的瞄准方向进行偏移,是从开始启动连续射击过程到结束连续射击过程不断进行计算累加的。
其中,在连续射击过程中的各次射击时,计算机设备可以按照预先设置的算法,根据各次射击对应的射击统计数据计算各次射击导致目标虚拟道具的瞄准方向进行偏移的数据,并且控制在虚拟场景画面中的目标虚拟道具按照计算的偏移数据进行偏移。
比如,若目标虚拟道具在连续射击过程中正在进行第3次射击,则根据获取到的射击统计数据3,利用预先设置的射击统计数据为3时的算法,计算目标虚拟道具本次射击导致目标虚拟道具的瞄准方向进行偏移的数据,并且控制在虚拟场景画面中的目标虚拟道具按照计算的偏移数据进行偏移。
综上所述,本申请实施例所示的方案,通过获取连续射击过程中的射击统计数据,从而根据射击统计数据对应的算法确定并且控制目标虚拟道具的瞄准方向进行偏移,以达到按照一定的规律模拟射击过程中的后坐力效果,从而提供一种在虚拟场景中,使得目标虚拟道具的瞄准方向在连续射击过程中可控的方案,比如,使用户通过掌握瞄准方向的偏移方向控制目标虚拟道具在连续射击过程中维持相对稳定,提高了虚拟场景中的人机交互的效果,从而减少单局对战的持续时间,进而节约终端所消耗的电量和数据流量。
请参考图4,其示出了本申请一个示例性的实施例提供的一种虚拟道具控制方法的方法流程图。其中,上述方法可以由计算机设备执行,该计算机设备可以是终端,也可以是服务器,或者,上述计算机设备也可以包含上述终端和服务器。如图4所示,以计算机设备是终端为例,终端可以通过执行以下步骤来控制虚拟道具的瞄准方向进行偏移。
步骤401,展示虚拟场景画面。
在本申请实施例中,终端展示虚拟场景画面,虚拟场景画面中包含被虚拟对象使用的目标虚拟道具。
在一种可能的实现方式中,在虚拟场景画面上叠加有一个射击虚拟控件,该射击虚拟控件用于接收用户的触控操作,响应于接收到触控操作,控制目标虚拟道具进行单次射击。响应于该射击虚拟控件接收到用户的连续触控操作,当连续触控操作达到指定的触控时长,且目标虚拟道具具有连续射击功能时,该射击虚拟控件的功能由控制目标虚拟道具进行单次射击转换为控制目标虚拟道具进行连续射击,若射击虚拟控件的功能已经切换为控制目标虚拟道具进行连续射击,则此时接收到用户的触控操作,控制目标虚拟道具进行连续射击。
比如,当用户长按该射击虚拟控件的时长大于等于指定时长0.5s时,则将射击虚拟控件的功能由控制目标虚拟道具进行单次射击转换为控制目标虚拟道具进行连续射击。
在另一种可能的实现方式中,虚拟场景画面中包含用于直接控制目标虚拟道具进行连续射击过程的连续射击虚拟控件。
其中,用户可以通过对连续射击虚拟控件进行触发操作,控制虚拟对象持有的目标虚拟道具进行连续射击过程,若虚拟对象当前持有的目标虚拟道具不具备进行连续射击的功能,则连续射击虚拟控件可以展示为未激活状态,用户无法对其进行触控操作。
步骤402,响应于目标虚拟道具在连续射击过程中进行了一次射击,获取目标虚拟道具的射击统计数据。
在本申请实施例中,当目标虚拟道具在连续射击过程中进行了一次射击,终端获取到在进行该次射击后,目标虚拟道具对应的射击统计数据。
其中,射击统计数据用于指示目标虚拟道具本次连续射击的次数。
比如,当目标虚拟道具开始进行连续射击过程时,终端在获取到目标虚拟道具进行第一次射击后,可以确定当前目标虚拟道具的射击统计数据为1;当目标虚拟道具进行下一次射击之后,终端可以确定当前目标虚拟道具的射击统计数据为2。
在一种可能的实现方法中,不同种类的虚拟道具对应不同的进行连续射击过程时的开火间隔时长,开火间隔时长是预先进行设置的,首先终端获取该目标虚拟道具的种类,然后确定该目标虚拟道具的种类对应的预先设置的开火间隔时长,在进行连续射击过程中,终端根据获取到的开始进行连续射击的时刻、开火间隔时长,确定各次射击对应的时间点。由各次射击对应的时间点确定当前时刻对应的射击统计数据。
比如,当终端获取到目标虚拟道具对应的连续射击过程的开火间隔时长为1s,开始启动连续射击过程的时刻是对局开始后的20s时,则终端可以获取在对局开始后的20s时,目标虚拟道具的射击统计数据为1,在对局开始后的21s时,目标虚拟道具的射击统计数据为2,在对局开始后的22s时,目标虚拟道具的射击统计数据为3。
步骤403中,基于目标虚拟道具的射击统计数据,获取目标虚拟道具受到的后坐力矢量。
在本申请实施例中,终端根据获取到的目标虚拟道具的射击统计数据,获取目标虚拟道具受到的后坐力矢量。
其中,后坐力矢量用于指示目标虚拟道具对应的瞄准方向的偏移方向和偏移速度。
在一种可能的实现方式中,终端基于射击统计数据,确定计算后坐力矢量所使用的配置参数集。
其中,计算后坐力矢量所使用的配置参数集可以是由开发人员预先配置的若干个参数集,当具有不止一个配置参数集时,终端通过确定射击统计数据对应的数值所在的目标数值区间,然后查询目标数值区间与配置参数集之间的对应关系,从而获得配置参数集。
其中,数值区间可以是根据不同种类的虚拟道具而进行不同的预先设置的,各个数值区间对应各个配置参数集。
比如,目标虚拟道具是快速步枪,响应于获取到的快速步枪的连续射击次数小于第一指定阈值,确定快速步枪在第一数值区间中,第一数值区间对应的配置参数集是第一配置参数集;响应于获取到的快速步枪的连续射击次数大于或者等于第一指定阈值,并且小于第二指定阈值,确定快速步枪在第二数值区间中,第二数值区间对应的配置参数集是第二配置参数集;响应于获取到的快速步枪的连续射击次数大于或者等于第二指定阈值,确定快速步枪在第三数值区间中,第三数值区间对应的配置参数集是第三配置参数集。其中,第一指定阈值大于0,并且小于等于第二指定阈值。
在一种可能的实现方式中,不同的数值区间对应相同或者不同的配置参数集,即配置参数集不对应唯一的数值区间。
比如,仍然以目标虚拟道具是快速步枪为例,响应于获取到的快速步枪的连续射击次数大于或者等于第二指定阈值,并且小于第三指定阈值,确定快速步枪在第四数值区间中,第四数值区间对应的配置参数集可以是第一配置参数集。
在一种可能的实现方式中,开发人员预先设置了至少一个指定数值,终端根据确定获取的射击统计数据是否属于预先设置的指定数值,得到确定所使用的配置参数集的方法。
其中,响应于射击统计数据属于指定数值,根据射击统计数据,确定计算后坐力矢量所使用的配置参数集。或者,响应于射击统计数据不属于指定数值,将目标虚拟道具进行上一次射击时获取的配置参数集,确定为计算后坐力矢量所使用的配置参数集。
比如,为了减少获取配置参数集时,确定射击统计数据所属数值区间的计算量以及对数值区间与各个配置参数集的匹配量,开发人员可以预先设置至少一个指定数值,当目标虚拟道具是快速步枪,其中,数值区间包括第一数值区间、第二数值区间以及第三数值区间;并且第一指定阈值是5,第二指定阈值是10时,预先设置1、5、10为指定数值,当射击统计数据为1时,根据射击统计数据1,确定计算后坐力矢量所使用的配置参数集为第一配置参数集,当射击统计数据为2时,2不属于指定数值,则将目标虚拟道具进行上一次射击时获取的配置参数集,也就是第一配置参数集确定为计算后坐力矢量所使用的配置参数集,通过这种方式可以确定当射击统计数据为1至4时,计算后坐力矢量所使用的配置参数集均为第一配置参数集。而当射击统计数据为5时,由于5是属于指定数值,则根据射击统计数据5,确定计算后坐力矢量所使用的配置参数集为第二配置参数集,通过这种方式可以确定当射击统计数据为5至9时,计算后坐力矢量所使用的配置参数集均为第二配置参数集。
例如,图5示出了本申请一个示例性的实施例提供的一种分段配置后坐力影响后的弹道轨迹示意图,如图5所示,在障碍物50的表面可以显示经过连续射击后形成的弹孔轨迹,常规情况下,目标虚拟道具经过连续射击后形成的弹孔轨迹为基础弹孔轨迹51,在目标虚拟道具上安装有橡胶握把后,经过连续射击后形成的弹孔轨迹为增加握把后的弹孔轨迹52,在目标虚拟道具上安装有脚架后,经过连续射击后形成的弹孔轨迹为增加脚架后的弹孔轨迹53。可以得到安装有橡胶握把后,后坐力产生的偏移变小,安装有脚架后,后坐力产生的偏移变小。
在一种可能的实现方式中,终端按照配置参数集,获取垂直方向上的第一后坐力矢量以及水平方向上的第二后坐力矢量。
其中,后坐力矢量可以分为水平分量以及垂直分量,垂直分量对应的第一后坐力矢量,水平分量对应的第二后坐力矢量。终端根据获取到的配置参数集可以通过固定的算法公式计算得到第一后坐力矢量以及第二后坐力矢量。
在一种可能的实现方式中,基于第一后坐力矢量以及第二后坐力矢量,获取后坐力矢量。
在一种可能的实现方式中,响应于配置参数集中包含第一参数、第二参数、第三参数以及第四参数;终端根据第一参数、第三参数、射击统计数据、垂直方向上的后坐力基础配置值以及垂直方向上的后坐力修正配置值,确定第一后坐力矢量;根据第二参数、第四参数、射击统计数据、水平方向上的后坐力基础配置值以及水平方向上的后坐力修正配置值,确定第二后坐力矢量。
其中,终端在进行计算的过程中,将第一参数与垂直方向上的后坐力基础配置值之积获取为垂直方向上的基础矢量;将修正数值,与第三参数,以及垂直方向上的后坐力修正配置值之积获取为垂直方向上的修正矢量;将垂直方向上的基础矢量以及垂直方向上的修正矢量之和作为第一后坐力矢量。将第二参数与水平方向上的后坐力基础配置值之积获取为水平方向上的基础矢量;将修正数值,与第四参数,以及水平方向上的后坐力修正配置值之积获取为水平方向上的修正矢量;将水平方向上的基础矢量以及水平方向上的修正矢量之和作为第二后坐力矢量。修正数值可以是根据射击统计数据与指定阈值之间的差值。
比如,响应于配置参数集是第一配置参数集,修正数值是射击统计数据与第一指定阈值的差值;响应于配置参数集是第二配置参数集,修正数值是射击统计数据与第一指定阈值的差值;响应于配置参数集是第三配置参数集,修正数值是射击统计数据与第二指定阈值的差值。
例如,该目标虚拟道具设置的数值区间包含连续射击次数小于5的第一数值区间,连续射击次数大于等于5,且小于10的第二数值区间,以及连续射击次数大于等于10的第三数值区间,与第一数值区间相匹配的是第一配置参数集,与第二数值区间相匹配的是第二配置参数集,与第三数值区间相匹配的是第三配置参数集,第一配置参数集中包含a1、b1、c1、d1,第二配置参数集中包含a2、b2、c2、d2,第三配置参数集中包含a3、b3、c3、d3。垂直方向上的后坐力基础配置值、垂直方向上的后坐力修正配置值、水平方向上的后坐力基础配置值以及水平方向上的后坐力修正配置值配置情况如下表1所示。
表1
当前目标虚拟道具的连续射击次数是8次,由于8大于5并且小于10,所以确定8属于第二数值区间,并且在计算后坐力矢量时使用第二配置参数集。
其中,第一后坐力矢量以及第二后坐力矢量对应的计算公式如下所示。
第一后坐力矢量=a2*Ubase+(8-5)*c2*Umod
第二后坐力矢量=b2*Lbase+(8-5)*d2*Lmod
其中,计算得到的第一后坐力矢量以及第二后坐力矢量的符号用于指示矢量方向。
在一种可能的实现方式中,在终端基于第一后坐力矢量以及第二后坐力矢量,获取后坐力矢量之前,先获取目标虚拟道具的瞄准方向的偏移角度,然后响应于偏移角度为向右达到指定角度阈值,将当前时刻之后的第二后坐力矢量的矢量方向由水平向右修改为水平向左;响应于偏移角度为向左达到指定角度阈值,将当前时刻之后的第二后坐力矢量的矢量方向由水平向左修改为水平向右。
其中,偏移角度是目标虚拟道具在开始启动连续射击过程时刻的瞄准方向与进行连续射击过程中当前时刻的瞄准方向之间水平方向上的角度。
也就是说,根据第二后坐力矢量,目标虚拟道具的瞄准方向可能会在水平方向上进行较大幅度的偏移,为了控制目标虚拟道具在后坐力矢量上具有平衡性,可以通过如上的方式让后坐力矢量产生的水平方向上的偏移可以维持在一个固定范围内。
比如,图6示出了本申请一个示例性的实施例提供的一种获取弹孔特效的示意图,如图6所示,当控制目标虚拟道具61进行射击时,发射出的虚拟子弹可以作为一条射线62检测瞄准方向的障碍物63,响应于瞄准方向处存在障碍物63,当通过射线62检测到障碍物63上存在碰撞盒子时,会显示检测成功。当检测成功后终端就可以获取到碰撞的障碍物的各个信息,包括碰撞点位置信息。然后,终端可以将弹孔特效64显示在碰撞点位置处,通过这种方式可以在连续射击过程中,通过弹孔的显示位置展示瞄准方向的偏移情况。
比如,通过弹孔偏移轨迹可以显示水平偏移的边界回弹功能,图7示出了本申请一个示例性的实施例提供的一种水平偏移的边界回弹功能示意图,如图7所示,目标虚拟道具71进行连续射击,在障碍物上留下弹孔特效轨迹74,当弹孔特效轨迹74达到最大的右边界72时,使第二后坐力矢量的矢量方向由水平向右修改为水平向左,控制弹孔特效轨迹74在水平方向上向左移动,当弹孔特效轨迹74达到最大的左边界73时,使第二后坐力矢量的矢量方向由水平向左修改为水平向右,控制弹孔特效轨迹74在水平方向上向右移动。
步骤404中,按照目标虚拟道具受到的后坐力矢量,控制目标虚拟道具的瞄准方向进行偏移。
在本申请实施例中,终端按照计算获得的目标虚拟道具受到的后坐力矢量,控制目标虚拟道具的瞄准方向进行偏移。
在一种可能的实现方式中,在连续射击过程中相邻两次射击之间存在开火间隔,终端获取目标虚拟道具本次射击的时间点到当前时间点之间的时间间隔;响应于时间间隔达到指定时间间隔阈值,基于后坐力矢量以及回落力,控制目标虚拟道具的瞄准方向进行偏移;响应于时间间隔未达到指定时间间隔阈值,基于后坐力矢量控制目标虚拟道具的瞄准方向进行偏移。
其中,回落力的方向为垂直向下,可以与后坐力矢量的垂直分量进行部分抵消,回落力的配置可以使目标虚拟道具在受到后坐力矢量的影响产生偏移时不会产生过快的上抬偏移速度,使得目标虚拟道具在受到后坐力矢量影响偏移时能维持相对稳定的偏移速度。
比如,在一个开火间隔内,第一部分间隔不产生回落力,第二部分间隔产生回落力,第一部分间隔与第二部分间隔的临界点可以由策划配置,每个开火间隔都可以是由策划配置的相同的临界点。图8示出了本申请一个示例性的实施例提供的一种开火间隔临界点设置示意图,当玩家按下连续射击虚拟控件时,可以发射第一颗虚拟子弹,在发射之前可以先计算完成后坐力矢量,然后接下来根据临界点设置回落力,如图8所示,A、B、C、D、E可以是在连续射击过程中的5次射击,相邻射击点之间的时间为开火时间间隔,其中X设置为临界点,即在各个开火时间间隔中位于X之前的时间段不产生回落力,在X之后开始产生回落力,当X配置为0时,可以一直产生回落力,如果X配置为开火时间间隔点,那么就一直不产生回落力,X配置居于开火时间间隔中就是前半部分产生回落力,后半部分不产生回落力。通过设置临界点控制产生回落力的时间可以解决叠加效果的时候参数不好配置的问题,叠加效果是指在基础配置上叠加一些加成数据。
例如,按照配置参数集,目标虚拟道具的瞄准方向的偏移经过计算后得到的偏移过程,体现在弹道轨迹上可以分为4段过程,图9示出了本申请一个示例性的实施例提供的一种弹道轨迹示意图,如图9所示,后坐力计算使用的配置参数集不同可以导致弹道轨迹的规律是分段展示的,图9中的弹道轨迹分为四段,第一段轨迹91是往上移动的,第二段轨迹92是往右上方向移动的,第三段轨迹93是水平向右移动的,第四段轨迹94是往右上方向移动的,这种后坐力矢量的分段算法可以导致在弹道轨迹是具有分段规律的。
步骤405中,响应于目标虚拟道具结束连续射击过程,将目标虚拟道具的瞄准方向的垂直分量调整为初始垂直分量。
在本申请实施例中,当目标虚拟道具结束连续射击过程时,终端可以将目标虚拟道具的瞄准方向的垂直分量调整为初始垂直分量,初始垂直分量是目标虚拟道具在开始连续射击过程时的瞄准方向的垂直分量。
在一种可能的实现方式中,响应于目标虚拟道具结束连续射击过程,获取第一位移,响应于第一位移大于指定位移阈值,将目标虚拟道具的瞄准方向的垂直分量调整为初始垂直分量。响应于第一位移小于指定位移阈值,终端控制目标虚拟道具的瞄准方向根据回落力调整为回落方向。
其中,第一位移是用于控制所述瞄准方向的垂直分量维持在所述初始垂直分量附近的用户操作的位移,第一位移可以由用户通过滑动触控操作进行获取,或者也可以通过鼠标拖动操作进行获取。
比如,第一位移可以由用户对开火虚拟控件进行触控滑动操作的位移进行确定,也可以是由用户对视角调整虚拟控件进行触控滑动操作的位移进行确定的。
在对局过程中为了保持虚拟道具射击的准确性,用户可以通过“压枪”操作减少目标虚拟道具受后坐力矢量的影响,使目标虚拟道具的瞄准方向维持在一个水平线上,通过这种操作可以提高射击的命中率,但是当连续射击过程结束后,用户停止“压枪”操作后,因为回落力的问题会使得瞄准方向回落到初始瞄准方向的下面,图10示出了本申请一个示例性的实施例提供的一种压枪效果示意图,如图10所示,当用户进行“压枪”操作时的第一位移1003比配置的指定位移阈值大,例如,配置的指定位移阈值是10个像素点,用户通过滑动开火虚拟控件产生的第一位移大于10个像素点,则目标虚拟道具的瞄准方向保持在压制位置1001,即将目标虚拟道具的瞄准方向的垂直分量调整为初始垂直分量,否则回落到初始瞄准方向的下面1002。
运用本实施例中的虚拟道具控制方法,可以实现进行连续射击过程中产生后坐力位移的模拟过程,请参考图11,其示出了本申请一个示例性的实施例提供的一种连续射击过程中瞄准方向偏移过程的逻辑流程图。具体步骤如下所示。
终端设置分段控制后坐力算法,使用户在进入对局过程中可以在进行连续射击过程中使终端通过设置的分段控制后坐力算法,对目标虚拟道具受到的后坐力矢量进行计算,其中,设置分段控制后坐力算法的方式可以是通过用户在设置菜单中进行手动选择,或者,也可以通过进入对局模式后由终端自动进行设置(S1101)。终端判断目标虚拟道具是否进行射击开火,其中,这里的射击开火是以连续射击模式为例(S1102)。当判断目标虚拟道具没有进行开火时,不会进行分段控制后坐力算法,当判断目标虚拟道具进行开火时,根据分段控制后坐力算法计算产生的后坐力,并且控制目标虚拟道具的瞄准方向或者说是枪口方向向上抬起(S1103),然后判断开火间隔是否达到回落力产生的时间临界点(S1104)。若没有达到时间临界点,则继续计算后坐力并且控制目标虚拟道具的瞄准方向向上抬起,若达到时间临界点,则添加配置的回落力(S1105)。接着判断是否进行下一次射击,若没有进行下一次射击,则表示仍处于开火间隔中,继续跟进回落力以及后坐力控制瞄准方向的偏移(S1106)。若判断进行了下一次射击,则继续叠加该段后坐力算法计算得到的后坐力数值(S1107)。接着判断是否达到分段控制后坐力算法的其它区间,若没有达到,则继续按照当前区间的后坐力计算方式确定后坐力,并且叠加每次射击产生的后坐力偏移(S1108)。若达到了其他新的区间,则使用新区间对应的后坐力计算方法,确定后坐力数值,继续重复上述步骤(S1109)。然后,判断是否结束连续射击过程,若没有结束则继续上述步骤(S1110)。若结束了连续射击过程,则根据回落力控制瞄准方向开始回落(S1111)。最后判断瞄准方向是否回落到初始位置,若没有则继续进行回落(S1112)。直到回落到初始位置,恢复为原来的瞄准方向(S1113)。
综上所述,本申请实施例所示的方案,通过获取连续射击过程中的射击统计数据,从而根据射击统计数据对应的算法确定并且控制目标虚拟道具的瞄准方向进行偏移,以达到按照一定的规律模拟射击过程中的后坐力效果,从而提供一种在虚拟场景中,使得目标虚拟道具的瞄准方向在连续射击过程中可控的方案,比如,使用户通过掌握瞄准方向的偏移方向控制目标虚拟道具在连续射击过程中维持相对稳定,提高了虚拟场景中的人机交互的效果,从而减少单局对战的持续时间,进而节约终端所消耗的电量和数据流量。
图12是本申请一个示例性实施例提供的虚拟道具控制装置的结构框图,该装置可以设置于图1所示实施环境中的第一终端110或第二终端130或该实施环境中的其它终端,该装置包括:
画面展示模块1210,用于展示虚拟场景画面,所述虚拟场景画面中包含被虚拟对象使用的目标虚拟道具;
数据获取模块1220,用于响应于所述目标虚拟道具在连续射击过程中进行了一次射击,获取所述目标虚拟道具的射击统计数据;所述射击统计数据用于指示所述目标虚拟道具本次连续射击的次数;
方向偏移模块1230,用于基于所述目标虚拟道具的射击统计数据,控制所述目标虚拟道具的瞄准方向进行偏移。
在一种可能的实现方式中,所述方向偏移模块1230,包括:
矢量获取子模块,用于基于所述目标虚拟道具的射击统计数据,获取所述目标虚拟道具受到的后坐力矢量;所述后坐力矢量用于指示瞄准方向的偏移方向和偏移速度;
偏移控制子模块,用于按照所述目标虚拟道具受到的所述后坐力矢量,控制所述目标虚拟道具的瞄准方向进行偏移。
在一种可能的实现方式中,所述矢量获取子模块,包括:
参数集确定单元,用于基于所述射击统计数据,确定计算所述后坐力矢量所使用的配置参数集;
分矢量获取单元,用于按照所述配置参数集,获取垂直方向上的第一后坐力矢量以及水平方向上的第二后坐力矢量;
矢量获取单元,用于基于所述第一后坐力矢量以及所述第二后坐力矢量,获取所述后坐力矢量。
在一种可能的实现方式中,所述参数集确定单元,用于,
确定所述射击统计数据对应的数值所在的目标数值区间;
查询所述目标数值区间与所述配置参数集之间的对应关系,获得所述配置参数集。
在一种可能的实现方式中,响应于所述配置参数集中包含第一参数、第二参数、第三参数以及第四参数;
所述分矢量获取单元,用于,
根据所述第一参数、所述第三参数、所述射击统计数据、垂直方向上的后坐力基础配置值以及垂直方向上的后坐力修正配置值,确定所述第一后坐力矢量;
根据所述第二参数、所述第四参数、所述射击统计数据、水平方向上的后坐力基础配置值以及水平方向上的后坐力修正配置值,确定所述第二后坐力矢量。
在一种可能的实现方式中,所述偏移控制子模块,包括:
时间间隔获取单元,用于获取所述目标虚拟道具本次射击的时间点到当前时间点之间的时间间隔;
第一偏移控制单元,用于响应于所述时间间隔达到指定时间间隔阈值,基于所述后坐力矢量以及回落力,控制所述目标虚拟道具的瞄准方向进行偏移;所述回落力的方向为垂直向下。
在一种可能的实现方式中,所述偏移控制子模块,还包括:
第二偏移控制单元,用于响应于所述时间间隔未达到所述指定时间间隔阈值,基于所述后坐力矢量控制所述目标虚拟道具的瞄准方向进行偏移。
在一种可能的实现方式中,所述参数集确定单元,用于,
响应于所述射击统计数据属于指定数值,根据所述射击统计数据,确定计算所述后坐力矢量所使用的所述配置参数集;
或者,
响应于所述射击统计数据不属于所述指定数值,将所述目标虚拟道具进行上一次射击时获取的所述配置参数集,确定为计算所述后坐力矢量所使用的所述配置参数集。
在一种可能的实现方式中,所述装置还包括:
角度获取单元,用于基于所述第一后坐力矢量以及所述第二后坐力矢量,获取所述后坐力矢量之前,获取所述目标虚拟道具的瞄准方向的偏移角度;所述偏移角度是所述目标虚拟道具在开始启动连续射击过程时刻的瞄准方向与进行连续射击过程中当前时刻的瞄准方向之间水平方向上的角度;
第一方向修改单元,用于响应于所述偏移角度为向右达到指定角度阈值,将当前时刻之后的所述第二后坐力矢量的矢量方向由水平向右修改为水平向左;
第二方向修改单元,用于响应于所述偏移角度为向左达到所述指定角度阈值,将当前时刻之后的所述第二后坐力矢量的矢量方向由水平向左修改为水平向右。
在一种可能的实现方式中,所述装置还包括:
方向调整模块,用于响应于所述目标虚拟道具结束所述连续射击过程,将所述目标虚拟道具的瞄准方向的垂直分量调整为初始垂直分量,所述初始垂直分量是所述目标虚拟道具在开始所述连续射击过程时的瞄准方向的垂直分量。
在一种可能的实现方式中,所述方向调整模块,包括:
位移获取子模块,用于响应于所述目标虚拟道具结束连续射击过程,获取第一位移,所述第一位移是用于控制所述瞄准方向的垂直分量维持在所述初始垂直分量附近的用户操作的位移;
方向调整子模块,用于响应于所述第一位移大于指定位移阈值,将所述目标虚拟道具的瞄准方向的垂直分量调整为所述初始垂直分量。
综上所述,本申请实施例所示的方案,通过获取连续射击过程中的射击统计数据,从而根据射击统计数据对应的算法确定并且控制目标虚拟道具的瞄准方向进行偏移,以达到按照一定的规律模拟射击过程中的后坐力效果,从而提供一种在虚拟场景中,使得目标虚拟道具的瞄准方向在连续射击过程中可控的方案,比如,使用户通过掌握瞄准方向的偏移方向控制目标虚拟道具在连续射击过程中维持相对稳定,提高了虚拟场景中的人机交互的效果,从而减少单局对战的持续时间,进而节约终端所消耗的电量和数据流量。
图13是根据一示例性实施例示出的计算机设备1300的结构框图。该计算机设备1300可以是用户终端,比如智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的方法中的全部或者部分步骤。
在一些实施例中,计算机设备1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、显示屏1305、摄像头组件1306、音频电路1307、定位组件1308和电源1309中的至少一种。
外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置计算机设备1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在计算机设备1300的不同表面或呈折叠设计;在一些实施例中,显示屏1305可以是柔性显示屏,设置在计算机设备1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
定位组件1308用于定位计算机设备1300的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1308可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的GLONASS(Global Navigation Satellite System,全球卫星导航系统)或者欧洲的伽利略系统的定位组件。
电源1309用于为计算机设备1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以计算机设备1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测计算机设备1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对计算机设备1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在计算机设备1300的侧边框和/或触摸显示屏的下层。当压力传感器1313设置在计算机设备1300的侧边框时,可以检测用户对计算机设备1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏的下层时,由处理器1301根据用户对触摸显示屏的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置计算机设备1300的正面、背面或侧面。当计算机设备1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏的显示亮度;当环境光强度较低时,调低触摸显示屏的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在计算机设备1300的前面板。接近传感器1316用于采集用户与计算机设备1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与计算机设备1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与计算机设备1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对计算机设备1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由处理器执行以完成上述图3或图4对应实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是ROM(Read-OnlyMemory,只读存储器)、随机存取存储器(Random Access Memory,RAM)、CD-ROM(CompactDisc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的虚拟道具控制方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (12)
1.一种虚拟道具控制方法,其特征在于,所述方法包括:
展示虚拟场景画面,所述虚拟场景画面中包含被虚拟对象使用的目标虚拟道具;
响应于所述目标虚拟道具在连续射击过程中进行了一次射击,获取所述目标虚拟道具的射击统计数据;所述射击统计数据用于指示所述目标虚拟道具本次连续射击的次数;
基于所述目标虚拟道具的所述射击统计数据,获取所述目标虚拟道具受到的后坐力矢量;所述后坐力矢量用于指示瞄准方向的偏移方向和偏移速度;
获取所述目标虚拟道具本次射击的时间点到当前时间点之间的时间间隔;
响应于所述时间间隔达到指定时间间隔阈值,基于所述后坐力矢量以及回落力,控制所述目标虚拟道具的瞄准方向进行偏移;所述回落力的方向为垂直向下;
响应于所述时间间隔未达到所述指定时间间隔阈值,基于所述后坐力矢量控制所述目标虚拟道具的瞄准方向进行偏移。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标虚拟道具的射击统计数据,获取所述目标虚拟道具受到的后坐力矢量,包括:
基于所述射击统计数据,确定计算所述后坐力矢量所使用的配置参数集;
按照所述配置参数集,获取垂直方向上的第一后坐力矢量以及水平方向上的第二后坐力矢量;
基于所述第一后坐力矢量以及所述第二后坐力矢量,获取所述后坐力矢量。
3.根据权利要求2所述的方法,其特征在于,所述基于所述射击统计数据,确定计算所述后坐力矢量所使用的配置参数集,包括:
确定所述射击统计数据对应的数值所在的目标数值区间;
查询所述目标数值区间与所述配置参数集之间的对应关系,获得所述配置参数集。
4.根据权利要求2所述的方法,其特征在于,响应于所述配置参数集中包含第一参数、第二参数、第三参数以及第四参数;
所述按照所述配置参数集,获取垂直方向上的第一后坐力矢量以及水平方向上的第二后坐力矢量,包括:
根据所述第一参数、所述第三参数、所述射击统计数据、垂直方向上的后坐力基础配置值以及垂直方向上的后坐力修正配置值,确定所述第一后坐力矢量;
根据所述第二参数、所述第四参数、所述射击统计数据、水平方向上的后坐力基础配置值以及水平方向上的后坐力修正配置值,确定所述第二后坐力矢量。
5.根据权利要求2所述的方法,其特征在于,所述基于所述射击统计数据,确定计算所述后坐力矢量所使用的配置参数集,包括:
响应于所述射击统计数据属于指定数值,根据所述射击统计数据,确定计算所述后坐力矢量所使用的所述配置参数集;
或者,
响应于所述射击统计数据不属于所述指定数值,将所述目标虚拟道具进行上一次射击时获取的所述配置参数集,确定为计算所述后坐力矢量所使用的所述配置参数集。
6.根据权利要求2所述的方法,其特征在于,所述基于所述第一后坐力矢量以及所述第二后坐力矢量,获取所述后坐力矢量之前,还包括:
获取所述目标虚拟道具的瞄准方向的偏移角度;所述偏移角度是所述目标虚拟道具在开始启动连续射击过程时刻的瞄准方向与进行连续射击过程中当前时刻的瞄准方向之间水平方向上的角度;
响应于所述偏移角度为向右达到指定角度阈值,将当前时刻之后的所述第二后坐力矢量的矢量方向由水平向右修改为水平向左;
响应于所述偏移角度为向左达到所述指定角度阈值,将当前时刻之后的所述第二后坐力矢量的矢量方向由水平向左修改为水平向右。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述目标虚拟道具结束所述连续射击过程,将所述目标虚拟道具的瞄准方向的垂直分量调整为初始垂直分量,所述初始垂直分量是所述目标虚拟道具在开始所述连续射击过程时的瞄准方向的垂直分量。
8.根据权利要求7所述的方法,其特征在于,所述将所述目标虚拟道具的瞄准方向的垂直分量调整为初始垂直分量,包括:
响应于所述目标虚拟道具结束连续射击过程,获取第一位移,所述第一位移是用于控制所述瞄准方向的垂直分量维持在所述初始垂直分量附近的用户操作的位移;
响应于所述第一位移大于指定位移阈值,将所述目标虚拟道具的瞄准方向的垂直分量调整为所述初始垂直分量。
9.一种虚拟道具控制方法,其特征在于,所述方法包括:
展示第一虚拟场景画面;所述第一虚拟场景画面中包含被虚拟对象使用的目标虚拟道具;
响应于所述目标虚拟道具处于连续射击过程中,展示第二虚拟场景画面,所述第二虚拟场景画面中的所述目标虚拟道具的瞄准方向发生偏移,且所述目标虚拟道具的瞄准方向的偏移方式与所述目标虚拟道具本次连续射击的次数所在的次数区间相对应;
其中,响应于时间间隔达到指定时间间隔阈值,所述目标虚拟道具的瞄准方向的偏移是基于后坐力矢量以及回落力控制的;所述时间间隔是所述目标虚拟道具本次射击的时间点到当前时间点之间的间隔;所述后坐力矢量是基于所述目标虚拟道具的射击统计数据确定的;所述射击统计数据用于指示所述目标虚拟道具本次连续射击的次数,所述后坐力矢量用于指示瞄准方向的偏移方向和偏移速度;
响应于所述时间间隔未达到所述指定时间间隔阈值,所述目标虚拟道具的瞄准方向的偏移是基于所述后坐力矢量控制的。
10.一种虚拟道具控制装置,其特征在于,所述装置包括:
画面展示模块,用于展示虚拟场景画面,所述虚拟场景画面中包含被虚拟对象使用的目标虚拟道具;
数据获取模块,用于响应于所述目标虚拟道具在连续射击过程中进行了一次射击,获取所述目标虚拟道具的射击统计数据;所述射击统计数据用于指示所述目标虚拟道具本次连续射击的次数;
方向偏移模块,用于基于所述目标虚拟道具的所述射击统计数据,获取所述目标虚拟道具受到的后坐力矢量;所述后坐力矢量用于指示瞄准方向的偏移方向和偏移速度;
所述方向偏移模块,还用于获取所述目标虚拟道具本次射击的时间点到当前时间点之间的时间间隔;
所述方向偏移模块,还用于响应于所述时间间隔达到指定时间间隔阈值,基于所述后坐力矢量以及回落力,控制所述目标虚拟道具的瞄准方向进行偏移;所述回落力的方向为垂直向下;
所述方向偏移模块,还用于响应于所述时间间隔未达到所述指定时间间隔阈值,基于所述后坐力矢量控制所述目标虚拟道具的瞄准方向进行偏移。
11.一种计算机设备,其特征在于,计算机设备包含处理器和存储器,所述存储器中存储由至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至9任一所述的虚拟道具控制方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至9任一所述的虚拟道具控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011020884.9A CN112169325B (zh) | 2020-09-25 | 2020-09-25 | 虚拟道具控制方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011020884.9A CN112169325B (zh) | 2020-09-25 | 2020-09-25 | 虚拟道具控制方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112169325A CN112169325A (zh) | 2021-01-05 |
CN112169325B true CN112169325B (zh) | 2021-12-10 |
Family
ID=73944418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011020884.9A Active CN112169325B (zh) | 2020-09-25 | 2020-09-25 | 虚拟道具控制方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112169325B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112755526B (zh) * | 2021-02-02 | 2022-11-25 | 腾讯科技(深圳)有限公司 | 虚拟道具控制方法、装置、终端及存储介质 |
CN113230654B (zh) * | 2021-06-18 | 2023-02-24 | 腾讯科技(深圳)有限公司 | 虚拟枪械的射击显示方法、装置、计算机设备及存储介质 |
CN113398574B (zh) * | 2021-07-13 | 2024-04-30 | 网易(杭州)网络有限公司 | 辅助瞄准调整方法、装置、存储介质及计算机设备 |
CN113655943A (zh) * | 2021-09-03 | 2021-11-16 | 北京小米移动软件有限公司 | 调整焦点位置的方法、装置、存储介质及终端 |
CN113827975B (zh) * | 2021-09-23 | 2023-08-08 | 网易(杭州)网络有限公司 | 射击动画处理方法、装置、终端和存储介质 |
CN114177617B (zh) * | 2021-10-21 | 2023-06-16 | 腾讯科技(深圳)有限公司 | 虚拟道具的使用方法、装置、终端、存储介质及程序产品 |
CN117881463A (zh) * | 2022-09-15 | 2024-04-12 | 上海莉莉丝科技股份有限公司 | 控制虚拟物运动的方法、设备、介质和计算机程序产品 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5794374A (en) * | 1997-01-21 | 1998-08-18 | Crandall; David L. | Gun barrel stabilizer |
KR101017144B1 (ko) * | 2009-12-21 | 2011-02-25 | (주)에프티에스 | 레이저 좌표추적에 의한 스크린 실탄 사격장치 |
CN206198668U (zh) * | 2016-11-21 | 2017-05-31 | 上海健石智能科技有限公司 | 一种动感游戏手柄 |
CN107773983A (zh) * | 2017-10-18 | 2018-03-09 | 网易(杭州)网络有限公司 | 一种游戏中的射击控制方法及装置 |
CN108815851A (zh) * | 2018-06-05 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 在虚拟环境中射击时的界面显示方法、设备及存储介质 |
CN109011573A (zh) * | 2018-07-18 | 2018-12-18 | 网易(杭州)网络有限公司 | 一种游戏中的射击控制方法和装置 |
CN110075521A (zh) * | 2019-05-22 | 2019-08-02 | 努比亚技术有限公司 | 射击类游戏的压枪辅助方法、装置、移动终端及存储介质 |
CN110585716A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 虚拟道具控制方法、装置、设备及存储介质 |
CN110781021A (zh) * | 2019-10-29 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 异常检测方法、装置、计算机设备及存储介质 |
CN111388993A (zh) * | 2020-03-16 | 2020-07-10 | 网易(杭州)网络有限公司 | 虚拟现实射击游戏的控制方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040259644A1 (en) * | 1999-08-03 | 2004-12-23 | Mccauley Jack Jean | Method and device for optical gun interaction with a computer system |
-
2020
- 2020-09-25 CN CN202011020884.9A patent/CN112169325B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5794374A (en) * | 1997-01-21 | 1998-08-18 | Crandall; David L. | Gun barrel stabilizer |
KR101017144B1 (ko) * | 2009-12-21 | 2011-02-25 | (주)에프티에스 | 레이저 좌표추적에 의한 스크린 실탄 사격장치 |
CN206198668U (zh) * | 2016-11-21 | 2017-05-31 | 上海健石智能科技有限公司 | 一种动感游戏手柄 |
CN107773983A (zh) * | 2017-10-18 | 2018-03-09 | 网易(杭州)网络有限公司 | 一种游戏中的射击控制方法及装置 |
CN108815851A (zh) * | 2018-06-05 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 在虚拟环境中射击时的界面显示方法、设备及存储介质 |
CN109011573A (zh) * | 2018-07-18 | 2018-12-18 | 网易(杭州)网络有限公司 | 一种游戏中的射击控制方法和装置 |
CN110075521A (zh) * | 2019-05-22 | 2019-08-02 | 努比亚技术有限公司 | 射击类游戏的压枪辅助方法、装置、移动终端及存储介质 |
CN110585716A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 虚拟道具控制方法、装置、设备及存储介质 |
CN110781021A (zh) * | 2019-10-29 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 异常检测方法、装置、计算机设备及存储介质 |
CN111388993A (zh) * | 2020-03-16 | 2020-07-10 | 网易(杭州)网络有限公司 | 虚拟现实射击游戏的控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112169325A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110694261B (zh) | 控制虚拟对象进行攻击的方法、终端及存储介质 | |
CN112169325B (zh) | 虚拟道具控制方法、装置、计算机设备及存储介质 | |
CN108815851B (zh) | 在虚拟环境中射击时的界面显示方法、设备及存储介质 | |
CN109529319B (zh) | 界面控件的显示方法、设备及存储介质 | |
CN110585710B (zh) | 互动道具控制方法、装置、终端及存储介质 | |
CN110465098B (zh) | 控制虚拟对象使用虚拟道具的方法、装置、设备及介质 | |
CN111659117B (zh) | 虚拟对象展示方法、装置、计算机设备及存储介质 | |
CN111744184B (zh) | 虚拟场景中的控件展示方法、计算机设备及存储介质 | |
CN111589124A (zh) | 虚拟对象的控制方法、装置、终端及存储介质 | |
CN110801628B (zh) | 控制虚拟对象恢复生命值的方法、装置、设备及介质 | |
CN111475029B (zh) | 虚拟道具的操作方法、装置、设备及存储介质 | |
CN113509714B (zh) | 虚拟道具合成预览方法、装置、终端及存储介质 | |
CN112316421B (zh) | 虚拟道具的装备方法、装置、终端及存储介质 | |
CN113398571A (zh) | 虚拟道具的切换方法、装置、终端及存储介质 | |
CN112717410B (zh) | 虚拟对象控制方法、装置、计算机设备及存储介质 | |
CN111001159A (zh) | 虚拟场景中的虚拟道具控制方法、装置、设备及存储介质 | |
CN112138374B (zh) | 虚拟对象属性值控制方法、计算机设备及存储介质 | |
CN113713382A (zh) | 虚拟道具控制方法、装置、计算机设备及存储介质 | |
CN112870715A (zh) | 虚拟道具的投放方法、装置、终端及存储介质 | |
CN111672102A (zh) | 虚拟场景中的虚拟对象控制方法、装置、设备及存储介质 | |
CN112451969A (zh) | 虚拟对象控制方法、装置、计算机设备及存储介质 | |
CN111921190A (zh) | 虚拟对象的道具装备方法、装置、终端及存储介质 | |
CN111249726B (zh) | 虚拟环境中虚拟道具的操作方法、装置、设备及可读介质 | |
CN113713383A (zh) | 投掷道具控制方法、装置、计算机设备及存储介质 | |
CN112354180A (zh) | 虚拟场景中积分更新方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40037341 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |