CSGO——彈道機制與控槍

首先談一下子彈“飛行”的機制,我們在此稱之為彈道機制。至於為什麼“飛行”加引號,是因為大部分FPS類型遊戲的子彈(Bullet)機制都是函數型,子彈並非實體而僅僅是一個空間直線函數。也就是在武器擊發的瞬間,遊戲引擎和服務器會將當時的狀態參數帶入進一個函數公式,生成子彈的運行軌跡,這個軌跡一般為直線,而這條直線如果與Hitbox重合,則判定為命中。這個過程是瞬發的,也就是說子彈是瞬間完成整條軌跡,因此並不用花費時間在空中“飛行”。


CSGO——彈道機制與控槍


從這個圖片可以看出子彈命中Hitbox的軌跡是一條條直線(紅色)

CS系列遊戲也遵循這樣一個典型的彈道機制,CS:GO中影響子彈飛行軌跡最關鍵的兩個因素就是後坐力(Recoil)和隨機散佈(Inaccuracy),本文將通過介紹這兩個概念和其相關的機制,從理論上解釋子彈是如何“飛行”的。最終可以從中總結出怎樣將盡量抵消和減輕Recoil和Inaccuracy的影響的理論方法,達到使掃射更密集的目的。同時通過介紹掃射時子彈命中的樣式圖形“Spray Pattern”來具體闡述大家應該怎樣去控槍。這也是各位玩家成為進階選手的必修理論課。(為了與國外習慣名稱對接,下文這幾個概念直接使用英文名稱)

後坐力Recoil

下面這個動圖是在鼠標保持不動(準星固定)的情況下,左鍵不鬆手AK連續擊發30發的彈著點軌跡示意圖。可以從圖中看出,在後坐力(Recoil)的影響下,子彈先基本垂直的向上彈跳,然後轉向左上方,最後保持在基本水平的一個區域內來回擺動。而且,除了前一兩發子彈外,彈著點基本上與準星位置是不同的。掃射時,子彈命中的位置主要跟準星指向相關,同時也很小程度的受人的視角的影響,而基本上所有子彈的彈著點都在你的準星上方。


CSGO——彈道機制與控槍


AK掃射彈著點軌跡

因為彈著點都在準星上方,所以很自然的,即使是新手也會在掃射的時候向下壓槍,即把準星壓向敵人的下方,來儘量抵消後坐力導致的子彈上跳。而職業選手和高玩控槍可以一直持續到水平擺動階段,也就是保證連續將十幾發甚至30發子彈都控制在一個密集的區域,這樣可以使更多的子彈命中瞄準的區域和目標。而每一把武器後坐力導致的子彈彈跳模式(Recoil Pattern,遊戲中參數為Recoilseed)是絕對始終一致的,即每一次掃射子彈的上跳的彈著點都會遵循這個特定的軌跡,不會產生變化,這也是可以通過反覆練習來達到精準控槍掃射的前提。例如M4A4和M4A1的Recoilseed編號均為38965,但由於下文所提到的Inaccuracy的影響稍微不同,導致兩把武器的掃射彈道看起來是不同的。

子彈隨機散佈Inaccuracy

以靜止站立不動時單發定點射擊來舉例說明Inaccuracy的機制,這個機制與現實中槍械是相同的。以靜止單發定點射擊為例說明,理論上子彈是會直線飛往準星中心,但受Inaccuracy影響,在水平軸X軸和垂直軸Y軸上會產生隨機的一個偏差(Spread),導致子彈不會命中準星中心。在下圖中,筆者使用SCAR20在站立不開鏡、準星不動的情況下進行單發射擊,這時該武器的Inaccuracy為25.80,處於較高水平,最終開鏡觀察彈著點分佈,可見子彈基本上都散佈在中心周圍較大的一個圓形區域內(圖左);而在同一位置開雙倍鏡射擊,此時的Inaccuracy為2.00,十發子彈的彈著點基本上為同一個點(圖右)。通過對比就可以直觀的得出Inaccuracy對彈著點的影響方式和程度。

CSGO——彈道機制與控槍

Inaccuracy對單發定點射擊影響示意圖

同理,在掃射時,子彈命中位置是受Recoil Pattern函數計算出的所應命中的位置基礎之上再疊加一個隨機偏差(Inaccuracy影響)。這也就是雖然每一把武器的Recoil Pattern在每一次掃射時都是固定的,但每次定點掃射三十發的彈著點都稍微有些不同的原因所在。2016年8月4日,CS:GO進行了一次更新,將掃射時的Inaccuracy變化機制做了一些修改,目前在掃射的前幾發,Inaccuracy遞增較小,子彈基本垂直上跳;而在幾發後,其Inaccuracy遞增至最大值,這時的散佈較以前更大。這次更新鼓勵了短點射、5-6發掃射等技術,跪地三十發控槍的打法受到了一定程度的削弱。

CSGO——彈道機制與控槍

連續三次AK掃射中,可見彈著點分佈受Inaccuracy影響是不同的

另外,同一把武器Inaccuracy數值受人物姿態影響,數值為蹲伏小於站立,站立小於跑動,跑動小於跳躍。也就是說站立或者蹲下掃射要比跑打準確的多,這個機制是在對槍時必須考慮的因素,要選擇自己適合的姿態來平衡精準度和被擊中的風險,同時練習好急停射擊。在蹲伏和站立狀態下也更好進行掃射控槍。

掃射圖形SPRAY PATTERNS

我們可以通過MOD的方式來人為將Inaccuracy設置為0,這時候定點掃射的圖形(Pattern)就是完全僅受Recoil影響而不受Inaccuracy影響的理論圖形,我們稱之為Spray Pattern。上文已經講過,每一種武器的Spray pattern都是固定不變的。我們可以通過學習這個Spray Pattern來分析武器的子彈分佈模式。

下圖為AK和M4A4的Spray Pattern,可見兩者非常類似,都是先垂直上跳,然後偏向左方,最終在一個水平區域內來回擺動。但M4A4的精度明顯高於AK,其散佈相對較為集中。


CSGO——彈道機制與控槍


AK Spray Pattern

CSGO——彈道機制與控槍


M4A4 Spray Pattern

同時,掃射圖形基本只適用於分析全自動武器(即按住左鍵可以連發的武器),半自動武器(即每一發都需要單擊左鍵,例如手槍)的Spray pattern機制與全自動武器稍有不同,其spray pattern並不是固定不變的,而是每一次稍帶隨機性。

如何控槍

現在我們已經瞭解了Recoil、Inaccuracy、Spray Pattern等理論知識,現在就可以依據這些信息來研究控槍的方法,來儘量抵消Recoil和Inaccuracy因素的影響,將掃射的子彈控制得更密集。首先下圖說明了單純垂直壓槍對彈道的影響(剔除了水平方向的Inaccuracy影響),即前幾發可以控制在一個點,而子彈進入水平晃動階段後就整體失控了,不能達到控槍的效果。


CSGO——彈道機制與控槍


AK垂直壓槍彈道軌跡

CSGO——彈道機制與控槍


M4A4垂直壓槍彈道軌跡

因此要實現多發的控槍,除了垂直方向的壓槍之外,必須還要結合水平方向的修正,才能保證30發都能集中命中目標。這時候的控槍準星軌跡就是一條曲線,可以抵消子彈的上跳。下圖為理論上的AK和M4A4壓槍軌跡,如果按照這條曲線路徑和準星移動速度進行壓槍,可以將彈著點控制在相當密集的區域內。玩家可以通過按照這條軌跡不斷練習,將控槍提高到相當高的水平。


CSGO——彈道機制與控槍


AK完美控槍曲線

CSGO——彈道機制與控槍


M4A4完美控槍曲線

另外要說的是,CS:GO的彈道機制實際上比本文所介紹的複雜的多,彈道的函數中包括幾十個參數,其中每一個都會影響到這發子彈的軌跡。本文只是建立了一個CS:GO彈道機制原理性的示意性模型,但已經足以闡述清楚彈道機制是怎樣運作的。至於每一個參數具體的作用及數值,感興趣的玩家可以查詢資料文檔瞭解相關內容。

PS:喜歡CSGO的小夥伴可以關注小編!每日更新實用小技巧哦!

PS:本文轉載自CSGO官網.作者Kryp


分享到:


相關文章: