欢迎进入莱诺活性炭公司!

果壳活性炭
您当前的位置 : 首 页 > 新闻动态 > 公司新闻

游戏探秘,《使命召唤OL》武器后坐力机制

2025-03-01 22:31:52

《使命召唤OL》中武器的后坐力一直是大家热议的话题。今天,有玩家分享了一篇关于《使命召唤》系列中武器后坐力机制及计算方法的文章。这篇文章深入浅出,涉及大量数学知识和公式,是高端玩家了解游戏的必备资料。下面就让小编带大家一起了解一下吧。

由于保密性和便于理解的原因,帖子中的算法仅用于演示和测试,无法直接应用于游戏中。

Recoil的概念很容易理解,即玩家在玩FPS时所感受到的“后坐力”。然而,如何实现真实、准确且适合玩家的后坐力是许多FPS游戏设计中的一个难题。

那么在游戏中,"后坐力"是如何表现的呢?

1、Spread(散布)

在游戏中,散布是一个固定的数据,也就是说,它的数值是设定好的(虽然它是一个变量,如果难以理解,可以将其视为一个固定范围)。在《使命召唤》中,武器有两种射击方式:HIP(扫射)和ADS(瞄准)。然而,在《使命召唤》中,散布仅在扫射时有效,而在瞄准模式下,武器实际上是没有散布的。那么,为什么在游戏中瞄准射击时,武器不也产生散布呢?其实是因为GunKick和ViewKick的影响。

2、Gun Kick(枪口跳动)

这是指当武器射击时,武器会在屏幕上左右上下晃动。这个晃动是有相互作用的,当枪口向左跳时,武器也会回到中心点。如果连续射击,下一次跳动会向右,同时,无论如何,停止射击时武器都会回到中心点。这个回归速度被称为回归原点速度,速度越快,武器回到原点的速度也越快,从而提高武器的精度。

3、View Kick(视野跳动)

这是最容易混淆的机制。视野跳动指的是当武器射击时,视角会偏离原来的瞄准点,可能会向上、下、左、右任何方向跳动。实际上,这个机制是调整屏幕视角而不是武器模型的跳动。玩家可以通过操控来控制这一跳动,也就是俗称的“压枪”。

ViewKick和GunKick这两个模块在移动模组方面有着显著的区别。

4、视觉后坐 (效果跳动)

这只是游戏中武器动画的模拟,没有实际的数据影响,因此不会直接改变武器的"后坐力"。这是提高武器真实性的一种表现方式。因此,当你觉得武器在跳动而无法击中敌人,并试图修正弹道却仍未击中时,实际上你已经命中目标,只是视觉跳动让你误以为未命中。因此,COD引入了Hitmarker来帮助玩家判断是否击中目标。

5、中心速度 (回归原点速度)

这个武器数据非常重要,它表明在武器产生后座后,武器回归原点的速度。速度越快,武器回到原点的速度也越快,后坐力的影响也越小。

以上是纯理论知识,那么如何将其应用于显示的计算中呢?

在COD MW2中,Gun Kick和View Kick在X轴和Y轴上都是独立展现的。

Gun Kick允许在轴交叉中进行跳动,武器可以在不回到原先轴线的情况下进行下一次跳动。

以下是用于演示的数值和应用的公式:

adsGunKickReducedBullets的数据表示减少武器上跳速度所需的击发次数。当程序执行这个数据的击发次数时,武器的上跳数据将恢复到其基本数值。当停止击发时,程序的计时器会重新启动,等待下次击发。

adsGunKickReducedPercent表示在执行adsGunKickReducedBullets击发数据后,速度数据减少的程度。

adsGunKickPitchMax、adsGunKickPitchMin、adsGunKickYawMax和adsGunKickYawMin这四个数据用于计算武器每次上跳时在四个方向上的速度(以每秒多少度表示)。Pitch数据表示上下方向,Yaw数据表示左右方向。加速度只有在每次击发时才会产生。ViewKick的加速度在此不需要考虑,这就是为什么在COD武器数据中可能看到ViewKick数据为0的原因。

adsGunKickAccel代表武器回到中心原点的加速度(以每秒多少度计)。加速度始终指向武器瞄准的中心原点。

adsGunKickSpeedDecay是一个线性阻力系数,按(s^-1 1赫兹)计算,用于衡量武器上跳时偏离中心的衰减情况。

adsGunKickStaticDecay是一个线性阻力系数,按(s^-1 1赫兹)计算,用于衡量武器上跳时回归到原点的衰减情况。(先向原点后方移动,再返回到原点)

基本上,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^(...)

总结:

当你深入研究后,可能会觉得仍有些不对劲!是不是总觉得缺了些什么呢?

这是因为武器的后坐力和使用手感还需要通过音效和动画来补充。射击时那种直击目标的感觉是离不开音效和动画的。其他对我说的内容完全陌生的玩家是否感到一头雾水呢?

没关系。你们只需了解多人游戏中武器的平衡调整是多么复杂和困难,武器种类越多,调试所需的时间就越长。想想《使命召唤》中每把枪都要调出独特风格的要求,实在是极具挑战。

标签

本文网址:

最近浏览: