掌桥专利:专业的专利平台
掌桥专利
首页

一种弹着点确定方法、终端、设备以及存储介质

文献发布时间:2023-06-19 12:10:19


一种弹着点确定方法、终端、设备以及存储介质

技术领域

本公开涉及计算机技术领域,具体而言,涉及一种弹着点确定方法、终端、设备以及存储介质。

背景技术

在传统射击类游戏中,射击过程中都存在散布现象,散布是在玩家进行射击时子弹射出的实际角度偏离准心中心点基线一定角度,从而导致弹着点偏离准心中心点瞄准位置产生的实际与瞄准之间的误差。

现有的生成散布的方式大多是通过XY坐标生成,例如通过在X坐标和Y坐标分别随机一个点,来确定弹着点,或者通过XY坐标生成矩形,并取矩形内接圆中的点作为散布点,或者通过建立极坐标的方式来确定弹着点。但是无论哪一种方式,都会出现弹着点分布不均匀的情况,导致呈现出的散布效果不佳,因此,如何呈现出优质散布效果成为亟待解决的问题。

发明内容

本公开实施例至少提供一种弹着点确定方法、终端、设备以及存储介质。

本公开实施例提供一种弹着点确定方法,应用于提供有图形用户界面的终端,所述图形用户界面中显示有至少部分游戏场景,所述游戏场景中包括虚拟角色,所述方法包括:

响应于用户针对虚拟角色的射击操作,确定所述虚拟角色进行射击所使用射击工具的预设散布值,以及进行射击的瞄准基线和所述瞄准基线在射击对象上的射击瞄准点;

基于所述预设散布值,确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角;

对所述散布偏离角进行收敛处理,得到对应的收敛散布偏离角;

基于所述收敛散布偏离角和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

一种可选的实施方式中,通过以下步骤确定所述射击工具的预设散布值,包括:

获取所述射击工具的基础散布和基础散布修正因子,以及所述虚拟角色响应于所述射击操作进行此次射击的射击次序;

通过所述基础散布、所述基础散布修正因子和所述射击次序,计算使用所述射击工具进行此次射击的预设散布值。

一种可选的实施方式中,所述通过所述基础散布、所述基础散布修正因子和所述射击次序,计算使用所述射击工具进行此次射击的预设散布值,包括:

检测所述射击次序是否小于预设影响次序;

若所述射击次序是否小于预设影响次序,确定针对所述射击工具的、预设的稳定修正因子;

通过所述基础散布、所述基础散布修正因子和所述稳定修正因子,确定此次射击针对所述射击工具的预设散布值。

一种可选的实施方式中,在所述获取所述射击工具的基础散布和基础散布修正因子,以及所述虚拟角色响应于所述射击操作进行此次射击的射击次序之后,所述方法包括:

检测在所述射击次序之前的射击过程中,在所述虚拟角色的多次射击中是否存在射击间隔;

若存在,确定所述虚拟角色的停止射击次数和预设的间隔衰减因子;

所述通过所述基础散布、所述基础散布修正因子和所述射击次序,计算使用所述射击工具进行此次射击的预设散布值,包括:

通过所述基础散布、所述基础散布修正因子、所述射击次序、所述停止射击次数和所述间隔衰减因子,计算使用所述射击工具进行此次射击的预设散布值。

一种可选的实施方式中,所述基于所述预设散布值,确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角,包括:

基于所述预设散布值,确定在竖直方向上相对于所述瞄准基线的、所述射击工具的散布偏离角区间;

从所述散布偏离角区间中,选择出使用所述射击工具进行射击时子弹的飞行轨迹相对于瞄准基线的随机散布偏离角。

一种可选的实施方式中,所述对所述散布偏离角进行收敛处理,得到对应的收敛散布偏离角,包括:

对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的收敛散布偏离角。

一种可选的实施方式中,所述对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的收敛散布偏离角,包括:

对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的中间散布偏离角;

检测所述中间散布偏离角是否大于所述射击工具的预设最大散布偏离角;

若不大于,将所述中间散布偏离角确定为所述散布偏离角对应的收敛散布偏离角;

若大于,将所述预设最大散布偏离角确定为所述散布偏离角对应的收敛散布偏离角。

一种可选的实施方式中,所述基于所述收敛散布偏离角和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点,包括:

确定所述游戏场景中针对影响射击行为的影响因子;

基于所述收敛散布偏离角、所述游戏场景中针对影响射击行为的影响因子和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点;

其中,所述游戏场景中针对影响射击行为的影响因子包括以下因素中的一个或者多个对应的影响因子:

所述游戏场景中的时间、天气、风速、湿度和射击地理位置。

一种可选的实施方式中,所述基于所述收敛散布偏离角和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点,包括:

确定预先为所述虚拟角色配置的射击天赋;

基于所述射击天赋,确定所述虚拟角色使用所述射击工具进行射击的散布修正系数;

基于所述收敛散布偏离角、所述散布修正系数和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

本公开实施例还提供一种终端,所述终端提供有图形用户界面,所述图形用户界面中显示有至少部分游戏场景,所述游戏场景中包括虚拟角色,所述终端包括:

第一确定模块,用于响应于用户针对虚拟角色的射击操作,确定所述虚拟角色进行射击所使用射击工具的预设散布值,以及进行射击的瞄准基线和所述瞄准基线在射击对象上的射击瞄准点;

第二确定模块,用于基于所述预设散布值,确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角;

第三确定模块,用于对所述散布偏离角进行收敛处理,得到对应的收敛散布偏离角;

弹着点确定模块,用于基于所述收敛散布偏离角和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

一种可选的实施方式中,所述第一确定模块用于通过以下步骤确定所述射击工具的预设散布值:

获取所述射击工具的基础散布和基础散布修正因子,以及所述虚拟角色响应于所述射击操作进行此次射击的射击次序;

通过所述基础散布、所述基础散布修正因子和所述射击次序,计算使用所述射击工具进行此次射击的预设散布值。

一种可选的实施方式中,所述第一确定模块在用于通过所述基础散布、所述基础散布修正因子和所述射击次序,计算使用所述射击工具进行此次射击的预设散布值时,具体用于:

检测所述射击次序是否小于预设影响次序;

若所述射击次序小于预设影响次序,确定针对所述射击工具的、预设的稳定修正因子;

通过所述基础散布、所述基础散布修正因子和所述稳定修正因子,确定此次射击针对所述射击工具的预设散布值。

一种可选的实施方式中,所述第一确定模块还用于:

检测在所述射击次序之前的射击过程中,在所述虚拟角色的多次射击中是否存在射击间隔;

若存在,确定所述虚拟角色的停止射击次数和预设的间隔衰减因子;

所述通过所述基础散布、所述基础散布修正因子和所述射击次序,计算使用所述射击工具进行此次射击的预设散布值,包括:

通过所述基础散布、所述基础散布修正因子、所述射击次序、所述停止射击次数和所述间隔衰减因子,计算使用所述射击工具进行此次射击的预设散布值。

一种可选的实施方式中,所述第二确定模块具体用于:

基于所述预设散布值,确定在竖直方向上相对于所述瞄准基线的、所述射击工具的散布偏离角区间;

从所述散布偏离角区间中,选择出使用所述射击工具进行射击时子弹的飞行轨迹相对于瞄准基线的随机散布偏离角。

一种可选的实施方式中,所述第三确定模块具体用于:

对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的收敛散布偏离角。

一种可选的实施方式中,所述第三确定模块在用于对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的收敛散布偏离角时,具体用于:

对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的中间散布偏离角;

检测所述中间散布偏离角是否大于所述射击工具的预设最大散布偏离角;

若不大于,将所述中间散布偏离角确定为所述散布偏离角对应的收敛散布偏离角;

若大于,将所述预设最大散布偏离角确定为所述散布偏离角对应的收敛散布偏离角。

一种可选的实施方式中,所述弹着点确定模块具体用于:

确定所述游戏场景中针对影响射击行为的影响因子;

基于所述收敛散布偏离角、所述游戏场景中针对影响射击行为的影响因子和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点;

其中,所述游戏场景中针对影响射击行为的影响因子包括以下因素中的一个或者多个对应的影响因子:

所述游戏场景中的时间、天气、风速、湿度和射击地理位置。

一种可选的实施方式中,所述弹着点确定模块具体用于:

确定预先为所述虚拟角色配置的射击天赋;

基于所述射击天赋,确定所述虚拟角色使用所述射击工具进行射击的散布修正系数;

基于所述收敛散布偏离角、所述散布修正系数和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述的弹着点确定方法的步骤。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的弹着点确定方法的步骤。

本公开实施例提供的弹着点确定方法、终端、设备以及存储介质,响应于用户针对虚拟角色的射击操作,确定所述虚拟角色进行射击所使用射击工具的预设散布值,以及进行射击的瞄准基线和所述瞄准基线在射击对象上的射击瞄准点;基于所述预设散布值,确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角;对所述散布偏离角进行收敛处理,得到对应的收敛散布偏离角;基于所述收敛散布偏离角和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

这样,通过所使用的射击工具的预设散布值,以及进行射击的瞄准基线和射击瞄准点,确定进行射击时的散布偏离角,并进一步确定与散布偏离角对应的收敛散布偏离角,基于所述收敛散布偏离角和所述射击瞄准点,以及散布旋转角,确定射击在所述射击对象上的弹着点,可以有效降低射击中散布的分散范围,避免弹着点确定过程中的弹着点分布不均匀问题,有利于呈现出较佳的弹着点分布效果,并且结合所述游戏场景中针对影响射击行为的影响因子,增加确定弹着点的影响因素,进而可以从更全面的角度确定弹着点。

进一步的,还可以通过预先设置好的预设最大散布偏离角,根据检测到的与散布偏离角对应的中间散布偏离角,对收敛散布偏离角的范围进行限定,以呈现较佳的散布效果。

进一步的,还可以基于进行射击所使用的射击工具的稳定枪数,通过基础散布、稳定修正因子和基础散布修正因子,确定所述射击工具的预设散布值,以使所述预设散布值更加精确。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本公开实施例提供的一种弹着点确定方法的流程图;

图2为本公开实施例提供的弹着点散布效果示意图;

图3为本公开实施例提供的另一种弹着点确定方法的流程图;

图4为本公开实施例提供的一种终端的结构图;

图5示出了本公开实施例所提供的一种电子设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

经研究发现,在现有弹着点确定技术中,会通过极坐标和XY坐标来确定弹着点,这两种方式会产生弹着点分布不均匀的问题。

基于上述研究,本公开提供了一种弹着点确定方法,通过所使用的射击工具的预设散布值,以及进行射击的瞄准基线和射击瞄准点,确定进行射击时的散布偏离角,并进一步确定与散布偏离角对应的收敛散布偏离角,基于所述收敛散布偏离角和所述射击瞄准点,以及散布旋转角,确定射击在所述射击对象上的弹着点,可以有效避免弹着点确定过程中的弹着点分布不均匀问题,有利于呈现出较佳的弹着点分布效果,并且结合所述游戏场景中针对影响射击行为的影响因子,增加确定弹着点的影响因素,进而可以从更全面的角度确定弹着点。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种弹着点确定方法进行详细介绍,本公开实施例所提供的弹着点确定方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备、虚拟现实(Virtual Reality,VR)设备、增强现实(Augmented Reality,AR)设备等。在一些可能的实现方式中,该弹着点确定方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

请参阅图1,图1为本公开实施例提供的一种弹着点确定方法的流程图。如图1中所示,本公开实施例提供的弹着点确定方法,应用于提供有图形用户界面的终端,所述图形用户界面中显示有至少部分游戏场景,所述游戏场景中包括虚拟角色,所述方法包括:

S101:响应于用户针对虚拟角色的射击操作,确定所述虚拟角色进行射击所使用射击工具的预设散布值,以及进行射击的瞄准基线和所述瞄准基线在射击对象上的射击瞄准点。

该步骤中,响应于用户针对游戏中的虚拟角色在终端上通过游戏按键进行的射击操作,需要确定所述虚拟角色进行射击所使用的射击工具的预设散布值,以及进行射击时的用于瞄准射击对象的瞄准基线和所述瞄准基线在射击对象上的射击瞄准点。

其中,所述瞄准基线,为从所述虚拟角色进行射击所使用的射击工具的枪口到射击对象的一条直线,所述射击瞄准点,为进行射击时的瞄准基线在射击对象上的映射出的点。

其中,所述射击工具的预设散布值,可以是通过为所述射击工具预设的基础散布和基础散布修正因子得出的,其中,基础散布修正因子是指可以根据所述射击工具与射击对象的距离的不同,对所述射击工具的预设散布值进行调整的系数。

其中,所述预设散布值的确定公式为:

spread=normalAccuracyBase+normalAccuracyModifier*accuracy

其中,spread为所述预设散布值,normalAccuracyBase为所述基础散布,normalAccuracyModifier为所述基础散步修正因子,accuracy为所述射击次序。

具体的,针对游戏中不同的射击工具,可以根据不同的作用、性能、属性等因素,为其配置不同的基础散布和基础散布修正因子,以便于为不同的射击工具呈现出不同的散布效果。

S102:基于所述预设散布值,确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角。

该步骤中,在确定所述虚拟角色进行射击所使用的不同的射击工具的预设散布值之后,可以基于所述预设散布值,确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角。

其中,所述射击工具进行射击时子弹的飞行轨迹代表模拟的实际射击中的子弹的飞行路径的概念。

S103:对所述散布偏离角进行收敛处理,得到对应的收敛散布偏离角。

该步骤中,在确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角后,若所述散布偏离角的值较大,则基于所述散布偏离角所形成的以瞄准点为中心的可能的弹着点范围就越大,进而导致距离瞄准点越远的区域中的点分布稀疏且不均匀,所以需要对所述散布偏离角进行收敛处理,可以得到与所述散布偏离角对应的收敛散布偏离角,这样,基于所述收敛散布偏离角所形成的以瞄准点为中心的散布的范围相对较小,则在此范围内点的分布相对集中且均匀。

S104:基于所述收敛散布偏离角和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

该步骤中,基于所述收敛散布偏离角和所述瞄准基线在射击对象上的射击瞄准点,可以确定射击出的子弹在散布范围内与所述设计瞄准点的距离并确保均匀性分布,基于竖直方向上选取的、相对于所述射击瞄准点的散布旋转角可以确定射击出的子弹相对于所述射击瞄准点的角度,根据所述距离和所述角度,可以进一步确定射击在所述射击对象上的弹着点。

其中,所述散布旋转角可以是以竖直向上方向为0度,以顺时针方向在0度至360度中每间隔10度进行随机选取,以确保每次射击的弹着点不会随机在同一区域,进一步确保分布的均匀性。

其中,所述散布偏离角的确定公式为:

rotationAngle=randomFloat(0,360)

示例性的,请参阅图2,图2为弹着点散布效果示意图。

如图2中所示,图2中每个弹着点都是通过步骤S101至S104确定的,为使所述收敛散布偏离角对应的散布范围内的点的分布较密集且均匀,需要通过对所述散布偏离角进行收敛处理,得到所述收敛散布偏离角,根据所述收敛散布偏离角可以确定射击出的子弹在与其对应的散布范围内相对于所述射击瞄准点的距离,并基于在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角可以确定射击出的子弹相对于所述射击瞄准点的角度,确定射击在所述射击对象上的弹着点。

本公开实施例提供的弹着点确定方法,通过所使用的射击工具的预设散布值,以及进行射击的瞄准基线和射击瞄准点,确定收敛散布偏离角,基于所述收敛散布偏离角、所述预设散布值和所述射击瞄准点,以及散布旋转角,确定射击在所述射击对象上的弹着点,可以有效避免弹着点确定过程中的弹着点分布不均匀问题,有利于呈现出较佳的弹着点分布效果,并且结合所述游戏场景中针对影响射击行为的影响因子,增加确定弹着点的影响因素,进而可以从更全面的角度确定弹着点。

请参阅图3,图3为本公开实施例提供的另一种弹着点确定方法的流程图。如图3中所示,本公开实施例提供的另一种弹着点确定方法,应用于提供有图形用户界面的终端,所述图形用户界面中显示有至少部分游戏场景,所述游戏场景中包括虚拟角色,所述方法包括:

S301:获取所述射击工具的基础散布和基础散布修正因子,以及所述虚拟角色响应于所述射击操作进行此次射击的射击次序。

该步骤中,由于不同的所述射击工具具有不同的基础散布和基础散布修正因子,所以需要确定所述虚拟角色进行射击所使用的不同的射击工具对应的基础散布和基础散布修正因子,以及所述虚拟角色响应于所述射击操作进行此次射击的射击次序。

示例性的,所述不同的射击工具包括:霰弹枪、步枪,手枪、冲锋枪、弓箭、弩,则对应不同类型的射击工具,可以确定与其对应的基础散布和基础散布修正因子。

S302:通过所述基础散布、所述基础散布修正因子和所述射击次序,计算使用所述射击工具进行此次射击的预设散布值。

该步骤中,基于所述虚拟角色进行射击所使用的不同的射击工具的基础散布、基础散布修正因子,以及所述虚拟角色响应于所述射击操作进行此次射击的射击次序,确定使用所述射击工具进行此次射击的预设散布值。

另外,可以基于进行此次射击的所述射击次数、射击次数修正因子、所述基础散布、所述基础散布修正因子以及所述射击次序,确定使用所述射击工具进行此次射击的预设散布值。

示例性的,根据所述射击次数和射击次数修正因子的乘积,确定射击数影响因子,并基于所述射击数影响因子、所述基础散布、所述基础散布修正因子以及所述射击次序,进一步确定使用所述射击工具进行此次射击的预设散布值。

S303:响应于用户针对虚拟角色的射击操作,确定所述虚拟角色进行射击所使用射击工具的预设散布值,以及进行射击的瞄准基线和所述瞄准基线在射击对象上的射击瞄准点。

S304:基于所述预设散布值,确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角。

S305:对所述散布偏离角进行收敛处理,得到对应的收敛散布偏离角。

S306:基于所述收敛散布偏离角和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

其中,步骤S303至步骤S306的描述,可以参照步骤S101至步骤S104的描述,并且可以达到相同的技术效果和解决相同的技术问题,在此不做赘述。

接下来,结合具体实时方式进一步对本实施例进行说明。

一种可选的实施方式中,步骤301包括:

检测所述射击次序是否小于预设影响次序。

该步骤中,在确定所述射击工具的预设散布值时,首先检测所述射击次序是否小于预设影响次序。

若所述射击次序小于预设影响次序,确定针对所述射击工具的、预设的稳定修正因子。

该步骤中,若所述检测到的所述射击数小于预设影响次序,针对进行射击所使用的射击工具,其在射击数小于所述预设影响次序时保持稳定,确定针对所述射击工具的、预设的稳定修正因子。

通过所述基础散布、所述基础散布修正因子和所述稳定修正因子,确定此次射击针对所述射击工具的预设散布值。

该步骤中,对于小于所述预设影响次数的所述射击数,可以根据所述基础散布和所述稳定修正因子确定所述射击工具的预设散布值;对于大于所述预设影响次数的所述射击数,可以根据所述基础散布、所述基础散布修正因子和所述稳定修正因子,确定此次射击针对所述射击工具的预设散布值。

一种可选的实施方式中,在步骤301之后还包括:

检测在所述射击次序之前的射击过程中,在所述虚拟角色的多次射击中是否存在射击间隔。

该步骤中,在确定所述射击工具的预设散布值的过程中,所述射击次序会对所述射击工具的预设散布值产生影响,所以在确定射击次序之前,需要检测在所述虚拟角色的多次射击中是否存在射击间隔。

若存在,确定所述虚拟角色的停止射击次数和预设的间隔衰减因子。

该步骤中,在检测到在所述虚拟角色的多次射击中存在射击间隔时,可以根据所述射击间隔的时长,进一步确定所述虚拟角色的停止射击次数和预设的间隔衰减因子。

所述通过所述基础散布、所述基础散布修正因子和所述射击次序,计算使用所述射击工具进行此次射击的预设散布值,包括:

通过所述基础散布、所述基础散布修正因子、所述射击次序、所述停止射击次数和所述间隔衰减因子,计算使用所述射击工具进行此次射击的预设散布值。

该步骤中,基于确定的所述虚拟角色的停止射击次数、预设的间隔衰减因子,以及所述射击工具的基础散布、基础散布修正因子和射击次序,进一步确定使用所述射击工具进行此次射击的预设散布值。

一种可选的实施方式中,步骤304包括:

基于所述预设散布值,确定在竖直方向上相对于所述瞄准基线的、所述射击工具的散布偏离角区间。

该步骤中,可以基于使用所述射击工具进行此次射击的预设散布值的大小,确定在竖直方向上相对于所述瞄准基线的、所述射击工具的散布偏离角区间。

示例性的,若所述预设散布值较大,则可以通过确定较小的所述射击工具的散布偏离角区间,以使此次射击的弹着点可以落在相对均匀的范围内。

从所述散布偏离角区间中,选择出使用所述射击工具进行射击时子弹的飞行轨迹相对于瞄准基线的随机散布偏离角。

该步骤中,基于所述散布偏离角区间,可以按照从小到大的原则,从中随机选取一个角度,将此角度确定为使用所述射击工具进行射击时子弹的飞行轨迹相对于瞄准基线的随机散布偏离角。

示例性的,若所述散布偏离角区间为(-2,2),则可以从中随机选取一个角度,例如-1.8度、-1.6度,将随机选取到的角度确定为随机散布偏离角,其中,所述散布偏离角区间为(-2,2)中的正负号表示以瞄准基线为参考,瞄准基线上方表示为正角度,瞄准基线下方表示为负角度。

一种可选的实施方式中,步骤305包括:

对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的收敛散布偏离角。

该步骤中,在确定所述散布偏离角之后,需要通过对所述散布偏离角进行收敛处理,确保使用所述射击工具进行射击时子弹的弹着点可以均匀分布,此步骤中通过开平方根的数学处理方法对所述散布偏离角进行收敛处理,得到与所述散布偏离角对应的收敛散布偏离角。

其中,所述收敛公式为:

convergentSpreadAngle=sqrt(SpreadAngle)

一种可选的实施方式中,步骤305还包括:

对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的中间散布偏离角。

该步骤中,在确定所述散布偏离角之后,对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的中间散布偏离角。

检测所述中间散布偏离角是否大于所述射击工具的预设最大散布偏离角。

该步骤中,为避免所述中间散布偏离角对应形成的以瞄准点为中心的可能的散布范围过大,则通过预先设置的预设最大散布偏离角对所述中间散布偏离角进行约束,则在确定所述中间散布偏离角之后,确定所述中间散布偏离角与所述射击工具的预设最大散布偏离角的大小对比结果。

其中,所述预设最大散布偏离角,是进行射击所使用的不同的射击工具的散布偏离角的最大变化范围。

若不大于,将所述中间散布偏离角确定为所述散布偏离角对应的收敛散布偏离角。

该步骤中,若检测到所述中间散布偏离角小于所述射击工具的预设最大散布偏离角,将所述中间散布偏离角确定为所述散布偏离角对应的收敛散布偏离角。

若大于,将所述预设最大散布偏离角确定为所述散布偏离角对应的收敛散布偏离角。

该步骤中,若检测到所述中间散布偏离角大于所述射击工具的预设最大散布偏离角,将所述预设最大散布偏离角确定为所述散布偏离角对应的收敛散布偏离角。

其中,检测所述中间散布偏离角是否大于所述射击工具的预设最大散布偏离角的公式为:

if(convergentSpreadAngle>maxSpreadAngle)

convergentSpreadAngle=maxSpreadAngle

示例性的,如图2中所示的弹着点散布效果示意图中,在实际射击中,预设最大散布偏离角所对应的散布范围内弹着点分布均匀,预设最大散布偏离角所对应的散布范围外的弹着点分布稀疏且不均匀,由于在弹着点确定之前,不能确定所述中间散布偏离角所对应的散布范围是否满足弹着点分布均匀的要求,所以可以利用所述预设最大散布偏离角对所述中间散布偏离角进行约束,可以确保在实际射击中的子弹落在所述中间散布偏离角对应的散布范围内的弹着点分布均匀。

一种可选的实施方式中,步骤306包括:

确定所述游戏场景中针对影响射击行为的影响因子;

其中,所述游戏场景中针对影响射击行为的影响因子包括以下因素中的一个或者多个对应的影响因子:

所述游戏场景中的时间、天气、风速、湿度和射击地理位置。

该步骤中,由于目前射击游戏中经常设置不同的游戏场景,例如设置游戏场景中的天气,地形等,因此,在不同的游戏场景中,所述游戏场景对射击行为也会产生影响,所以需要确定所述游戏场景中针对影响射击行为的影响因子。

示例性的,游戏场景中的天气为雨天时,雨滴会改变射击过程中子弹的飞行路径。

基于所述收敛散布偏离角、所述游戏场景中针对影响射击行为的影响因子和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

该步骤中,在确定所述收敛散布偏离角、所述游戏场景中针对影响射击行为的影响因子和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角之后,则可以确定射击的子弹相对于瞄准点的距离、角度,以及游戏场景针对射击行为的影响,进而确定射击在所述射击对象上的弹着点。

一种可选的实施方式中,步骤306还包括:

确定预先为所述虚拟角色配置的射击天赋。

该步骤中,为呈现出较佳的散布效果,可以为所述虚拟角色配置的射击天赋作为影响散布效果的另一因素,则需要确定预先为所述虚拟角色配置的射击天赋。

其中,所述射击天赋在所述虚拟角色每进行一次射击,则相应的会对每一次射击增加一次射击天赋。

基于所述射击天赋,确定所述虚拟角色使用所述射击工具进行射击的散布修正系数。

该步骤中,基于所述射击天赋以及所述虚拟角色使用所述射击工具,确定所述虚拟角色使用所述射击工具进行射击的散布修正系数。

基于所述收敛散布偏离角、所述散布修正系数和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

该步骤中,基于确定的所述虚拟角色使用所述射击工具进行射击的散布修正系数、所述收敛散布偏离角以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,可以确定射击的子弹相对于所述射击瞄准点的距离和角度,进而可以确定射击在所述射击对象上的弹着点。

本公开实施例提供的弹着点确定方法,可以通过确定所述虚拟角色进行射击所使用射击工具的预设散布值,以及进行射击的瞄准基线和所述瞄准基线在射击对象上的射击瞄准点,基于所述预设散布值,确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角,对所述散布偏离角进行收敛处理,得到对应的收敛散布偏离角,基于所述收敛散布偏离角和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点,此种弹着点确定方法可以有效避免弹着点确定过程中的弹着点分布不均匀问题,有利于呈现出较佳的弹着点分布效果,并且结合所述游戏场景中针对影响射击行为的影响因子,增加确定弹着点的影响因素,进而可以从更全面的角度确定弹着点。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与弹着点确定方法对应的终端,由于本公开实施例中的终端解决问题的原理与本公开实施例上述弹着点确定方法相似,因此终端的实施可以参见方法的实施,重复之处不再赘述。

请参阅图4,图4为本公开实施例提供的一种终端结构图。

如图4中所示,本公开实施例提供的终端400,包括:

第一确定模块410,用于响应于用户针对虚拟角色的射击操作,确定所述虚拟角色进行射击所使用射击工具的预设散布值,以及进行射击的瞄准基线和所述瞄准基线在射击对象上的射击瞄准点;

第二确定模块420,用于基于所述预设散布值,确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角;

第三确定模块430,用于对所述散布偏离角进行收敛处理,得到对应的收敛散布偏离角;

弹着点确定模块440,用于基于所述收敛散布偏离角和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

一种可选的实施方式中,所述第一确定模块用于通过以下步骤确定所述射击工具的预设散布值:

获取所述射击工具的基础散布和基础散布修正因子,以及所述虚拟角色响应于所述射击操作进行此次射击的射击次序;

通过所述基础散布、所述基础散布修正因子和所述射击次序,计算使用所述射击工具进行此次射击的预设散布值。

一种可选的实施方式中,所述第一确定模块410具体用于:

检测所述射击次序是否小于预设影响次序;

若所述射击次序小于预设影响次序,确定针对所述射击工具的、预设的稳定修正因子;

通过所述基础散布、所述基础散布修正因子和所述稳定修正因子,确定此次射击针对所述射击工具的预设散布值。

一种可选的实施方式中,所述第一确定模块410还具体用于:

检测在确定所述射击次序之前的射击过程中,在所述虚拟角色的多次射击中是否存在射击间隔;

若存在,确定所述虚拟角色的停止射击次数和预设的间隔衰减因子;

所述通过所述基础散布、所述基础散布修正因子和所述射击次序,计算使用所述射击工具进行此次射击的预设散布值,包括:

通过所述基础散布、所述基础散布修正因子、所述射击次序、所述停止射击次数和所述间隔衰减因子,计算使用所述射击工具进行此次射击的预设散布值。

一种可选的实施方式中,所述第二确定模块420具体用于:

基于所述预设散布值,确定在竖直方向上相对于所述瞄准基线的、所述射击工具的散布偏离角区间;

从所述散布偏离角区间中,选择出使用所述射击工具进行射击时子弹的飞行轨迹相对于瞄准基线的随机散布偏离角。

一种可选的实施方式中,所述第三确定模块430具体用于:

对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的收敛散布偏离角。

一种可选的实施方式中,所述第三确定模块430还具体用于:

对所述散布偏离角进行开平方根处理,得到与所述散布偏离角对应的中间散布偏离角;

检测所述中间散布偏离角是否大于所述射击工具的预设最大散布偏离角;

若不大于,将所述中间散布偏离角确定为所述散布偏离角对应的收敛散布偏离角;

若大于,将所述预设最大散布偏离角确定为所述散布偏离角对应的收敛散布偏离角。

一种可选的实施方式中,所述弹着点确定模块440具体用于:

确定所述游戏场景中针对影响射击行为的影响因子;

基于所述收敛散布偏离角、所述游戏场景中针对影响射击行为的影响因子和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点;

其中,所述游戏场景中针对影响射击行为的影响因子包括以下因素中的一个或者多个对应的影响因子:

所述游戏场景中的时间、天气、风速、湿度和射击地理位置。

一种可选的实施方式中,所述弹着点确定模块440还用于:

确定预先为所述虚拟角色配置的射击天赋;

基于所述射击天赋,确定所述虚拟角色使用所述射击工具进行射击的散布修正系数;

基于所述收敛散布偏离角、所述散布修正系数和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点。

本公开实施例提供的终端,可以通过确定所述虚拟角色进行射击所使用射击工具的预设散布值,以及进行射击的瞄准基线和所述瞄准基线在射击对象上的射击瞄准点,基于所述预设散布值,确定使用所述射击工具进行射击时子弹的飞行轨迹相对于所述瞄准基线的散布偏离角,对所述散布偏离角进行收敛处理,得到对应的收敛散布偏离角,基于所述收敛散布偏离角和所述射击瞄准点,以及在竖直方向上选取的、相对于所述射击瞄准点的散布旋转角,确定射击在所述射击对象上的弹着点,此种弹着点确定方法不仅可以确保弹着点分布的均匀性,同时可以根据游戏场景针对影响射击行为的影响因子和进行射击所使用的射击工具进一步确定弹着点。关于终端中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

对应于图1和图3中的弹着点确定方法,本公开实施例还提供了一种电子设备。参照图5所示,为本申请实施例提供的电子设备500的结构示意图,包括处理器510、存储器520、和总线530。其中,存储器520用于存储执行指令,包括内存521和外部存储器522;这里的内存521也称内存储器,用于暂时存放处理器510中的运算数据,以及与硬盘等外部存储器522交换的数据,处理器510通过内存521与外部存储器522进行数据交换,当电子设备500运行时,处理器510与存储器520之间通过总线530通信,使得处理器510能够执行上述方法实施例中所述的弹着点确定方法的步骤。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的弹着点确定方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例所提供的一种弹着点确定方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的弹着点确定方法的步骤,具体可参见上述方法实施例,在此不再赘述。

本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和终端的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、终端和方法,可以通过其它的方式实现。以上所描述的终端实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种弹着点确定方法、终端、设备以及存储介质
  • 终端状态确定方法、装置、终端设备及存储介质
技术分类

06120113195002