開心遊戲館

位置:首頁 > 網遊圖文攻略 > 

使命召喚OL後坐力是什麼,武器後坐力機制介紹

使命召喚OL中武器的後坐力是大家議論紛紛的問題,今天有玩家就帶來了一篇關於使命召喚系列中,武器後坐力機制以及運算方法的文章,可以算是比較深入的科普, 涉及到大量數學知識和公式, 是高端玩家瞭解遊戲必備只一,下面我們就一起來看看吧。

爲了方便理解和保密性質的原因, 帖子內的算法用作演示和測試, 無法直接套用到遊戲中去,

Recoil這很好理解, 就是玩家在玩FPS時候的所謂"後坐力". 但是這個"後坐力"的學問是很大的, 如何做的真實, 如何做的準確, 如何做的適合玩家上手都是困擾很多FPS遊戲設計的一個難點.

Recoil = "後坐力"在遊戲中如何體現呢?

1、Spread"散佈"

在遊戲中散佈是一個硬數據, 也就是說他的數據是定死的(但他是個變量, 不好理解的話可以理解成一個範圍值但這個範圍值是定死.), 在COD中武器有兩種擊發方式, HIP(掃射)和ADS(瞄準), 但是在COD中"散佈"只對掃射情況下有效. 在ADS的情況下武器實際上是沒有散佈的. 那麼爲什麼在遊戲的時候武器瞄準打在槍上的時候不是也有散佈麼? 其實是GunKick和ViewKick的產生了作用.

使命召喚OL後坐力是什麼 武器後坐力機制介紹

2、Gun Kick (槍口跳動)

就是當武器擊發時, 武器會隨着擊發而在屏幕上左右上下的晃動. 同時這個晃動是有相互作用的, 槍口向左跳的同時武器也會回到中心點, 如果連續擊發那麼下一次的跳動就是向右, 同時武器在停止擊發的時候不管怎麼樣他都會回到中心點, 這個回覆的速度稱之爲迴歸原點速度, 速度越快回到原點的速度越快,武器精度就大大提高.

使命召喚OL後坐力是什麼 武器後坐力機制介紹 第2張

3、View Kick (視野跳動)

這是最容易被混淆的機制, 視野跳動是武器在擊發時, 武器會跳動離開武器瞄準的原點, 他會跳動上下左右的任意方向, 實際上這個機制是屏幕在調準視角而不是武器的模組在跳動. 這個跳動可以透過玩家的操控來控制也就是玩家所稱的"壓槍".

使命召喚OL後坐力是什麼 武器後坐力機制介紹 第3張

ViewKick移動視野和GunKick移動模組是兩個模組最大的不同.

4、Visual Recoil (效果跳動)

這只是遊戲武器的動畫模擬, 沒有實際的數據所以不直接影響武器的"後坐力", 這是一個提高武器真實度的表現手法, 這就是爲什麼當你感覺武器在跳動時打不中敵人, 想修正彈道但是怎麼都打不中的原因,實際上你是打中了只是效果跳動給了你打不中的錯覺,所以COD加入了Hitmarker來幫助玩家判定是否擊中了目標.

使命召喚OL後坐力是什麼 武器後坐力機制介紹 第4張

5、Center Speed (迴歸原點速度)

這是非常重要的一個武器數據, 很容易理解它是當武器產生後座之後一段時間, 武器將會迴歸到原點的速度, 速度越快, 你武器回到原點的速度也越快, 後坐力影響也就越小.

以上是純的理論知識, 如何運用到顯示的演算中呢?

在COD MW2中 Gun Kick 和 View Kick 都獨立的體現在X維度和Y維度.

Gun Kick 允許跳動在軸交叉中進行, 武器的跳動可以不需要回到原來的軸就進行下一次的跳動.

使命召喚OL後坐力是什麼 武器後坐力機制介紹 第5張

以下爲演示用的值和套用的公式:

adsGunKickReducedBullets的數據是減少武器上跳速度需要的擊發數, 當這個數據的擊發數被程序執行的時候, 武器的上跳數據將會回到他的基本數據.當停止擊發時, 程序的計時器重新開啓等待下一次的擊發.

adsGunKickReducedPercent的數據是當adsGunKickReducedBullets擊發數據執行後有多少速度數據減少了.

adsGunKickPitchMax, adsGunKickPitchMin, adsGunKickYawMax 和 adsGunKickYawMin 是四個計算武器每次上跳時對四個方向上跳速度計算的一個數據(每秒多少度).(Pitch數據是上下的, Yaw數據是左右的, 通俗理解). 加速度是每次擊發纔會產生的. ViewKick在這裏可以不考慮他的加速度, 這就是爲什麼在COD武器數據中會看到ViewKick數據爲0的原因.

adsGunKickAccel 這個數據是武器回覆到中心原點加速度的數據(每秒多少度). 加速度的指向永遠是武器瞄準的中心原點.

adsGunKickSpeedDecay 是一個線性阻力系數按照( s^-1 1赫茲)計算. 用來衡量武器上跳衰減的偏轉數據. (離開中心原點)

adsGunKickStaticDecay 是一個線性阻力系數按照( s^-1 1赫茲)計算. 用來衡量武器上跳衰減的迴歸到原點數據. (向原點後方移動再回到原點 re-centering).

基本上GunKick每一次上跳的數據的演算公式和算法是:

x[t] = x_0 (+/-) g*Exp[-bt]/b^2 (-/+) g/b^2 (+/-) gt/b - v*Exp[-bt]/b + v/b

t -- 武器開始上跳時過去的時間.

x_0 -- 武器開始上跳時的位置.

v -- 武器上跳的初始速度.(取決於四個方向的初速和數據)

g -- adsGunKickAccel

b -- adsGunKickSpeedDecay 或者 adsGunKickStaticDecay, 取決於武器迴歸中心原點的實際情況.

Exp[...] -- 指數函數e^(...)

總結:

當你研究透徹之後你會發現還是不對勁! 總覺得少了不少東西, 是爲什麼呢?

因爲武器後坐力和手感還是需要音效和動畫做補充的. 槍槍入肉的感覺可少不了音效和動畫.其他完全不知道我再說什麼的玩家是不是感覺什麼都看不懂啊?

沒關係. 你們只需要明白MP的武器平衡是有多麼的難調整和複雜了, 武器越多越煩人, 需要調整的時間越長.想想COD每把槍都要調出有個性來的要求簡直是殘忍