全军出击子弹下坠坠什么原理

战地1子弹飞行速度及下坠的原理
战地1子弹飞行速度及下坠的原理
正经FPS&&&&众所周知,在众多FPS大作中战地系列有着相当真实的子弹飞行轨迹,战地1在此之上更进一步,本文将详细介绍这一系统。&&&&在介绍子弹飞行系统前,我先贴一段Symthic Forum的帖子(http://forum.symthic.com/battlefield-1-general-discussion/11500-things-that-i-like-will-miss-about-bf1/),战地1的子弹速度(以及相对伤害大小)是非常贴近史实的:&&& “DICE在战地1中非常注重还原历史真实武器的子弹速度,在前代战地中,子弹速度是一个常数且总是低于与之对应的相同口径的现实武器,战地1子弹有着相对前代更高的初速,并会受到空气阻力而下降。游戏里几乎所有武器的枪口初速都与真实武器相符,例如,m1917发射的.351SLW弹药初速为570m/s,游戏中也是如此。一战中使用的30-06 M1906弹药有着820m/s的初速,且属于艇尾型弹头(低阻力),而在游戏中使用30-06弹药的枪(M1917,BAR,Benet,春田)都具现了这两个特性。”&&&&“另一个例子是,在相同口径弹药伤害的不同,例如m1917发射的.351SL和8.25(加长)发射的.25雷明顿弹药口径相同,游戏中m1907伤害更高,衰减距离更长,因为在现实中,.25雷明顿弹头重7.5g,枪口动能1600焦,而.351SL重11.6g枪口动能1900焦。”&&&&接下来进入正题,影响武器子弹轨迹的参数只有两个:枪口初速(Muzzle velocity)与阻力(drag),这两个参数都可在symthic查到,大多数枪的drag值相等,都是0.0025,使用30-06弹药的枪(M1917,BAR,Benet,春田)为0.002,有坂38式步枪也是0.002,特别地,坦克猎手Tank-Gewehr的子弹初速是700m/s,drag是0。弹速的计算方法如下:&&&&在每一个逻辑帧下,该逻辑帧内子弹受到阻力产生的加速度a等于阻力drag乘以本逻辑帧内子弹速度的平方: a= -drag*(v^2),那么本逻辑帧子弹速度减去加速度造成的减速即是下一逻辑帧的速度。&&&&例如,G98的Muzzle velocity= 880m/s,drag= 0.0025,在60Hz逻辑帧服务器下,第一帧(1/60秒),子弹速度为880m/s,加速度为 a= -880^2*0.0025= -1936m/s^2,在1/60秒内造成减速:v= at= -32m/s第二帧,v= 880-32= 848m/s, a= -848^2*0.0025= -1798m/s^2,减速: v= at= -30m/s第三帧,v= 848-30 = 818 m/s, a= -818^2*0.0025 = -1673m/s^2,减速: v= at= -28m/s第四帧,此时距离子弹发射仅过去0.05s,这时子弹速度已经降到790m/s逐帧计算,依次类推....&&&&下坠就简单的多,游戏中的重力 g= 12m/s^2,只要知道时间就能计算下坠距离,需要注意的是,精确计算游戏中的下坠距离仍然要按照上面所示的逻辑帧一帧一帧地计算,不过结果和 g(t^2)/2算出来的差距很小。明白了以上基础机制,接下来介绍游戏中更复杂的一些细节&&&&玩过战地系列前作的玩家应该知道所谓调零系统,即默认枪口稍微斜向上使子弹作抛物线运动轨迹,在一定距离上抵消下坠。这个系统是默认隐藏在战地1枪械中的。&&&&以G98为例,当向水平方向射击时,枪口初速除了水平方向上的 Vx= 880m/s,还包含了一个垂直向上的初速度 Vy= 1.045m/s,这个初速度目的就是调零,经过计算,G98子弹在重力的作用下将在90m处掉到&0&的位置,也就是瞄准镜看到的中点,即G98的默认调零大概90m。有玩家可能会想,90m前子弹高度是正的,会不会出现瞄准头,子弹却从头上飞过?答案是影响很小,90m前子弹的最高点出现在75m,高度为0.00376m,不到4毫米。&&&&另一个细节从开始的图中可以看出来:子弹不是从瞄准点(眼睛)射出来的,而是从枪管射出来的,这意味着子弹的射出点在你瞄准点之下,即子弹的初始高度是负的:-0.045m,4.5厘米(上一段计算考虑了这个因素)。这就是为什么有时从掩体边缘上方射击敌人,子弹会被掩体挡住,因为枪线在视线下方被掩体挡住了(当然有时是因为掩体建模粗糙)。&&&&所以总结来说战地1的子弹轨迹是这样的:Only in Battlefield1&&& Symthic论坛在A测就开始研究BF1的弹速模型,Symthic站长Miffyli写了一个可以直接计算飞行时间和下坠的计算器(以60Hz逻辑帧计算):http://forum.symthic.com/battlefield-1-general-discussion/10562-first-approach-to-air-drag-model-in-bf1/#post317578&&&&我上文的数据都来源于此,接下来解释如何使用:弹速/下坠计算器@Miffyli&&&&Velocity x即枪口初速(Muzzle velocity),Drag即阻力(Drag)。基本不用动的参数:Velocity y即垂直初速,Position y即枪线高度,Gravity即重力。移动鼠标可查看不同距离的数值,方框中“190”即距离,“Drop”即子弹距瞄准线高度/下坠,Time即打到此距离的飞行时间&&&&用这个计算器可以解决一个强迫症难题:春田在多少米开始比G98飞行时间更短?结果表明是260m,&260m 春田先到,&260 G98先到。&&&&计算机使用逻辑帧计算,上面已经讨论过60Hz下的计算方法,如果超越1/60秒的细分方式,假设将时间轴细分到无限小,就能通过简单积分手动计算弹速了得到速度与时间的关系&&&&将drag= 0.带入,得 v= 400/t 和 v= 500/t ,绘制速度与时间的曲线子弹速度与时间的关系&&& 将各武器的枪口初速带入图中,以初始速度对应的时间t1为起点,向右增加时间到t2,曲线、垂线和x轴所围成的面积即为飞行距离,可以用定积分求出得到距离与时间的关系&&&&以F-H、S、Mondragon、刘将军等初速为800m/s半自动步枪为例,drag= 0.0025,计算子弹在0.5s内飞过的距离:通过 v= 400/t 得到t1=0.5s,t2=t1+0.5=1s,代入 s= [ln(t2/t1)/drag]= 277m,用Miffyli计算器得出的结果是0.505s飞过280m,说明这套方法算出的距离是相当准确的。特殊装备/武器/坦克炮弹的飞行速度参数医疗兵枪榴弹:初速 45m/s,重力 9.81m/s^2,无drag支援兵十字弩:初速 34m/s,重力 9.81m/s^2,无drag突击兵AT火箭筒:初速 140m/s,重力 7m/s^2,drag=0.006防空炮:初速 267m/s,重力 0,无drag重机枪:初速 740m/s,重力 0,drag=0.0025更多参数如坦克炮弹,甚至丢炸药等请参考:http://forum.symthic.com/battlefield-1-general-discussion/battlefield-1-technical-discussion/11185-gadget-stationary-and-vehicle-weaponry-stats-pre-official/战地1子弹飞行速度及下坠的原理
TA的更多文章
战地1子弹飞行速度及下坠的原理
正经FPS&&&&众所周知,在众多FPS大作中战地系列有着相当真实的子弹飞行轨迹,战地1在此之上更进一步,本文将详细介绍这一系统。&&&&在介绍子弹飞行系统前,我先贴一段Symthic Forum的帖子(http://forum.symthic.com/battlefield-1-general-discussion/11500-things-that-i-like-will-miss-about-bf1/),战地1的子弹速度(以及相对伤害大小)是非常贴近史实的:&&& “DICE在战地1中非常注重还原历史真实武器的子弹速度,在前代战地中,子弹速度是一个常数且总是低于与之对应的相同口径的现实武器,战地1子弹有着相对前代更高的初速,并会受到空气阻力而下降。游戏里几乎所有武器的枪口初速都与真实武器相符,例如,m1917发射的.351SLW弹药初速为570m/s,游戏中也是如此。一战中使用的30-06 M1906弹药有着820m/s的初速,且属于艇尾型弹头(低阻力),而在游戏中使用30-06弹药的枪(M1917,BAR,Benet,春田)都具现了这两个特性。”&&&&“另一个例子是,在相同口径弹药伤害的不同,例如m1917发射的.351SL和8.25(加长)发射的.25雷明顿弹药口径相同,游戏中m1907伤害更高,衰减距离更长,因为在现实中,.25雷明顿弹头重7.5g,枪口动能1600焦,而.351SL重11.6g枪口动能1900焦。”&&&&接下来进入正题,影响武器子弹轨迹的参数只有两个:枪口初速(Muzzle velocity)与阻力(drag),这两个参数都可在symthic查到,大多数枪的drag值相等,都是0.0025,使用30-06弹药的枪(M1917,BAR,Benet,春田)为0.002,有坂38式步枪也是0.002,特别地,坦克猎手Tank-Gewehr的子弹初速是700m/s,drag是0。弹速的计算方法如下:&&&&在每一个逻辑帧下,该逻辑帧内子弹受到阻力产生的加速度a等于阻力drag乘以本逻辑帧内子弹速度的平方: a= -drag*(v^2),那么本逻辑帧子弹速度减去加速度造成的减速即是下一逻辑帧的速度。&&&&例如,G98的Muzzle velocity= 880m/s,drag= 0.0025,在60Hz逻辑帧服务器下,第一帧(1/60秒),子弹速度为880m/s,加速度为 a= -880^2*0.0025= -1936m/s^2,在1/60秒内造成减速:v= at= -32m/s第二帧,v= 880-32= 848m/s, a= -848^2*0.0025= -1798m/s^2,减速: v= at= -30m/s第三帧,v= 848-30 = 818 m/s, a= -818^2*0.0025 = -1673m/s^2,减速: v= at= -28m/s第四帧,此时距离子弹发射仅过去0.05s,这时子弹速度已经降到790m/s逐帧计算,依次类推....&&&&下坠就简单的多,游戏中的重力 g= 12m/s^2,只要知道时间就能计算下坠距离,需要注意的是,精确计算游戏中的下坠距离仍然要按照上面所示的逻辑帧一帧一帧地计算,不过结果和 g(t^2)/2算出来的差距很小。明白了以上基础机制,接下来介绍游戏中更复杂的一些细节&&&&玩过战地系列前作的玩家应该知道所谓调零系统,即默认枪口稍微斜向上使子弹作抛物线运动轨迹,在一定距离上抵消下坠。这个系统是默认隐藏在战地1枪械中的。&&&&以G98为例,当向水平方向射击时,枪口初速除了水平方向上的 Vx= 880m/s,还包含了一个垂直向上的初速度 Vy= 1.045m/s,这个初速度目的就是调零,经过计算,G98子弹在重力的作用下将在90m处掉到&0&的位置,也就是瞄准镜看到的中点,即G98的默认调零大概90m。有玩家可能会想,90m前子弹高度是正的,会不会出现瞄准头,子弹却从头上飞过?答案是影响很小,90m前子弹的最高点出现在75m,高度为0.00376m,不到4毫米。&&&&另一个细节从开始的图中可以看出来:子弹不是从瞄准点(眼睛)射出来的,而是从枪管射出来的,这意味着子弹的射出点在你瞄准点之下,即子弹的初始高度是负的:-0.045m,4.5厘米(上一段计算考虑了这个因素)。这就是为什么有时从掩体边缘上方射击敌人,子弹会被掩体挡住,因为枪线在视线下方被掩体挡住了(当然有时是因为掩体建模粗糙)。&&&&所以总结来说战地1的子弹轨迹是这样的:Only in Battlefield1&&& Symthic论坛在A测就开始研究BF1的弹速模型,Symthic站长Miffyli写了一个可以直接计算飞行时间和下坠的计算器(以60Hz逻辑帧计算):http://forum.symthic.com/battlefield-1-general-discussion/10562-first-approach-to-air-drag-model-in-bf1/#post317578&&&&我上文的数据都来源于此,接下来解释如何使用:弹速/下坠计算器@Miffyli&&&&Velocity x即枪口初速(Muzzle velocity),Drag即阻力(Drag)。基本不用动的参数:Velocity y即垂直初速,Position y即枪线高度,Gravity即重力。移动鼠标可查看不同距离的数值,方框中“190”即距离,“Drop”即子弹距瞄准线高度/下坠,Time即打到此距离的飞行时间&&&&用这个计算器可以解决一个强迫症难题:春田在多少米开始比G98飞行时间更短?结果表明是260m,&260m 春田先到,&260 G98先到。&&&&计算机使用逻辑帧计算,上面已经讨论过60Hz下的计算方法,如果超越1/60秒的细分方式,假设将时间轴细分到无限小,就能通过简单积分手动计算弹速了得到速度与时间的关系&&&&将drag= 0.带入,得 v= 400/t 和 v= 500/t ,绘制速度与时间的曲线子弹速度与时间的关系&&& 将各武器的枪口初速带入图中,以初始速度对应的时间t1为起点,向右增加时间到t2,曲线、垂线和x轴所围成的面积即为飞行距离,可以用定积分求出得到距离与时间的关系&&&&以F-H、S、Mondragon、刘将军等初速为800m/s半自动步枪为例,drag= 0.0025,计算子弹在0.5s内飞过的距离:通过 v= 400/t 得到t1=0.5s,t2=t1+0.5=1s,代入 s= [ln(t2/t1)/drag]= 277m,用Miffyli计算器得出的结果是0.505s飞过280m,说明这套方法算出的距离是相当准确的。特殊装备/武器/坦克炮弹的飞行速度参数医疗兵枪榴弹:初速 45m/s,重力 9.81m/s^2,无drag支援兵十字弩:初速 34m/s,重力 9.81m/s^2,无drag突击兵AT火箭筒:初速 140m/s,重力 7m/s^2,drag=0.006防空炮:初速 267m/s,重力 0,无drag重机枪:初速 740m/s,重力 0,drag=0.0025更多参数如坦克炮弹,甚至丢炸药等请参考:http://forum.symthic.com/battlefield-1-general-discussion/battlefield-1-technical-discussion/11185-gadget-stationary-and-vehicle-weaponry-stats-pre-official/Janson经“火器酷”公众号授权转载摘要:子弹,武器装备中最不起眼的小玩意,大家熟悉但实际却未必真的那么熟悉,所以今天就专门刊发一篇介绍子弹的文章,属于科普扫盲性质,所以请资深军迷多理解。
图1:各种各样的子弹前两天我在帖子里有说过最近不知道该写什么了,因为有些内容我们会觉得非常非常基础,按道理军迷朋友们应该也都是早就知道的,所以也就懒得去写些基础性的常识。而我们确实又不知道大家不知道什么,所以就这样纠结了一段时间。然后,我们在后台收到了超级大量的回复,许多朋友纷纷提供关键词帮助我们寻找方向和灵感,只是有一部分训练科目内容出于大家都懂的原因我们确实不敢写。然后我们发现关于许多许多枪型还是每天都有人在后台搜索关键词查询的。实际上我们并没有在后台设置相关的关键词查询功能。不过熟悉我们的朋友就知道,我们有非常多不同型号的枪,所以我们也愿意为大家提供一些常见枪型以及枪械周边的基础相关资料。碰到我们有的东西,我们就会写得细一点,碰到我们没有的东西,那么大多数基础数据和相关资料就会是来自其官网以及各种百科类网站。以后慢慢的再设置相应的关键词搜索好了。今天先跟大家聊聊子弹,这也是一个篇章,我们会用几个篇幅来跟大家详细介绍介绍那些大家听起来熟悉但实际上未必真的那么熟悉的各种口径和各种类型的子弹。因为是科普类的文章,所以措辞上我会尽量通俗易懂一些,资深军迷也请多多理解一下哈。我在以前的帖子里就跟大家介绍过,现代子弹(定装弹)是由弹头+弹壳组成的,弹头一般是由外皮包裹着弹芯然后被卡紧在弹壳的口上,而弹壳中包括了推动弹头的火药(发射药、推进药)和引燃火药用的底火。
图2:子弹的基本结构子弹被击发的原理很简单,就是通过扣动扳机系统,让撞针快速撞击安装在子弹底部的底火上,底火被撞后引燃弹壳中的火药,火药剧烈燃烧,燃烧引起空气快速膨胀,从而将弹头从枪膛里推动出去。在火药燃烧的瞬间,会把弹头从弹壳里顶出去,而实际上枪膛是要比弹头更小一点点的,而弹头的外皮一般都是铜或者是铅(当然也有钢、钨合金、铅锑合金等其他材质,后面我会单独讲),大多数弹头是包覆了一层铜,最主要的原因就是要让铜在挤入枪膛内更好的利用其本身的延展性变形更加贴合膛管但又留有一定微小的缝隙,加上一般以黄铜合金制成的弹壳也会因为火药燃烧导致的高压气体发生膨胀,封死了枪膛内子弹后半段,和弹头前后一起使整个枪膛完成气密,这样火药的燃烧才能迅速加压弹头背后的空气,使这部分正在迅速膨胀的空气变成更高压的气体,更好的推动弹头前行。
图3:子弹击发示意图而枪膛(钢质)里的膛线会切割和带动弹头旋转,使弹头在离开枪膛后在空气中继续旋转着前进。只有这样的弹头才能在空气的阻力下较为平稳的飞行。所以滑膛枪(没有膛线的枪)的射程都比较短。(关于膛线我们会在将来单独开个帖子跟大家详细介绍)
图4:枪膛膛线的特写子弹的飞行过程中是处于半稳定状态的,同时会受到空气阻力(正面和侧面)和助力(后面)以及重力的影响,在飞行了一定距离后就会消耗动能而下坠。因为弹头本身的形状、重量、因膛线造成的旋转以及高压空气的强度、离开枪口时的速度等各种因素的不同,不同的枪打出的不同的子弹在飞行过程中受外界因素的影响也会有所不同,所以才会出现各种不同的弹道(即子弹飞行轨迹)。关于弹道我们会在后面的帖子中随着主线的推进逐一为大家介绍。
图5:飞行中的子弹在弹头射进人体之后,因为人体组织的密度和空气密度相差巨大,弹头会产生小幅度偏转或者滚摆,以及弹头从人体组织内快速通过时带来的巨大负压,从而在人体组织内形成各种形状的伤腔。虽然因为人体不同部位的组织形成的阻力也各不相同,所以理论上弹头在人体内的滚转路径是无法预期的,但大致上不会相差太多。
图6:子弹进入人体组织形成伤腔的示意图
图7:子弹击中的动画
图8:子弹击中肥皂形成的伤腔因为其中的物理理论比较复杂,我也没办法几句话就说得特别详细和清楚。但根据子弹的弹头击中人体后的不同表现,研发人员也做了大量的研究,最后通过不同的设计使得不同形态的子弹在击中目标后会有不同的相对可控的结果,所以就出现了大家熟知又陌生的达姆弹、穿甲弹、开花弹、曳光弹、空包弹等等等等。
图9:不同的子弹关于子弹的种类和其功能上的具体区别,我们会在下一篇帖子里非常具体的跟大家讲解。而现在,我要继续跟大家讲讲弹壳。刚刚在前面讲到了,弹壳一般都是由黄铜合金制成,但也有一部分弹壳是合金钢制成的。当然啦,霰弹枪的子弹由于火药量低,燃烧时产生的压力小,所以弹壳为聚合物或者硬纸板塑形制成。
图10:弹壳弹壳的作用在之前的描述中其实已经说得很多了,主要是卡住弹头、储存火药、以及搭载底火。在前面我也说了,底火引燃火药之后,因为火药的迅速燃烧而释放出的压力,会在将弹头推进枪膛的同时也会使弹壳受压略微膨胀,这个膨胀是为了使整颗子弹的后半段与枪管形成气密,让高压气体向前推动弹头。在高压气体跟随着弹头从枪口前端释放之后,金属的弹性又会使膨胀的弹壳略微恢复一些,所以在正常情况下弹壳是可以顺利完成退膛的。
图11:子弹上膛动画示意图当然,因为弹壳本身的质量问题或者火药量配比不合理或者弹头质量问题,有部分情况下也会导致弹壳膨胀过度而无法复原,这种情况下弹壳会被紧紧的卡在枪管尾部无法完成正常退膛。当然啦,量产的常规子弹一般是不会出现这样低级而且严重的质量问题的。而手工复装弹则更容易因为上述各种失误导致出现这样的问题。从弹壳的颈部来说(卡住弹头的位置),可以分为瓶颈式和直壁式两种,根据名字就比较容易理解,瓶颈式为一般常见的步枪子弹弹壳形状,弹头与弹壳接合处后有锥状膨胀形状,没有这个锥状膨胀形状设计的弹壳,或者形状不明显就可以归类为直壁式弹壳,相对更常见于手枪子弹。
图12:子弹可以分为瓶颈式和直壁式两种其中一个原因是因为往往步枪的膛管需要承受更大的膛压——因为高压气体除了需要推动子弹,还需要推动枪机配合弹簧一起完成退膛和再次上膛,所以膛管会更厚一些,而且为了杀伤力等多方面的原因,步枪子弹的弹头也需要更长一些。而手枪的枪机复进工作一般只需要弹簧来完成就可以了。当然这两者只是相对常见,并不是完全绝对。
图13:步枪子弹弹壳也可以依照尾端底板的形状分为缩缘式、无缘式、半凸缘式、凸缘式以及带式这五种。所谓凸缘、无缘或者缩缘指的是弹壳底板的直径跟弹壳直径之间的关系,以缩缘式底板来说就是底板边缘直径明显小于弹壳主体直径的意思;无缘式底板指的是底板边缘直径和弹壳主体直径相近;半凸缘式底板边缘直径明显大于弹壳主体直径,不过仍有退壳沟;凸缘式底板边缘直径极明显地大于弹壳主体直径,而且没有退壳沟设计;带式除了类似无缘式底板的底部外,在退壳沟前方的弹壳上另有一带状环。
图14:子弹底板的五种形状无缘式与凸缘式为目前弹药市场的主流,出现这个现象的普遍原因在于无缘式弹壳的弹药产生的高压气体相对较多,除了推动弹头之外也要提供枪机的运作动力,所以需要一个较高的膛压来完成上述任务,因此击发后弹壳会因为膨胀而顶住膛室,需要更依赖枪机上的退壳勾将弹壳从药室中“抓”出来;缩缘式容易发生“抓不住”的问题,而半凸缘式弹壳又会造成枪机头横向尺寸无法缩小的问题,因此在折衷之下这时候无缘式弹药为最佳选择。篇幅好像已经很长了,今天就先聊到这里吧,也让真心喜欢这些知识的朋友有时间消化一下这些基础内容。所以关于更多的子弹知识,包括弹种、底火、火药、复装、使用情况等等等等等等等等,我们都会通过后续多篇的系列帖给大家一一讲述。特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。
(责任编辑:李曦_NN2587)
一键安装官方客户端
重大事件及时推送 阅读更流畅
http://dingyue.nosdn.127.net/VGGfNCAazbuVJQ2qXbM2VLhM3Ah2rUUkT4xlaMMM2YTB95.jpeg

我要回帖

更多关于 战地1子弹下坠 的文章

 

随机推荐