当前位置:游戏娱乐馆 >

网游图文攻略

> 《使命召唤OL》武器后坐力机制

《使命召唤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每把枪都要调出有个性来的要求简直是残忍。

  • 文章版权属于文章作者所有,转载请注明 https://yxylg.com/wangyougonglue/kw87gp.html