我认为,已经普遍同意,仅将模拟摇杆映射到角色的旋转速度还不足以使控制台第一人称射击手感觉良好。
那么,什么输入范例可以使控制台上的现代FPS正常工作?
我认为,已经普遍同意,仅将模拟摇杆映射到角色的旋转速度还不足以使控制台第一人称射击手感觉良好。
那么,什么输入范例可以使控制台上的现代FPS正常工作?
Answers:
我参加了今年由抽油杆的家伙们主持的GDC会议,讨论了他们如何处理臭名昭著的辅助瞄准和移动。我的理解是Halo使用非常相似的系统进行辅助瞄准,这是基本知识:
使目标“感觉不错”有两件事:您需要感觉自己在控制之中,并且需要感觉游戏没有在骗你。在公差范围内调整游戏对输入方向和按钮定时的感知是一种很好的方法,因为它永远不会导致不可能的情况,在这种情况下,自动瞄准实际上要比理论上完美的控制器更好。如果您在输入处理完成后尝试临时解决该问题,那么最终将遇到一些粗略的情况,玩家会感到自己失去了控制。
这里有很好的答案。我必须在自己正在进行的项目中自己弄清楚,但是得出的结论与Sucker Punch的家伙们一样(我以为我想出了一些新颖的东西。Baww :()。
我发现将整个第一人称360x180度“全景”视为“加速场”很有用。所有有效的目标都会创建引力井,这些引力井会弯曲玩家的输入(仅微妙),从而使宏观运动(转向面对目标)感觉就像是一条“加油”的路径。但是,这并不会一直影响十字准线-仅当玩家的转弯增量指向井的坡度时(一直如此)。不过,这确实很关键-仅在玩家大致转向目标时才提供这种额外的转弯速度。那是您可以根据玩家的输入做出的唯一推断。
而且,您会得到太多明显的“ ouija效应”。您想要ouija的正好相反:如果ouija板由于用户的不智能移动而没有他们的有意识知识,则您希望玩家的十字准线以一种智能的方式移动而用户没有意识到这并非纯粹是他们的输入。这确实是一个魔术。
使用玩家的俯仰/偏航转弯变化量与从十字准线到每个目标的俯仰/偏航变化量的点积。将值固定在0和最大速度之间(因此,在推离目标时您将忽略输入),然后将距离函数用作衰减修饰符。
我发现,当十字准线与目标角度差较大时(即,当敌人在您身后时),增加这种“宏观运动”的奖励确实可以解决经典的控制台控制器问题,即无法足够迅速地面对面。在“目标选择”方面,如果您是从背后被攻击,并且前方没有目标,那么前方的全景图就是“死角”,您不妨赋予玩家飞越它的能力。用他们的光标快速移动。而且,如果前方有ARE目标,那么它们可能在玩家的脑海中更高,并且由于阻尼/粘性目标,不会受到弱宏观力量的不当影响。
当玩家试图离开 一个物体时,您不需要过多地减弱灵敏度(这会导致试图“逃离”目标轨道的感觉)。阻尼更多地用于精确瞄准,也可以防止从宏观到微观精度移动时玩家的目标超调-这是最无能为力的事情:玩家(尤其是新手)倾向于只使用摇杆偏转的极端,因此您拥有为他们做很多事情。
粘性目标是相对运动补偿器。观察与目标(从相机而不是从实体原点)到目标,此帧和最后一帧的角度之间的差异。查看您对目标的接近程度。为了避免在没有用户输入的情况下发生ouija效应,请检查两个操纵杆的偏转:查看您是否已经物理移动(左操纵杆致动),或者是否有与目标方向“对准”的有效瞄准。添加偏航/俯仰增量步长*目标接近度*最大(move.length,aim.length),用于基本的粘性瞄准。
目标混乱的问题出现的地方(即,当目标对准背后的东西时目标横穿您的视线,“窃取”您的焦点),只需跟踪目标,并在目标活跃时“加热”单个目标即可目的是。然后,将阻尼分量和粘性分量乘以该加热参数,以便忽略未加热的目标。如果玩家想要其他目标的帮助,他们将迅速手动瞄准该目标,这成为最显眼的目标,而上一个目标则被遗忘了。
我们还创建“幻像”目标辅助目标,以帮助您摆脱无趣的事物(即面对墙壁-如果没有有效的交互,则无需四处张望空白的表面),但它可能超出我的能力范围关于-您可以将这些东西应用到玩家感兴趣的任何东西上,例如炸药桶,互动物体(生物震荡器在近距离瞄准可互动物体时会使用阻尼作用,但不会对它们产生粘性瞄准,我不认为)。一旦意识到这仅仅是补充瞄准的核心概念,您就会意识到,这不仅是关于瞄准的,而且是对可用性的总体改进,这种改进会影响到任何依赖瞄准的机制。在FPS中,
所有这一切的关键在于调整。需要很长时间才能正确对准目标,并且目标距离太近,以至于其“目标区域”淹没了玩家的全景,使旋转速度降低了60度,从而达到爬行的目的。
噢,老兄,我该去睡觉了。很抱歉,如果一些数学不清楚。真的很晚,但是我很高兴阅读这篇文章。
为了使输入在控制台上感觉良好,您将需要对其进行一些处理。
首先,我们将来自模拟摇杆的线性输入转换为一条曲线,该曲线使我们在摇杆中心周围的灵敏度更高,而在边框处的灵敏度更低。可以使用小型工具来完成此任务,这些工具可以帮助您创建和可视化这些曲线并吐出代码。(http://www.arachnoid.com/polysolve/)
第二步,我们实现了某种加速。当摇杆输入至少达到97%时,它会在短时间内启动,并随着时间的推移逐渐增加相机的旋转速度。我们分别处理X和Y轴。这使您可以以某种方式人为地增加操纵杆的输入范围。前97%可以用于相对精细的调整,但是由于加速,您也可以快速移动。
如果您有不同的摄像机FOV(例如,在瞄准/缩放时),则需要一个因素来根据当前使用的FOV调整凸轮旋转速度。
其他一些使玩家的生活更轻松的妙招是“自动居中”。当没有输入时,这将使摄像机的俯仰缓慢地回到地平线。它有助于保持定向。
控制台上需要注意的另一件事是死区。当控制器变老时,模拟摇杆开始失去精度,并趋向于提供“假”输入。为避免这种情况,您必须忽略摇杆输入的前几pct(最多20%)。
如前所述,我们还进行了一些基于摩擦的瞄准帮助实验(在向屏幕上的敌人移动时加速输入,在远离敌人时减速输入),但是我们感到玩家非常注意。不利的一面是,当有一排敌人时,您将不再具有平稳的凸轮运动。我们选择了“磁性子弹”效果,子弹本身会在一定范围内趋向于敌人。但是,您在这里也必须小心。