CN109806594B - 虚拟环境中的弹道显示方法、装置及设备 - Google Patents
虚拟环境中的弹道显示方法、装置及设备 Download PDFInfo
- Publication number
- CN109806594B CN109806594B CN201910042739.1A CN201910042739A CN109806594B CN 109806594 B CN109806594 B CN 109806594B CN 201910042739 A CN201910042739 A CN 201910042739A CN 109806594 B CN109806594 B CN 109806594B
- Authority
- CN
- China
- Prior art keywords
- ammunitions
- terminal
- aiming direction
- trajectories
- ammunition
- 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
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟环境中的弹道显示方法、装置及设备,属于计算机技术领域。所述方法包括:当接收到散射型远程武器的发射信号时,第一终端获取触发发射信号的时间戳,以及散射型远程武器的瞄准方向;第一终端向服务器发送时间戳和瞄准方向,服务器向第二终端发送时间戳和瞄准方向,第一终端和第二终端根据时间戳和瞄准方向,通过预设算法计算并显示每一个弹药在虚拟环境中的弹道。本申请通过第一终端和第二终端基于相同的时间戳和瞄准方向,通过相同的预设算法计算得到每个弹药的弹道,因此第一终端和第二终端显示的弹道是相同的,在不需要同步弹道的基础上实现了第一终端和第二终端显示相同的弹道,提升了虚拟环境的模拟效果的真实度。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种虚拟环境中的弹道显示方法、装置及设备。
背景技术
在诸如智能手机、平板电脑之类的终端上,存在很多具有二维或三维虚拟环境的应用程序,如:虚拟现实应用程序、军事仿真程序、第一人称射击游戏(First-personshooting game,FPS)、第三人称射击游戏(Third-person shooting game,TPS)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)等。
在上述应用程序中,用户通过终端控制虚拟对象通过远程武器射击,对虚拟环境中的物体、生物、其它虚拟对象等目标对象造成伤害。其中,目标虚拟对象可使用的远程武器包括一次性发射多个弹药的散射型远程武器(例如霰弹枪、多发弓箭、连弩等)。
由于同步散射型远程武器的多个弹药的弹道对网络要求较高且需要消耗大量网络流量,因此相关技术中,用户通过终端控制虚拟对象使用散射型远程武器对目标对象进行射击时,仅显示开火和/或是否命中,不显示多个弹药的弹道,从而导致虚拟环境的模拟效果的真实度较差。
发明内容
本申请实施例提供了一种虚拟环境中的弹道显示方法、装置及设备用以解决相关技术中虚拟环境的模拟效果真实度较差的问题。所述技术方案如下:
一方面,本申请实施例提供了一种虚拟环境中的弹道显示方法,所述方法由第一终端执行,所述方法包括:
当接收到散射型远程武器的发射信号时,获取触发所述发射信号的时间戳,以及所述散射型远程武器的瞄准方向;
向服务器发送所述时间戳和所述瞄准方向,所述时间戳和所述瞄准方向用于触发所述服务器向第二终端发送所述时间戳和所述瞄准方向后,所述第二终端根据所述时间戳和所述瞄准方向,通过预设算法计算至少两个弹药中的每一个弹药在所述虚拟环境中的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
根据所述时间戳和所述瞄准方向,通过所述预设算法计算所述至少两个弹药的所述弹道;
在所述虚拟环境中显示所述至少两个弹药的所述弹道。
一方面,本申请实施例提供了一种虚拟环境中的弹道伤害计算方法,所述方法由服务器执行,所述方法包括:
接收第一终端发送的时间戳和瞄准方向,所述时间戳是触发发射信号的时间戳,所述发射信号是发射第一终端对应的散射型远程武器的信号,所述瞄准方向是所述散射型远程武器的瞄准方向;
向第二终端发送所述时间戳和所述瞄准方向,所述时间戳和所述瞄准方向用于触发所述第二终端根据所述时间戳和所述瞄准方向,通过预设算法计算所述至少两个弹药中的每一个弹药在所述虚拟环境中的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
根据所述时间戳和所述瞄准方向,通过所述预设算法计算所述至少两个弹药的弹道;
根据所述弹道计算得到所述至少两个弹药对目标对象所造成的伤害值。
一方面,本申请实施例提供了一种虚拟环境中的弹道显示方法,所述方法由第二终端执行,所述方法包括:
接收服务器发送的时间戳和瞄准方向,所述时间戳是触发发射信号的时间戳,所述发射信号是发射第一终端对应的散射型远程武器的信号,所述瞄准方向是所述散射型远程武器的瞄准方向;
根据所述时间戳和所述瞄准方向,通过预设算法计算至少两个弹药中的每一个弹药在所述虚拟环境中的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
在所述虚拟环境中显示所述至少两个弹药的所述弹道。
一方面,本申请实施例提供了一种虚拟环境中的弹道显示装置,所述装置应用于第一终端中,所述装置包括:
处理模块,用于当接收到散射型远程武器的发射信号时,获取触发所述发射信号的时间戳,以及所述散射型远程武器的瞄准方向;
发送模块,用于向服务器发送所述时间戳和所述瞄准方向,所述时间戳和所述瞄准方向用于触发所述服务器向第二终端发送所述时间戳和所述瞄准方向后,所述第二终端根据所述时间戳和所述瞄准方向,通过预设算法计算至少两个弹药中的每一个弹药在所述虚拟环境中的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
所述处理模块,还用于根据所述时间戳和所述瞄准方向,通过所述预设算法计算所述至少两个弹药的所述弹道;
显示模块,用于在所述虚拟环境中显示所述至少两个弹药的所述弹道。
一方面,本申请实施例提供了一种虚拟环境中的弹道伤害计算装置,所述装置应用于服务器中,所述装置包括:
接收模块,用于接收第一终端发送的时间戳和瞄准方向,所述时间戳是触发发射信号的时间戳,所述发射信号是发射第一终端对应的散射型远程武器的信号,所述瞄准方向是所述散射型远程武器的瞄准方向;
发送模块,用于向第二终端发送所述时间戳和所述瞄准方向,所述时间戳和所述瞄准方向用于触发所述第二终端根据所述时间戳和所述瞄准方向,通过预设算法计算所述至少两个弹药中的每一个弹药在所述虚拟环境中的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
处理模块,用于根据所述时间戳和所述瞄准方向,通过所述预设算法计算所述至少两个弹药的弹道;根据所述弹道计算得到所述至少两个弹药对目标对象所造成的伤害值。
一方面,本申请实施例提供了一种虚拟环境中的弹道显示装置,所述装置应用于第二终端中,所述装置包括:
接收模块,用于接收服务器发送的时间戳和瞄准方向,所述时间戳是触发发射信号的时间戳,所述发射信号是发射第一终端对应的散射型远程武器的信号,所述瞄准方向是所述散射型远程武器的瞄准方向;
处理模块,用于根据所述时间戳和所述瞄准方向,通过预设算法计算至少两个弹药中的每一个弹药在所述虚拟环境中的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
显示模块,用于在所述虚拟环境中显示所述至少两个弹药的所述弹道。
一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上任一所述的由第一终端执行的虚拟环境中的弹道显示方法。
一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的虚拟环境中的弹道伤害计算方法。
一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上任一所述的由第二终端执行的虚拟环境中的弹道显示方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
第一终端在获取得到散射型远程武器发射弹药的时间戳和瞄准方向后,向服务器发送时间戳和瞄准方向,服务器向第二终端转发时间戳和瞄准方向,第一终端和第二终端分别根据时间戳和瞄准方向,通过预设算法计算散射型远程武器发射的每个弹药的弹道,从而各自显示每个弹药的弹道,由于第一终端和第二终端是基于相同的时间戳和瞄准方向,通过相同的预设算法计算得到每个弹药的弹道,因此第一终端和第二终端显示的弹道是相同的,在不需要同步弹道的基础上实现了第一终端和第二终端显示相同的弹道,提升了虚拟环境的模拟效果的真实度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机系统的结构框图;
图2是本申请一个示例性实施例提供的虚拟环境中的弹道显示方法的流程图;
图3是本申请一个示例性实施例提供的散射型远程武器的弹药发射的示意图;
图4是本申请一个示例性实施例提供的第一终端的第一用户界面示意图;
图5是本申请一个示例性实施例提供的第二终端的第二用户界面示意图;
图6是本申请一个示例性实施例提供的虚拟环境中的弹道显示方法的流程图;
图7是本申请一个示例性实施例提供的计算散射型远程武器的弹药的弹道和目标对象的伤害值的流程图;
图8是本申请一个示例性实施例提供的数据同步流程图;
图9是本申请一个示例性实施例提供的虚拟环境中的弹道显示装置的框图;
图10是本申请一个示例性实施例提供的虚拟环境中的弹道伤害计算装置的框图;
图11是本申请一个示例性实施例提供的虚拟环境中的弹道显示装置的框图;
图12是本申请一个示例性实施例提供的终端的框图;
图13是本申请一个示例性实施例提供的计算机设备的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例涉及的若干个名词进行简单介绍:
虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的三维环境,还可以是纯虚构的三维环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种。可选地,该虚拟环境还用于至少两个目标虚拟对象之间的对战。
虚拟对象:是指在虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物中的至少一种。可选地,当虚拟环境为三维虚拟环境时,目标虚拟对象是基于动画骨骼技术创建的三维立体模型。每个目标虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
目标对象:是虚拟对象在虚拟环境中的攻击目标。用户可通过终端控制虚拟对象对进行攻击。可选的,目标对象是虚拟环境中的建筑、物品、生物、交通工具、其它虚拟对象中的至少一种。
散射型远程武器:是虚拟环境中可供虚拟对象使用的,一次性发射多个弹药的远程武器。示例性的,散射型远程武器包括霰弹枪、连弩、多发弓箭等。散射型远程武器发射的弹药的弹道需要通过运行应用程序的电子设备进行计算。
弹道:是远程武器发射的弹药在虚拟环境中的运行轨迹。示例性的,散射型远程武器发射的每一个弹药的弹道为向量,弹道的方向由散射型远程武器的瞄准方向的方向所决定。
图1,示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:第一终端110、第二终端120以及服务器130。
第一终端110安装和运行有支持虚拟环境的应用程序。该应用程序可以是军事仿真应用程序、TPS游戏、FPS游戏、MOBA游戏、多人枪战类生存游戏中的任意一种。第一终端110是第一用户使用的终端,第一用户使用第一终端110控制位于虚拟环境中的目标虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,目标虚拟对象是虚拟人物,比如仿真人物角色或动漫人物角色。
第一终端110和第二终端120通过无线网络或有线网络与服务器130相连。
服务器130包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器130用于为支持虚拟环境的应用程序提供后台服务。可选地,服务器130承担主要计算工作,第一终端110和第二终端120承担次要计算工作;或者,服务器130承担次要计算工作,第一终端110和第二终端120承担主要计算工作;或者,服务器130、第一终端110和第二终端120三者之间采用分布式计算架构进行协同计算。
第二终端120安装和运行有支持虚拟环境的应用程序。该应用程序可以是军事仿真应用程序、TPS游戏、FPS游戏、MOBA游戏、多人枪战类生存游戏中的任意一种。第二终端120是第二用户使用的终端,第二用户使用第二终端120控制位于虚拟环境中的第二虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物角色或动漫人物角色。
可选地,第一虚拟人物和第二虚拟人物处于同一虚拟环境中。可选地,第一虚拟人物和第二虚拟人物可以属于同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限。
可选地,第一终端110和第二终端120上安装的应用程序是相同的,或两个终端上安装的应用程序是不同控制系统平台的同一类型应用程序。第一终端110可以泛指多个终端中的一个,第二终端120可以泛指多个终端中的一个,本实施例仅以第一终端110和第二终端120来举例说明。第一终端110和第二终端120的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。以下实施例以终端包括智能手机来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
图2,示出了本申请一个示例性实施例提供的虚拟环境中的弹道显示方法。该方法可应用于图1实施例中的计算机系统中。该方法包括:
步骤201,当接收到散射型远程武器的发射信号时,第一终端获取触发发射信号的时间戳和散射型远程武器的瞄准方向。
第一终端中安装有虚拟环境的应用程序,当第一终端运行该应用程序时,显示该应用程序的第一用户界面,第一用户界面中显示有以第一虚拟对象对应的视角观察虚拟环境的第一环境画面。
第一用户通过第一终端控制第一虚拟对象在虚拟环境中活动。第一虚拟对象装配有散射型远程武器,当第一用户通过第一终端操作第一虚拟对象使用散射型远程武器向目标对象发射弹药时,触发发射信号,第一终端在接收到发射信号后,获取得到触发发射信号的时间戳以及散射型远程武器的瞄准方向。
步骤202,第一终端向服务器发送时间戳和瞄准方向。
第一终端在获取得到时间戳和瞄准方向后,向服务器发送时间戳和和瞄准方向。
步骤203,在接收到第一终端发送的时间戳和瞄准方向后,服务器向第二终端转发时间戳和瞄准方向。
服务器在接收到第一终端发送的时间戳和瞄准方向后,向第二终端转发时间戳和瞄准方向。
步骤204,第一终端根据时间戳和瞄准方向,通过预设算法计算得到散射型远程武器发射的至少两个弹药中的每一个弹药在虚拟环境中的弹道。
如图3所示,弹药从散射型远程武器的发射点P射出后,在一定几率上会发生散射,发生散射的弹药的弹道与散射型远程武器的瞄准方向300之间存在散射角度(如图3中的弹药301散射角度θ1以及弹药302的散射角度θ2),第一终端根据瞄准方向和散射角度即可计算得到弹药的弹道。
示例性的,第一终端以时间戳为伪随机数种子,通过伪随机算法计算得到每个弹药的散射角度,根据散射角度和瞄准方向计算得到每个弹药的弹道。其中,该弹道为向量。其中,第一弹道计算方式包括将时间戳作为伪随机数种子,通过伪随机算法计算至少两个弹药的偏移角度,根据至少两个弹药的偏移角度以及瞄准方向计算得到至少两个弹药的弹道。
步骤205,第一终端在虚拟环境中显示至少两个弹药的弹道。
第一终端根据计算得到的弹道,在第一环境画面中显示每个弹药在各自的弹道上飞行的画面。
示例性的,如图4所示,第一终端110的显示屏111上显示有第一用户界面112,第一用户界面112中显示有发射控件1122以及第一环境画面,第一环境画面中显示有第一虚拟对象装配的散射型远程武器1123以及第二虚拟对象1221。当第一用户控制第一虚拟对象瞄准第二虚拟对象1221,触控发射控件1122发射弹药时,第二虚拟对象1221即为第一虚拟对象的目标对象。第一终端110获取得到触控发射控件1122的时刻的时间戳以及散射型远程武器的瞄准方向,根据时间戳以及瞄准方向计算得到散射型远程武器发射的至少两个弹药的弹道,在第一环境画面中显示至少两个弹药的弹道410。
步骤206,第二终端在接收到服务器发送的时间戳和瞄准方向后,根据时间戳和瞄准方向,通过预设算法计算至少两个弹药中的每一个弹药在虚拟环境中的弹道。
第二终端中安装有和第一终端中相同的应用程序,或第二终端中安装的应用程序和第一终端中安装的应用程序是不同控制系统平台的同一类型应用程序。当第二终端运行该应用程序时,显示该应用程序的第二用户界面,第二用户界面中显示有以第二虚拟对象对应的视角观察虚拟环境的第二环境画面。第二用户通过第二终端控制第二虚拟对象在虚拟环境中活动。
示例性的,第二终端以时间戳为伪随机数种子,通过伪随机算法计算得到每个弹药的散射角度,根据散射角度和瞄准方向计算得到每个弹药的弹道。其中,该弹道为向量。
由于第一终端和第二终端是基于相同的时间戳和瞄准方向,通过相同的预设算法计算得到每个弹药的弹道,因此第一终端和第二终端显示的弹道是相同的,因此在不需要同步弹道的基础上实现了第一终端和第二终端显示相同的弹道。
步骤207,第二终端在虚拟环境中显示至少两个弹药的弹道。
第二终端根据计算得到的弹道,在第二环境画面中显示每个弹药在各自的弹道上飞行的画面。
示例性的,如图5所示,第二终端120的显示屏121上显示有第一用户界面122,第一用户界面122中显示有发射控件1222以及第二环境画面,第二环境画面中显示有第二虚拟对象装配的武器1223以及第一虚拟对象1121,其中,第一虚拟对象1121装配有散射型远程武器。当第一用户瞄准第二虚拟对象,发射弹药时,第二虚拟对象即为第一虚拟对象1221的目标对象。第二终端120接收到服务器发送的第一终端中触发弹药发射的时刻的时间戳以及散射型远程武器的瞄准方向,根据时间戳以及瞄准方向计算得到散射型远程武器发射的至少两个弹药的弹道,在第二环境画面中显示至少两个弹药的弹道510。
综上所述,本申请实施例中,第一终端在获取得到散射型远程武器发射弹药的时间戳和瞄准方向后,向服务器发送时间戳和瞄准方向,服务器向第二终端转发时间戳和瞄准方向,第一终端和第二终端分别根据时间戳和瞄准方向,通过预设算法计算散射型远程武器发射的每个弹药的弹药,从而各自显示每个弹药的弹道,由于第一终端和第二终端是基于相同的时间戳和瞄准方向,通过相同的预设算法计算得到每个弹药的弹道,因此第一终端和第二终端显示的弹道是相同的,在不需要同步弹道的基础上实现了第一终端和第二终端显示相同的弹道,提升了虚拟环境的模拟效果的真实度。
图6,示出了本申请一个示例性实施例提供的虚拟环境中的弹道显示方法。该方法可应用于图1实施例中的计算机系统中。该方法包括:
步骤601,当接收到散射型远程武器的发射信号时,第一终端获取触发发射信号的时间戳和散射型远程武器的瞄准方向。
第一终端中安装有虚拟环境的应用程序,当第一终端运行该应用程序时,显示该应用程序的第一用户界面,第一用户界面中显示有以第一虚拟对象对应的视角观察虚拟环境的第一环境画面。
第一用户通过第一终端控制第一虚拟对象在虚拟环境中活动。第一虚拟对象装配有散射型远程武器,当第一用户通过第一终端操作第一虚拟对象使用散射型远程武器向目标对象发射弹药时,触发发射信号,第一终端在接收到发射信号后,获取得到触发发射信号的时间戳以及散射型远程武器的瞄准方向。
步骤602,第一终端向服务器发送时间戳和瞄准方向。
第一终端在获取到时间戳和瞄准方向后,向服务器发送时间戳和瞄准方向。
步骤603,在接收到第一终端发送的时间戳和瞄准方向后,服务器向第二终端转发时间戳和瞄准方向。
其中,该服务器为应用程序的业务服务器,或,该服务器是支持该应用程序的服务器。服务器在接收到第一终端发送的时间戳和瞄准方向后,向第二终端转发时间戳和瞄准方向。
步骤604,第一终端将时间戳作为伪随机数种子,通过伪随机算法计算弹药的偏移角度。
示例性的,第一终端将时间戳作为伪随机数种子,根据弹药的最大偏移角度以及伪随机函数计算得到弹药的偏移角度。其中,弹药的最大偏移角度以及伪随机函数是应用程序中的预设数据。
对于至少两个弹药中的每个弹药,第一终端通过以下公式计算得到弹药的偏移角度:
其中,f(x)是弹药的偏移角度,vθ是最大偏移角度,k是弹药的个数,Random(x)是伪随机函数,n是弹药的序号。
对于至少两个弹药,从第一个弹药直到最后一个弹药,通过上述公式计算得到每个弹药的偏移角度。
步骤605,第一终端根据弹药的偏移角度以及瞄准方向计算得到弹道。
示例性的,对于至少两个弹药中的每个弹药,第一终端获取得到弹药的速度,将瞄准方向偏移偏移角度得到偏移方向,根据弹药的速度和偏移方向计算得到弹药的弹道。其中,第一终端中预存有每种类型的弹药的速度,通常以弹药的标识和速度的第一对应关系的方式进行存储,第一终端在安装应用程序,或复制应用程序后即获取得到该第一对应关系。第一终端通过获取得到散射型远程武器的弹药的标识,通过查询第一对应关系得到弹药的速度。
其中,第一弹道计算方式包括将时间戳作为伪随机数种子,通过伪随机算法计算至少两个弹药的偏移角度,根据至少两个弹药的偏移角度以及瞄准方向计算得到至少两个弹药的弹道。
步骤606,第一终端在虚拟环境中显示弹道。
第一终端根据计算得到的弹药的弹道,在发射时刻之后的每一帧画面显示每个弹药的弹道。第一终端在虚拟环境中显示弹道的步骤可参考图2实施例中的步骤205,在此不做赘述。
步骤607,服务器将时间戳作为伪随机数种子,通过伪随机算法计算弹药的偏移角度。
服务器将时间戳作为伪随机数种子,通过伪随机算法计算弹药的偏移角度的方法可参考步骤604,在此不做赘述。
步骤608,服务器根据弹药的偏移角度以及瞄准方向计算得到弹道。
服务器根据弹药的偏移角度以及瞄准方向计算得到弹道的方法可参考步骤605,在此不做赘述。
步骤609,服务器根据至少两个弹药的弹道以及目标对象在虚拟环境中的位置,确定至少两个弹药中命中目标对象的个数。
示例性的,服务器的数据库中存储有虚拟环境中每个虚拟对象的实时位置,服务器通过调用数据库,查询得到目标对象的位置,检测至少两个弹药的弹药中,穿过所述目标对象的位置的个数,将弹道中穿过目标对象的位置的个数确定为弹药中命中目标对象的个数。
步骤610,服务器根据至少两个弹药中命中目标对象的个数计算目标对象的伤害值。
示例性的,服务器的数据库中存储中虚拟环境中每种类型的弹药的攻击值,通常以弹药的标识和攻击值的第二对应关系的形式进行存储。服务器通过获取得到散射型远程武器的弹药的标识,通过查询第二对应关系得到弹药的攻击值,将命中目标对象的个数乘以攻击值,得到目标对象的伤害值。
可选的,服务器将命中目标对象的个数乘以攻击值,得到目标对象的基础伤害值;获取得到散射型远程武器的位置;根据散射型远程武器的位置和目标对象位置计算得到散射型远程武器和目标对象的距离;将该距离乘以衰减系数(服务器中存储有弹药的衰减系数)得到伤害衰减值;将基础伤害值减去伤害衰减值得到目标对象的伤害值。
例如,服务器计算得到基础伤害值为60,散射型远程武器和目标对象的距离为100米,每一米的伤害衰减值为0.05,则伤害值为60-100×0.05=55。
可选的,服务器将命中目标对象的个数乘以攻击值,得到目标对象的基础伤害值;获取目标对象的防御值(服务器中存储有目标对象的防御值,以及防御系数);将防御值乘以防御系数得到伤害抵消值;将基础伤害值减去伤害抵消值得到目标对象的伤害值。
例如,服务器计算得到基础伤害值为60,获取得到目标对象的防御值为100米,防御系数为0.05,则伤害值为60-100×0.05=55。
可选的,服务器将命中目标对象的个数乘以攻击值,得到目标对象的基础伤害值;获取得到散射型远程武器的位置;根据散射型远程武器的位置和目标对象位置计算得到散射型远程武器和目标对象的距离;将该距离乘以衰减系数得到伤害衰减值;获取目标对象的防御值;将防御值乘以防御系数得到伤害抵消值;将基础伤害值减去伤害衰减值和伤害抵消值得到目标对象的伤害值。
步骤611,向第一终端和第二终端发送目标对象的伤害值。
服务器分别向第一终端和第二终端发送计算得到的目标对象的伤害值。
步骤612,第一终端根据伤害值扣除目标对象的生命值或耐久值。
第一终端在接收到服务器发送的伤害值后,扣除目标对象的生命值或耐久值。当目标对象是生物时,第一终端扣除目标对象的生命值;当目标对象是非生物时,第一终端扣除目标对象的耐久值。
步骤613,第一终端在虚拟环境中显示目标对象的第一伤害动画。
示例性的,如图4所示,第一终端在第一环境画面中显示第二虚拟对象(即目标对象)被击中后的第一伤害动画“-55”。
步骤614,第二终端将时间戳作为伪随机数种子,通过伪随机算法计算弹药的偏移角度。
第二终端中安装有和第一终端中相同的应用程序,或第二终端中安装的应用程序和第一终端中安装的应用程序是不同控制系统平台的同一类型应用程序。当第二终端运行该应用程序时,显示该应用程序的第二用户界面,第二用户界面中显示有以第二虚拟对象对应的视角观察虚拟环境的第二环境画面。第二用户通过第二终端控制第二虚拟对象在虚拟环境中活动。
第二终端将时间戳作为伪随机数种子,通过伪随机算法计算弹药的偏移角度的方法可参考步骤604,在此不做赘述。
步骤615,第二终端根据弹药的偏移角度以及瞄准方向计算得到弹道。
第二终端根据弹药的偏移角度以及瞄准方向计算得到弹道的方法可参考步骤605,在此不做赘述。其中,第一弹道计算方式包括将时间戳作为伪随机数种子,通过伪随机算法计算至少两个弹药的偏移角度,根据至少两个弹药的偏移角度以及瞄准方向计算得到至少两个弹药的弹道。
步骤616,第二终端在虚拟环境中显示弹道。
第二终端根据计算得到的弹药的弹道,在接收到时间戳的时刻之后的每一帧画面显示每个弹药的弹道。第二终端在虚拟环境中显示弹道的步骤可参考图2实施例中的步骤207,在此不做赘述。
步骤617,第二终端根据伤害值扣除目标对象的生命值或耐久值。
第二终端在接收到服务器发送的伤害值后,扣除目标对象的生命值或耐久值。当目标对象是生物时,第二终端扣除目标对象的生命值;当目标对象是非生物时,第二终端扣除目标对象的耐久值。
步骤618,第二终端在虚拟环境中显示目标对象的第二伤害动画。
示例性的,如图5所示,第二终端在第二环境画面中显示第二虚拟对象被击中后的第二伤害动画1224(即图5中模拟血液飞溅的效果)。
综上所述,本申请实施例中,第一终端在获取得到散射型远程武器发射弹药的时间戳和瞄准方向后,向服务器发送时间戳和瞄准方向,服务器向第二终端转发时间戳和瞄准方向,第一终端和第二终端分别根据时间戳和瞄准方向,通过预设算法计算散射型远程武器发射的每个弹药的弹药,从而各自显示每个弹药的弹道,由于第一终端和第二终端是基于相同的时间戳和瞄准方向,通过相同的预设算法计算得到每个弹药的弹道,因此第一终端和第二终端显示的弹道是相同的,在不需要同步弹道的基础上实现了第一终端和第二终端显示相同的弹道,提升了虚拟环境的模拟效果的真实度。
可选的,本申请实施例中,通过服务器根据时间戳和瞄准方向计算得到每个弹药的弹道,根据每个弹药的弹道和目标对象的位置确定命中目标对象的弹药个数,基于该个数计算得到目标对象的伤害值,从而向第一终端和第二终端发送该伤害值,使第一终端和第二终端根据该伤害值扣除目标对象的生命值和耐久值,由于服务器计算得到的伤害值是基于时间戳和瞄准方向,因此该伤害值与第一终端和第二终端显示的弹道相匹配,提升了虚拟环境的模拟效果的真实度。
在一个示例性的实施例中,计算散射型远程武器的弹药的弹道和目标对象的伤害值的流程如图7所示:
步骤701,在接收到指令后,开始开火流程。该指令可以是在第一终端中触控发射控件触发的指令。
步骤702,检测是否计算完所有散射型远程武器发射的弹药,若计算完所有弹药则结束开火流程,若没有计算完所有弹药则进入步骤703。
步骤703,基于触发指令的时间戳计算弹药的偏移角度。
步骤704,根据弹药的偏移角度计算射击方向(即上述实施例中的偏移方向)向量。
步骤705,进行射线检测,进入步骤706,检测射线是否命中目标对象。其中,射线即为一种弹道表现形式,该表现形式为向量。
步骤707,计算命中的弹药对目标对象的伤害。当全部弹药计算完毕时,结束开火流程。
其中,第一终端和第二终端需要执行步骤701至步骤704,服务器需要执行全部步骤。
在一个示例性的实施例中,本申请实施例中的数据同步流程如图8所示:
1、LocalPlayer(本端用户控制的虚拟对象)的客户端执行开火流程,进行弹道和命中结果的预表现(即在虚拟环境中显示弹道)。
2、LocalPlayer的客户端把当前开火的时间戳作为伪随机数种子传输给服务器端。
3、服务器使用LocalPlayer的客户端上报的时间戳作为伪随机数种子,执行一致的开火流程。由于整个计算都基于相同的伪随机数种子,所以计算出来的所有结果一致(即多个客户端中显示的弹道一致)。
4、执行完伤害判定逻辑后,服务器端将伤害的结果和同样的伪随机数种子同步给RemotePlayer(其它用户控制的虚拟对象)的客户端。
5、RemotePlayer的客户端根据伪随机数种子,执行一致的算法,模拟表现出一致的弹道视觉表现。
图9,示出了本申请一个示例性实施例提供的虚拟环境中的弹道显示装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为图1实施例中的第一终端110。该装置包括:处理模块910、发送模块920、显示模块930以及接收模块940。
处理模块910,用于当接收到散射型远程武器的发射信号时,获取触发发射信号的时间戳,以及散射型远程武器的瞄准方向。
发送模块920,用于向服务器发送时间戳和瞄准方向,时间戳和瞄准方向用于触发服务器向第二终端发送时间戳和瞄准方向后,第二终端根据时间戳和瞄准方向,通过预设算法计算至少两个弹药中的每一个弹药在虚拟环境中的弹道,至少两个弹药是散射型远程武器发射的弹药。
处理模块910,还用于根据时间戳和瞄准方向,通过预设算法计算至少两个弹药的弹道。
显示模块930,用于在虚拟环境中显示至少两个弹药的弹道。
在一个可选的实施例中,处理模块910,还用于将时间戳作为伪随机数种子,通过伪随机算法计算弹药的偏移角度;根据弹药的偏移角度以及瞄准方向计算得到弹道。
在一个可选的实施例中,处理模块910,还用于将时间戳作为伪随机数种子,根据弹药的最大偏移角度以及伪随机函数计算得到弹药的偏移角度。
在一个可选的实施例中,处理模块910,还用于获取弹药的速度;将瞄准方向偏移偏移角度得到偏移方向;根据速度和偏移方向计算得到弹道。
在一个可选的实施例中,接收模块940,用于接收服务器发送的伤害值,伤害值是至少两个弹药对目标对象的伤害的数值,伤害值是服务器根据时间戳和瞄准方向,通过预设算法计算得到弹道后,根据弹道计算得到的。
处理模块910,还用于根据伤害值扣除目标对象的生命值或耐久值。
在一个可选的实施例中,显示模块930,还用于在虚拟环境中显示目标对象的第一伤害动画。
处理模块910,还用于根据伤害值扣除目标对象的生命值或耐久值。
图10,示出了本申请一个示例性实施例提供的虚拟环境中的弹道伤害计算装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为图1实施例中的服务器130。该装置包括:接收模块1010、发送模块1020以及处理模块1030。
接收模块1010,用于接收第一终端发送的时间戳和瞄准方向,时间戳是触发发射信号的时间戳,发射信号是发射第一终端对应的散射型远程武器的信号,瞄准方向是散射型远程武器的瞄准方向。
发送模块1020,用于向第二终端发送时间戳和瞄准方向,时间戳和瞄准方向用于触发第二终端根据时间戳和瞄准方向,通过预设算法计算至少两个弹药中的每一个弹药在虚拟环境中的弹道,至少两个弹药是散射型远程武器发射的弹药。
处理模块1030,用于根据时间戳和瞄准方向,通过预设算法计算至少两个弹药的弹道;根据弹道计算得到至少两个弹药对目标对象所造成的伤害值。
在一个可选的实施例中,处理模块1030,还用于根据至少两个弹药的弹道以及目标对象在虚拟环境中的位置,确定至少两个弹药中命中目标对象的个数;根据至少两个弹药中命中目标对象的个数计算伤害值。
在一个可选的实施例中,处理模块1030,还用于将时间戳作为伪随机数种子,通过伪随机算法计算弹药的偏移角度;根据弹药的偏移角度以及瞄准方向计算得到弹道。
在一个可选的实施例中,处理模块1030,还用于将时间戳作为伪随机数种子,根据弹药的最大偏移角度以及伪随机函数计算得到弹药的偏移角度。
在一个可选的实施例中,处理模块1030,还用于获取弹药的速度;将瞄准方向偏移偏移角度得到偏移方向;根据速度和偏移方向计算得到弹道。
在一个可选的实施例中,处理模块1030,还用于将个数乘以弹药的攻击值,得到目标对象的基础伤害值;获取得到散射型远程武器的位置和目标对象的位置;根据散射型远程武器的位置和目标对象位置计算得到散射型远程武器和目标对象的距离;将距离乘以衰减系数得到伤害衰减值;将基础伤害值减去伤害衰减值得到伤害值;和/或,将个数乘以攻击值,得到基础伤害值;获取目标对象的防御值;将防御值乘以防御系数得到伤害抵消值;将基础伤害值减去伤害抵消值得到伤害值。
图11,示出了本申请一个示例性实施例提供的虚拟环境中的弹道显示装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为图1实施例中的第二终端120。该装置包括:接收模块1110、处理模块1120以及显示模块1130。
接收模块1110,用于接收服务器发送的时间戳和瞄准方向,时间戳是触发发射信号的时间戳,发射信号是发射第一终端对应的散射型远程武器的信号,瞄准方向是散射型远程武器的瞄准方向。
处理模块1120,用于根据时间戳和瞄准方向,通过预设算法计算至少两个弹药中的每一个弹药在虚拟环境中的弹道,至少两个弹药是散射型远程武器发射的弹药。
显示模块1130,用于在虚拟环境中显示至少两个弹药的弹道。
在一个可选的实施例中,处理模块1120,还用于将时间戳作为伪随机数种子,通过伪随机算法计算弹药的偏移角度;根据弹药的偏移角度以及瞄准方向计算得到弹道。
在一个可选的实施例中,处理模块1120,还用于将时间戳作为伪随机数种子,根据弹药的最大偏移角度以及伪随机函数计算得到弹药的偏移角度。
在一个可选的实施例中,处理模块1120,还用于获取弹药的速度;将瞄准方向偏移偏移角度得到偏移方向;根据速度和偏移方向计算得到弹道。
在一个可选的实施例中,接收模块1110,还用于接收服务器发送的伤害值,伤害值是至少两个弹药对目标对象的伤害的数值,伤害值是服务器根据时间戳和瞄准方向,通过预设算法计算得到弹道后,根据弹道计算得到的。
处理模块1120,还用于根据伤害值扣除目标对象的生命值或耐久值。
在一个可选的实施例中,显示模块1130,还用于在虚拟环境中显示目标对象的第二伤害动画。
处理模块1120,还用于根据伤害值扣除目标对象的生命值或耐久值。
图12,示出了本申请一个示例性实施例提供的终端1200的结构框图。该终端1200可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器。终端1200还可能被称为用户设备、便携式终端等其他名称。
通常,终端1200包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中提供的由第一终端或第二终端执行的虚拟环境中的弹道显示方法。
在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。具体地,外围设备包括:射频电路1204、触摸显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
触摸显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏1205还具有采集在触摸显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。触摸显示屏1205用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1205可以为一个,设置终端1200的前面板;在另一些实施例中,触摸显示屏1205可以为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1205可以是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,触摸显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1205可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207用于提供用户和终端1200之间的音频接口。音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
定位组件1208用于定位终端1200的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1208可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1209用于为终端1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
加速度传感器1211可以检测以终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制触摸显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1212可以检测终端1200的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对终端1200的3D动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1213可以设置在终端1200的侧边框和/或触摸显示屏1205的下层。当压力传感器1213设置在终端1200的侧边框时,可以检测用户对终端1200的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1213设置在触摸显示屏1205的下层时,可以根据用户对触摸显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1214用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置终端1200的正面、背面或侧面。当终端1200上设置有物理按键或厂商Logo时,指纹传感器1214可以与物理按键或厂商Logo集成在一起。
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制触摸显示屏1205的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1205的显示亮度;当环境光强度较低时,调低触摸显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1216,也称距离传感器,通常设置在终端1200的正面。接近传感器1216用于采集用户与终端1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变小时,由处理器1201控制触摸显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变大时,由处理器1201控制触摸显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图13,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图。该计算机设备可以是图1实施例中的服务器130。具体来讲:所述计算机设备1300包括中央处理单元(CPU)1301、包括随机存取存储器(RAM)1302和只读存储器(ROM)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述计算机设备1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机可读存储介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者CD-ROI驱动器之类的计算机可读存储介质(未示出)。
不失一般性,所述计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1301执行,一个或多个程序包含用于实现上述虚拟环境中的虚拟对象的调度方法的指令,中央处理单元1301执行该一个或多个程序实现上述各个方法实施例提供的用户界面显示方法。
根据本申请的各种实施例,所述计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例中提供的虚拟环境中的弹道显示方法中由服务器所执行的步骤。
本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述任一实施例所述的虚拟环境中的弹道显示方法,或,虚拟环境中的弹道伤害计算方法。
本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的虚拟环境中的弹道显示方法,或,虚拟环境中的弹道伤害计算方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种虚拟环境中的弹道显示方法,其特征在于,所述方法由第一终端执行,所述方法包括:
当接收到散射型远程武器的发射信号时,获取触发所述发射信号的时间戳,以及所述散射型远程武器的瞄准方向;
向服务器发送所述时间戳和所述瞄准方向,所述时间戳和所述瞄准方向用于触发所述服务器向第二终端发送所述时间戳和所述瞄准方向后,所述第二终端通过第一弹道计算方式计算得到至少两个弹药的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
通过所述第一弹道计算方式计算得到所述至少两个弹药的弹道;
在所述虚拟环境中显示所述至少两个弹药的弹道,所述第一终端和所述第二终端上显示的所述至少两个弹药的弹道相同;
接收所述服务器发送的伤害值,所述伤害值是所述至少两个弹药对目标对象的伤害的数值,所述伤害值是所述服务器通过所述第一弹道计算方式计算得到所述至少两个弹药的弹道之后计算得到的;
根据所述伤害值扣除所述目标对象的生命值或耐久值;
其中,所述第一弹道计算方式包括将所述时间戳作为伪随机数种子,通过伪随机算法计算所述至少两个弹药的偏移角度,根据所述至少两个弹药的偏移角度以及所述瞄准方向计算得到所述至少两个弹药的弹道。
2.根据权利要求1所述的方法,其特征在于,所述将所述时间戳作为伪随机数种子,通过伪随机算法计算所述至少两个弹药的偏移角度,包括:
针对所述至少两个弹药中的一个弹药,将所述时间戳作为所述伪随机数种子,根据所述弹药的最大偏移角度以及伪随机函数计算得到所述弹药的偏移角度。
3.根据权利要求1所述的方法,其特征在于,所述根据所述至少两个弹药的偏移角度以及所述瞄准方向计算得到所述至少两个弹药的弹道,包括:
针对所述至少两个弹药中的一个弹药,获取所述弹药的速度;
将所述瞄准方向偏移所述弹药的偏移角度得到偏移方向;
根据所述速度和所述偏移方向计算得到所述弹药的弹道。
4.一种虚拟环境中的弹道伤害计算方法,其特征在于,所述方法由服务器执行,所述方法包括:
接收第一终端发送的时间戳和瞄准方向,所述时间戳是触发发射信号的时间戳,所述发射信号是发射所述第一终端对应的散射型远程武器的信号,所述瞄准方向是所述散射型远程武器的瞄准方向;
向第二终端发送所述时间戳和所述瞄准方向,所述时间戳和所述瞄准方向用于触发所述第二终端通过第一弹道计算方式计算得到至少两个弹药的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
通过第一弹道计算方式计算得到所述至少两个弹药的弹道;所述第一终端和所述第二终端上显示的所述至少两个弹药的弹道相同;
根据所述至少两个弹药的弹道以及目标对象在所述虚拟环境中的位置,确定所述至少两个弹药中命中所述目标对象的个数;根据所述至少两个弹药中命中所述目标对象的个数计算伤害值;
其中,所述第一弹道计算方式包括将所述时间戳作为伪随机数种子,通过伪随机算法计算所述至少两个弹药的偏移角度,根据所述至少两个弹药的偏移角度以及所述瞄准方向计算得到所述至少两个弹药的弹道。
5.根据权利要求4所述的方法,其特征在于,所述将所述时间戳作为伪随机数种子,通过伪随机算法计算所述至少两个弹药的偏移角度,包括:
针对所述至少两个弹药中的一个弹药,将所述时间戳作为所述伪随机数种子,根据所述弹药的最大偏移角度以及伪随机函数计算得到所述弹药的偏移角度。
6.一种虚拟环境中的弹道显示方法,其特征在于,所述方法由第二终端执行,所述方法包括:
接收服务器发送的时间戳和瞄准方向,所述时间戳是触发发射信号的时间戳,所述发射信号是发射第一终端对应的散射型远程武器的信号,所述瞄准方向是所述散射型远程武器的瞄准方向;
通过第一弹道计算方式计算得到至少两个弹药的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
在所述虚拟环境中显示所述至少两个弹药的弹道,所述第一终端和所述第二终端上显示的所述至少两个弹药的弹道相同;
接收所述服务器发送的伤害值,所述伤害值是所述服务器通过所述第一弹道计算方式计算得到所述至少两个弹药的弹道之后计算得到的;
根据所述伤害值扣除目标对象的生命值或耐久值;
其中,所述第一弹道计算方式包括将所述时间戳作为伪随机数种子,通过伪随机算法计算所述至少两个弹药的偏移角度,根据所述至少两个弹药的偏移角度以及所述瞄准方向计算得到所述至少两个弹药的弹道。
7.根据权利要求6所述的方法,其特征在于,所述将所述时间戳作为伪随机数种子,通过伪随机算法计算所述至少两个弹药的偏移角度,包括:
针对所述至少两个弹药中的一个弹药,将所述时间戳作为所述伪随机数种子,根据所述弹药的最大偏移角度以及伪随机函数计算得到所述弹药的偏移角度。
8.根据权利要求7所述的方法,其特征在于,所述根据所述弹药的偏移角度以及所述瞄准方向计算得到所述至少两个弹药的弹道,包括:
针对所述至少两个弹药中的一个弹药,获取所述弹药的速度;
将所述瞄准方向偏移所述弹药的偏移角度得到偏移方向;
根据所述速度和所述偏移方向计算得到所述弹药的弹道。
9.一种虚拟环境中的弹道显示装置,其特征在于,所述装置应用于第一终端中,所述装置包括:
处理模块,用于当接收到散射型远程武器的发射信号时,获取触发所述发射信号的时间戳,以及所述散射型远程武器的瞄准方向;
发送模块,用于向服务器发送所述时间戳和所述瞄准方向,所述时间戳和所述瞄准方向用于触发所述服务器向第二终端发送所述时间戳和所述瞄准方向后,所述第二终端通过第一弹道计算方式计算得到至少两个弹药的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
所述处理模块,还用于通过所述第一弹道计算方式计算得到所述至少两个弹药的弹道;
显示模块,用于在所述虚拟环境中显示所述至少两个弹药的弹道,所述第一终端和所述第二终端上显示的所述至少两个弹药的弹道相同;
接收模块,用于接收所述服务器发送的伤害值,所述伤害值是所述至少两个弹药对目标对象的伤害的数值,所述伤害值是所述服务器通过所述第一弹道计算方式计算得到所述至少两个弹药的弹道之后计算得到的;
所述处理模块,还用于根据所述伤害值扣除所述目标对象的生命值或耐久值;
其中,所述第一弹道计算方式包括将所述时间戳作为伪随机数种子,通过伪随机算法计算所述至少两个弹药的偏移角度,根据所述至少两个弹药的偏移角度以及所述瞄准方向计算得到所述至少两个弹药的弹道。
10.一种虚拟环境中的弹道伤害计算装置,其特征在于,所述装置应用于服务器中,所述装置包括:
接收模块,用于接收第一终端发送的时间戳和瞄准方向,所述时间戳是触发发射信号的时间戳,所述发射信号是发射第一终端对应的散射型远程武器的信号,所述瞄准方向是所述散射型远程武器的瞄准方向;
发送模块,用于向第二终端发送所述时间戳和所述瞄准方向,所述时间戳和所述瞄准方向用于触发所述第二终端通过第一弹道计算方式计算得到至少两个弹药的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
处理模块,用于通过第一弹道计算方式计算得到至少两个弹药的弹道;根据所述至少两个弹药的弹道计算得到所述至少两个弹药对目标对象所造成的伤害值,所述第一终端和所述第二终端上显示的所述弹道相同;
所述处理模块,还用于根据所述至少两个弹药的弹道以及所述目标对象在所述虚拟环境中的位置,确定所述至少两个弹药中命中所述目标对象的个数;根据所述至少两个弹药中命中所述目标对象的个数计算所述伤害值;
其中,所述第一弹道计算方式包括将所述时间戳作为伪随机数种子,通过伪随机算法计算所述至少两个弹药的偏移角度,根据所述至少两个弹药的偏移角度以及所述瞄准方向计算得到所述至少两个弹药的弹道。
11.一种虚拟环境中的弹道显示装置,其特征在于,所述装置应用于第二终端中,所述装置包括:
接收模块,用于接收服务器发送的时间戳和瞄准方向,所述时间戳是触发发射信号的时间戳,所述发射信号是发射第一终端对应的散射型远程武器的信号,所述瞄准方向是所述散射型远程武器的瞄准方向;
处理模块,用于通过第一弹道计算方式计算得到至少两个弹药的弹道,所述至少两个弹药是所述散射型远程武器发射的弹药;
显示模块,用于在所述虚拟环境中显示所述至少两个弹药的弹道,所述第一终端和所述第二终端上显示的所述弹道相同;
接收模块,用于接收所述服务器发送的伤害值,所述伤害值是所述至少两个弹药对目标对象的伤害的数值,所述伤害值是所述服务器通过所述第一弹道计算方式计算得到所述至少两个弹药的弹道之后计算得到的;
所述处理模块,还用于根据所述伤害值扣除所述目标对象的生命值或耐久值;
其中,所述第一弹道计算方式包括将所述时间戳作为伪随机数种子,通过伪随机算法计算所述至少两个弹药的偏移角度,根据所述至少两个弹药的偏移角度以及所述瞄准方向计算得到所述至少两个弹药的弹道。
12.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至3任一所述的虚拟环境中的弹道显示方法。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求4或5所述的虚拟环境中的弹道伤害计算方法。
14.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求6至8任一所述的虚拟环境中的弹道显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910042739.1A CN109806594B (zh) | 2019-01-17 | 2019-01-17 | 虚拟环境中的弹道显示方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910042739.1A CN109806594B (zh) | 2019-01-17 | 2019-01-17 | 虚拟环境中的弹道显示方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109806594A CN109806594A (zh) | 2019-05-28 |
CN109806594B true CN109806594B (zh) | 2022-05-17 |
Family
ID=66603435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910042739.1A Active CN109806594B (zh) | 2019-01-17 | 2019-01-17 | 虚拟环境中的弹道显示方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109806594B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111084986B (zh) * | 2019-12-17 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 显示控制方法、装置、存储介质及电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103604316A (zh) * | 2013-11-22 | 2014-02-26 | 北京机械设备研究所 | 一种用于多弹发射的弹道校正方法 |
CN105785415A (zh) * | 2016-03-03 | 2016-07-20 | 北京航天控制仪器研究所 | 一种制导炮弹的空中轨迹预测方法 |
JP6327439B2 (ja) * | 2014-01-23 | 2018-05-23 | 株式会社セガゲームス | プログラム及びゲーム装置 |
CN108404406A (zh) * | 2018-03-22 | 2018-08-17 | 腾讯科技(深圳)有限公司 | 虚拟环境中的弹道轨迹的显示方法、装置、设备及可读介质 |
CN108654086A (zh) * | 2018-05-09 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 虚拟环境中的攻击物伤害获取方法、装置及设备 |
-
2019
- 2019-01-17 CN CN201910042739.1A patent/CN109806594B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103604316A (zh) * | 2013-11-22 | 2014-02-26 | 北京机械设备研究所 | 一种用于多弹发射的弹道校正方法 |
JP6327439B2 (ja) * | 2014-01-23 | 2018-05-23 | 株式会社セガゲームス | プログラム及びゲーム装置 |
CN105785415A (zh) * | 2016-03-03 | 2016-07-20 | 北京航天控制仪器研究所 | 一种制导炮弹的空中轨迹预测方法 |
CN108404406A (zh) * | 2018-03-22 | 2018-08-17 | 腾讯科技(深圳)有限公司 | 虚拟环境中的弹道轨迹的显示方法、装置、设备及可读介质 |
CN108654086A (zh) * | 2018-05-09 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 虚拟环境中的攻击物伤害获取方法、装置及设备 |
Non-Patent Citations (3)
Title |
---|
老游记16-镭射风暴;frjk;《https://v.youku.com/v_show/id_XNzQ2NTg5MTQ4.html?sharekey=d188aa69b3b9223c8e4803ef38db4b558》;20140726;全文 * |
行星边际参数、作用机制及衍生技巧;执笔临旧憾;《https://www.bilibili.com/read/mobile/1776150》;20181228;第1-15页 * |
雷霆战机:[3]雷霆战机副武器哪个好,升级进阶;听语音;《https://jingyan.baidu.com/article/948f59242f711cd80ff5f93a.html》;20140324;第1-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109806594A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427111B (zh) | 虚拟环境中虚拟道具的操作方法、装置、设备及存储介质 | |
CN108815851B (zh) | 在虚拟环境中射击时的界面显示方法、设备及存储介质 | |
CN110448891B (zh) | 控制虚拟对象操作远程虚拟道具的方法、装置及存储介质 | |
CN110755841B (zh) | 虚拟环境中道具的切换方法、装置、设备及可读存储介质 | |
JP7383135B2 (ja) | 仮想対象の制御方法及びその装置、機器、並びにコンピュータープログラム | |
CN110917619B (zh) | 互动道具控制方法、装置、终端及存储介质 | |
CN110465098B (zh) | 控制虚拟对象使用虚拟道具的方法、装置、设备及介质 | |
CN111228809A (zh) | 虚拟环境中虚拟道具的操作方法、装置、设备及可读介质 | |
CN112870715B (zh) | 虚拟道具的投放方法、装置、终端及存储介质 | |
CN112316421B (zh) | 虚拟道具的装备方法、装置、终端及存储介质 | |
CN110755844B (zh) | 技能激活方法、装置、电子设备及存储介质 | |
CN111475029B (zh) | 虚拟道具的操作方法、装置、设备及存储介质 | |
CN111330274B (zh) | 虚拟对象的控制方法、装置、设备及存储介质 | |
CN112138384A (zh) | 虚拟投掷道具的使用方法、装置、终端及存储介质 | |
CN110585706B (zh) | 互动道具控制方法、装置、终端及存储介质 | |
CN111744186A (zh) | 虚拟对象的控制方法、装置、设备及存储介质 | |
CN111001159A (zh) | 虚拟场景中的虚拟道具控制方法、装置、设备及存储介质 | |
CN113713382A (zh) | 虚拟道具控制方法、装置、计算机设备及存储介质 | |
CN112044084A (zh) | 虚拟环境中的虚拟道具控制方法、装置、存储介质及设备 | |
CN113041622A (zh) | 虚拟环境中虚拟投掷物的投放方法、终端及存储介质 | |
CN111760284A (zh) | 虚拟道具控制方法、装置、设备及存储介质 | |
CN112933601A (zh) | 虚拟投掷物的操作方法、装置、设备及介质 | |
CN111330278B (zh) | 基于虚拟环境的动画播放方法、装置、设备及介质 | |
CN111921190A (zh) | 虚拟对象的道具装备方法、装置、终端及存储介质 | |
CN112316430B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |