【戰(zhàn)地1】關(guān)于武器數(shù)據(jù)你所要知道的一切 / Sym.gg食用指南
本篇文章算是我對這個游戲原理的全部了解的縫合匯總了

很多人可能并不關(guān)心游戲的運行方式,只想了解什么槍好用、強,但這樣就像用死背公式模板的方法來學(xué)理科,懂了,但只能懂一點點,碰到老師沒說過的新題型就完全不會、只能等講評看到答案才知道怎么做。
但如果你了解本文提到的內(nèi)容,就能自己分析判斷(戰(zhàn)地中)一把武器是什么樣的了。
另外up明年六月前大約是不會更什么花時間的視頻了,因為得準(zhǔn)備高考了……
這次寫這篇東西也僅僅是在bf1打折的時候想給新玩家提供點引導(dǎo)(雖然早就有大佬寫過類似的東西了↓,但這次我盡量做到一次性縫合完所有能縫的讓你們能恰飽,嗯)。

沒事也不要翻我以前發(fā)的東西,主要是因為不保證正確(
當(dāng)然sym.gg的(包括我自己現(xiàn)在說的)內(nèi)容也并不一定完全正確,最終還應(yīng)以實際游戲為準(zhǔn)。
在sym.gg的主頁上有很多代戰(zhàn)地(甚至有cod),此處僅說1的內(nèi)容。
其他1之前的基本差不太多,5和2042散布規(guī)則改了,后座機(jī)制則是另一個讓人頭大的東西。


視野相關(guān)
其實這是一個所有第一人稱游戲共通的部分,但由于戰(zhàn)地系列特有明顯的散布機(jī)制常常用到角度,我覺得可以在這里加點東西,知道的就不用看了。
游戲視角的來源是位于頭部的虛擬“攝像機(jī)”,而屏幕上顯示的則是它的“底片”。
可以認(rèn)為這個“底片”是理想的小孔在平面上的成像(當(dāng)然顯示出來的是正像之后的)。

那么和屏幕中心方向成θ角的某個方向上的點在屏幕上離屏幕中心的物理顯示距離就正比于tanθ。
而戰(zhàn)地設(shè)定界面的視角fov為垂直視野vfov,假定為2α。
(注意,游戲設(shè)置括號里的hfov指的是4:3屏幕的hfov,不是16:9的)(我也不知道為什么)
那么上面這個點到屏幕中心顯示的像素距離就是 (顯示器垂直像素/2)/tanα*tanθ。

知道這些,你就能根據(jù)數(shù)據(jù)判斷一把武器的散布、提前量等角度在屏幕上具體應(yīng)該是個什么大?。ǘ矣捎谛〗墙疲忙戎苯铀阋彩菦]什么問題的)。
另外,tanθ的導(dǎo)數(shù)隨θ變大而變大,因此占相同視角的物體在邊緣的顯示長度會大于在中間時的顯示長度;眼睛在屏幕中心法線方向時,屏幕在人眼中的fov越接近游戲設(shè)置fov,畫面邊緣看上去的拉伸程度就越小,因此通常大屏幕玩家用高fov感受到的屏幕邊緣拉伸現(xiàn)象就沒有小屏幕玩家嚴(yán)重。
另外計算需要的一些數(shù)值:角色軀干寬度可以按0.4m算,戰(zhàn)地1士兵的跑步速度為6m/s。
由此可以得到的結(jié)論:武器的精準(zhǔn)射程(瞄準(zhǔn)軀干中心能保證命中的距離)≈11.46/θ
詳細(xì)計算有大佬寫過了:

而對于你橫向跑動的目標(biāo)的提前量角為 arctan( 6m/s / 子彈速度?),但由于戰(zhàn)地1開始新加入的子彈飛行阻力設(shè)定(然后2042又刪掉了),距離越遠(yuǎn)提前量角越大、下墜越糟糕,因此200m+的遠(yuǎn)距離狙擊的效果非常差(但這依然不妨礙一些小可愛喜歡趴在西奈的風(fēng)蝕拱橋上面!@#$%^&*)。

General Information

后坐
每一次射擊使垂直方向視野上抬?垂直后座(也就是上跳)。
每一次射擊在水平視野上移動從 -左水平后座邊界到 右水平后座邊界?之間的均勻隨機(jī)值,得到的隨機(jī)值為正就代表順時針(右偏)(也就是偏航(實在不知道該怎么翻譯yaw了))。
戰(zhàn)地系列還有首發(fā)后座系數(shù)(通常大于1),意味著第一發(fā)子彈的(各向)后座會比后續(xù)子彈更大,一定程度上降低了點射的效率。
橫/縱向單根軸上的每邏輯幀的后坐回復(fù)計算方式如圖。
/*此段我根據(jù)sym得到的的計算結(jié)果與實際測試數(shù)據(jù)不符合,
而且sym的算法會導(dǎo)致后座回復(fù)完之后隨時間增加而增加的視角方向鬼畜,
所以這一段內(nèi)容多半有問題。
我知道的僅僅是后座回復(fù)常數(shù)越大,后座回復(fù)越快,
并且不是等速回復(fù),而是慢→快→慢,最終沿原路回到開火前的原點(如果不計槍口晃動)。*/
對半自動武器而言,由于后座回復(fù)的存在,打得越慢回復(fù)越多,壓槍幅度越小,因此想舒服輸出就低、要輸出就得控槍;而后座回復(fù)速度慢于前幾作,算是對半自動的一種削弱(這種削弱的極端例子可以看2042的DM7和SVK,用這兩把槍的時候請權(quán)當(dāng)它們沒有后座/散布回復(fù))。
另外,武器的垂直后座是固定的(不像前幾作在最大值的90%到100%間隨機(jī)取),而水平后座具有隨機(jī)性:因此對半自動武器,水平后座會更大地影響控槍難度;對沖鋒槍和機(jī)槍,水平后座還會影響連發(fā)精度——畢竟沒有(家庭完整的)人的反應(yīng)能快到抵消隨機(jī)而高頻的水平后座;通常沒有人會在意狙擊槍和霰彈槍的后座,除非你在用馬提尼狙擊手打300m外的頭然后發(fā)現(xiàn)后坐力讓你看不見彈道。

散布
如果散布>0,子彈會隨機(jī)地偏離瞄準(zhǔn)點(屏幕中心)。
用于隨機(jī)選擇子彈飛行方向的圓的半徑=散布。
具體的子彈在散布圓內(nèi)的取點方式如圖。

需要說明的是,霰彈槍首先會按一般武器的取點方式 (a=0.5) 決定這一發(fā)霰彈的發(fā)射朝向,再由該霰彈發(fā)射朝向為中心按 a=1 決定單顆彈丸的發(fā)射朝向。英語中稱前者為Spread(和其他武器的“散布”一樣),后者為Dispersion(大概可以直譯成“分布”)。

每一次射擊會帶來散布增加(霰彈槍的“分布”不會增加)。
戰(zhàn)地1有首發(fā)散布系數(shù),半自動(包括費德洛夫)、霰彈槍和狙擊槍(沒有人會在意的)為1,機(jī)槍為負(fù)整數(shù),沖鋒槍為大于1的正數(shù)。
武器準(zhǔn)備可以發(fā)射下一發(fā)子彈(但沒有發(fā)射)時即進(jìn)入閑置狀態(tài),此時散布會開始隨時間回復(fù),散布回復(fù)的速度恒定,當(dāng)然最終到最低散布就不會繼續(xù)回復(fù)了。
半自動(包括費德洛夫)(首發(fā)散布系數(shù)=1)控速/不控速的散布:

很有趣的是,很多人覺得1916連射懲罰大,其實是因為1916射速慢,再加上本代戰(zhàn)地寬容的的開火預(yù)輸入(就是說,哪怕在武器實際能開火之前按左鍵,游戲也會記住你下一發(fā)想開槍,然后幫你最快地開出槍),很容易出現(xiàn)頂著射速上限開槍、沒有機(jī)會讓散布回復(fù)的情況,因此打著打著就飄了……
沖鋒槍(首發(fā)散布系數(shù)>1)的散布:

可以看到,由于首發(fā)散布系數(shù)的存在,第一發(fā)子彈帶來的散布增加幅度會非常大,因而導(dǎo)致散布回復(fù)時間的起點就較長,削弱了沖鋒槍通過單點/短點射帶來的中遠(yuǎn)距離輸出能力。
另外,戰(zhàn)地1的服務(wù)器運行速度為60Hz,最短的時間為1tick=1/60s,因此一把武器的實際射擊間隔和理論值可能會有不同,在不滿整數(shù)tick時向下取整。
舉例來說,射速為830RPM(射擊頻率為830發(fā)每分鐘,如果你真的不知道的話)的湯姆遜計算得到的射擊間隔為約4.337tick,那么可以列出理論與實際射擊時刻的表格:
理論:4.337? 8.674? 13.012 …
實際:4.000? 8.000? 13.000?…
這樣的差別在前幾代中會影響部分突擊步槍精準(zhǔn)短點射的節(jié)奏,而這一代的沖鋒槍(由于首發(fā)散布系數(shù)的存在)大多以按住左鍵為主,因此統(tǒng)計上說射速的數(shù)據(jù)已經(jīng)能很好地反映武器的輸出能力了,利貝羅勒這種點射能力較強的則算是個例外。
機(jī)槍(首發(fā)散布系數(shù)為負(fù)整數(shù),單發(fā)散布增加值為負(fù)數(shù))的散布:

機(jī)槍類武器的第一發(fā)子彈會將散布加一個較大的值,之后武器雖然不會進(jìn)入閑置狀態(tài),但每開一槍散布都會變小,因此說機(jī)槍是第一發(fā)準(zhǔn)、第二發(fā)最不準(zhǔn)、之后越打越準(zhǔn)的武器。
沒有人會在意狙擊槍的散布回復(fù)的吧……
另外,不同的射擊狀態(tài)(如站定、移動等)有不同的最低散布,而戰(zhàn)地1統(tǒng)一的開鏡最高散布為1.2°。

外彈道
子彈以初速出膛后,會出現(xiàn)下墜和減速。
Sym給出的重力加速度?BDrop?為12ms^(-2),然而up主Reki-Manabu在他的專欄中給出的測試值(栓動)為8.4ms^(-2),因此認(rèn)為該值存疑。
阻力加速度為 當(dāng)前彈速^2?* 阻力系數(shù)(不同子彈不同) 。

切槍時間
這個沒什么可說的(為什么sym這么喜歡寫廢話……也許是英文語境下難以理解吧hhh)。

身體不同部位的傷害乘數(shù)
很多人的狙擊槍在致死距離一槍打不死人的原因找到了。
另:卡爾卡諾的傷害乘數(shù)與M.95等一致(為什么sym該寫的沒有寫)。

Weapon Mechanics

其實這一頁的大部分內(nèi)容都在前文說過了(為什么sym這么喜歡寫廢話)。

壓制狀態(tài)的作用效果
戰(zhàn)地1士兵的腦袋周圍2.2m半徑的球是壓制的判定范圍,彈道離頭越近、對方玩家離自己越近,增加的壓制程度越大(不過似乎沒有講具體的數(shù)值)。
壓制程度低于54%的時候不會有任何影響,高于54%的時候作用效果隨壓制程度線性增長,直到壓制程度到達(dá)100%為滿作用效果。
補充對于半自動步槍的作用效果:SIPS*3.5,SDEC*2.23,hRec*2.5,vRec*1.5。
(為什么sym該寫的又沒有寫)
另外腳架對機(jī)槍的影響是將散布恒定在最小值,后座方面未知(待補充)。
而腳架對利貝羅勒(大概還有Hellriegel 1915)和半自動的影響:SIPS*0.3125,SDEC*0.625,hRec*0.25,vRec*0.2。

Weapon Charts

我們從左到右看。

綠色的武器名、白色的武器圖標(biāo)、橙色的射速、白色的(包括閉膛待擊武器的膛內(nèi)一發(fā))彈容量與彈種(相同彈種的武器傷害特性與彈道屬性一樣)(實際上沒有人會去看)。

武器的傷害-距離曲線,不同距離上傷害不同(如果你真的不知道的話)。
霰彈槍在右側(cè)會標(biāo)注一發(fā)霰彈的彈丸數(shù)量,比如12g Automatic一發(fā)霰彈有12發(fā)彈丸,近距離每發(fā)7.7,總共92.4。

上方為彈頭的初速和阻力系數(shù),下方為切槍時間。
對于彈匣供彈的武器會有兩個橙色的數(shù)值:

分別代表非空倉換彈和空倉換彈時間。

白色的垂直后座、左右水平后座邊界,橙色的首發(fā)后座系數(shù)和綠色的后座回復(fù)常數(shù)(越大越快)。

立姿瞄準(zhǔn)時的最低散布,綠色為站定,橙色為移動。
實際上的移動最低散布并不是這個橙色的值,之后會提到。
當(dāng)然了,對于霰彈槍,這個僅代表霰彈彈丸散布中心的最低散布。
之后對于霰彈槍顯示的是這個:

代表霰彈彈丸的“分布”。
如果你不太記得了就回去看一眼吧。
其他武器顯示這個:

代表腰射移動最低散布。

不同狀態(tài)下的最低散布,上面一塊是不動的、下面一塊是移動的,其中每個分三行表示站姿、蹲姿、趴姿,左邊是開鏡時 (ADS) 的,右邊是腰射時 (HIP) 的。
(我也不知道為什么要把其中一部分放在前面,大概是更直觀?)
需要額外說明的是移動最低散布。
實際的最大移動開鏡最低散布(好繞,再看一眼)為給出的站定開鏡最低散布和移動開鏡最低散布的平均值;
腰射時則就是給出的移動最低散布。
大致是因為開鏡最大移動速度是正常移動速度的一半,而開鏡移動最低散布是按滿移動速度給的,而戰(zhàn)地1的移動精度懲罰和移動速度是相關(guān)的,因此其增加值就乘了0.5。
同樣的,當(dāng)你動起來了但沒有完全動起來的時候,移動最低散布會比上述值低。
具體測試見 https://forum.sym.gg/t/bf1-moving-spread/184 ,放幾張截圖:



另外這篇帖子也測試了戰(zhàn)地1武器的沖刺抬槍時間。

另外,另一篇sym的帖子 https://forum.sym.gg/t/thread-bayonet-effects-on-weapon-bf1/179/2給出了刺刀對武器的影響:沖刺抬槍時間*2.5。
現(xiàn)在回到Weapon Charts頁面:

橙色:首發(fā)/每發(fā)射擊的散布增加;
綠色:每秒擴(kuò)散回復(fù)。
左右為開鏡/腰射。
由此可以計算出12g Automatic的單發(fā)擴(kuò)散回復(fù)時間=2tick=1/30s;
又知道12g作為射速257rpm的武器,射擊間隔=14tick;
因此12g的精準(zhǔn)射擊間隔=16tick,精準(zhǔn)射速=225rpm。
當(dāng)然,這里用12g只是舉個例子,計算的方式在其他武器上也是一樣的。
精準(zhǔn)射速是衡量半自動步槍理論輸出最重要的屬性之一。


沖鋒槍的首發(fā)后座系數(shù)和首發(fā)散布系數(shù)通常非常大,使得點射的后座大、擴(kuò)散回復(fù)時間長,削弱了其利用短點射進(jìn)行遠(yuǎn)距離輸出的能力。
這一點的例外便是利貝羅勒,其原廠型號首發(fā)后座系數(shù)低,瞄準(zhǔn)鏡型號首發(fā)散布系數(shù)低,都增強了其點射能力,使其在中距離的精度表現(xiàn)超過其他的沖鋒槍不少,很能體現(xiàn)其“世界第一把突擊步槍”的稱號(然而其實戰(zhàn)表現(xiàn)似乎并沒有那么亮眼)(怎么會是因為我玩不來呢)。

而機(jī)槍的首發(fā)擴(kuò)散系數(shù)為較大的負(fù)整數(shù),之后每發(fā)射擊的擴(kuò)散增加為負(fù)數(shù),導(dǎo)致其第一發(fā)準(zhǔn)、第二發(fā)不準(zhǔn)、之后散布逐步減少到最低散布。
當(dāng)然由于水平后座隨機(jī)性的存在,后續(xù)子彈的實際精度自然沒法和第一發(fā)比,尤其對于0818和1417這樣設(shè)計上靠水平后座強行降低立姿精度、不用腳架打不了遠(yuǎn)距離的大機(jī)槍(畢竟不這樣設(shè)計的話,BAR之類的小彈容機(jī)槍就沒什么優(yōu)勢了)。
另外,對于(輕量化)型號的機(jī)槍,由于其散布回復(fù)較快,也可以單點使用,尤其是邵沙輕量化:


Weapon Comparison

在上方的白框中選擇你想對比的武器。
鼠標(biāo)放在表格上即可顯示對應(yīng)距離上的精確傷害數(shù)值、擊殺所需子彈數(shù)(對霰彈槍來說是彈丸數(shù))、全彈命中考慮彈速的擊殺所需時間 TTK(該項僅供參考,尤其對于噴子和低射速、低BTK武器)。
哦順便,維拉-佩羅薩沖鋒槍(沖鋒槍哨兵的武器)是按有兩發(fā)彈丸的噴子算的……嗯很合理
一般來說下面的東西更有用:

這里可以看到武器的各項數(shù)據(jù)表格,相信大部分大家都認(rèn)識。
其中ShotPerBurst僅對短連射武器有用,對其他武器就當(dāng)它不存在。
Bridge、Strip和Clip是彈夾(沒有錯字)的意思,可以用相關(guān)數(shù)據(jù)計算非彈匣供彈武器的具體裝填時間。
剩下的一些我不知道,比如AltDeployTime之類的,也沒有找到相關(guān)的說明。
搜索框大概所有人都知道怎么用,
勾選旁邊的小框可以只顯示不同的數(shù)據(jù)。

最后放一張sym沒有給的bf1開鏡時間表格,作者為up主Reki-Manabu,單位為毫秒

有發(fā)現(xiàn)任何問題請在評論區(qū)指出,感謝