Custom Curve 的手部加速调制

下面的图示展示了 手部加速调制在手加速或减速的过程中缩放速度或灵敏度,相关说明另见 使用手册.

未调制 已调制

加速曲线

未调制 已调制

上方的示例动作模拟了一次带有自然物理加速的挥动鼠标。为便于观察,播放速度放慢了 90 %。

控制

3.0
2.00
1.000

读数

手部速度
0.0英寸/秒
手部加速
0英寸/秒²
灵敏度,未调制
1.04×
灵敏度,已调制
1.04×

手部加速调制的缩放

缩放生效 已关闭

缩放采用希尔函数实现,因为它能让被放大的瞬态平滑地收敛回原始信号,且不产生跳变。加速以其平方进入函数,因此响应在零的两侧完全相同,正如虚线那一半所示。 缩放时机决定哪个方向生效。


由物理加速带来的灵敏度变换

手部加速调制是一项面向进阶用户的工具,让你对曲线的表现有更多掌控。究其本质,它让曲线所做的灵敏度变换在你加速手部时与减速手部时表现得不一样。普通的加速曲线只对鼠标的速度作出反应,而不关心它是 如何达到这个速度的。

人手在鼠标上产生的物理加速是一种 瞬态过程 ——缩放只在手的速度正在 变化时才起作用,动作一旦稳定下来就随之消失。

两张图各自说明了什么

  • 加速曲线:图中给出一条示例灵敏度曲线,并配合一次模拟的甩动动作,为便于观察而放慢播放。动作先缓慢加速,随后加快,在 45 英寸/秒 的峰值速度上保持片刻,再以同样的方式减速。
    • 以速度为目标时:曲线会随缩放参数的正负,分别向左压缩或向右拉伸。
    • 以灵敏度为目标时:整条曲线随缩放参数的正负整体上移或下移。

需要理解的是,这种拉伸或压缩并不只是数学的示意图,它 就是数学本身。在曲线读取速度之前先乘上一个系数,与在一条被同样系数 压缩过的曲线上读取未调制的速度,完全等价。这也解释了为什么静态灵敏度(或曲线中平坦的一段)在速度模式下几乎没有反应:压缩只是把曲线横向移动,而平坦的灵敏度无论调制与否都一样。

  • 手部加速调制的缩放:这里展示的是把物理加速与输入信号收敛到一起的内部函数。它是相对加速而非时间绘制的,因此整个变换的形状可以一眼看全。

参数

  • 缩放 & 限制:缩放决定手必须加速到什么程度,才会出现明显的变化,也就是该函数对你手部物理加速的敏感程度。限制则设定效果的上限,响应会不断逼近它,却永远不会真正到达。
  • 缩放时机:选择缩放是在手加速时发生,还是在手减速时发生。
  • 速度目标:在曲线读取之前先乘以速度。输出只可能是曲线本身已经包含的灵敏度,只不过在比平常更低的手部速度上就达到了。也就是说,曲线尚未定义的灵敏度,无论如何都达不到。
  • 灵敏度目标:在曲线读取完成之后再乘以输出。曲线是被整体抬起而不是横向滑动,因此可以短暂达到曲线中根本不存在的灵敏度。

手部加速指示条在两种情况下读数相同,因为所测量的本来就是同一个量——不同的只是这个测量值被 应用到什么上.

它位于处理链的哪一步

测量发生在加速曲线之前。以速度为目标时,缩放作用于该处的速度;以灵敏度为目标时,缩放作用于曲线返回的灵敏度,因此是叠加在曲线之上的。

有两点实践上的提醒。缩放值会受鼠标 DPI 影响:建议在 设备选项卡中填写每只鼠标的 DPI,这样加速才会像本图一样以真实单位度量。其次,真实的鼠标输入噪声太大,无法直接求导,因此驱动会先把速度平滑一遍,再取其变化率——这正是 检测平滑的作用。本页中的动作是生成的而非实测的,因此没有需要平滑的对象,本页也没有这样的控件。

一些用法

这些效果正是瞬态调制才能带来的,单靠一条普通的加速曲线无法实现。设置按以下顺序给出: 目标, 缩放的正负、 缩放时机.

  • 为快速甩动在鼠标垫上留出更大的余地。 速度、负缩放、作用于加速。在手加速的过程中对速度做除法,会把灵敏度压在曲线单独给出的数值之下,因此同样幅度的一次大力甩动,在屏幕上走过的距离更短。甩动可以更果断,在越过目标之前也多出一段余量。
  • 只有在速度快且同时在加速时才提高灵敏度。 速度、正缩放、作用于加速。把曲线向左压缩,会让它上方的平台在更低的手部速度上就能够到,但只在手正强劲提速的那段时间里如此。 预设 10,Modulated Jump正是这样搭起来的:在一条跳变曲线上取缩放 1、限制 4。这样一来,除了极具反应性的 180° 转身之外,其余所有动作都不带加速。
  • 只在甩动时才发生灵敏度变换。 灵敏度、正缩放、作用于加速。由于缩放落在曲线之后,曲线本身可以保持平坦:所有匀速移动都不会被缩放,读作单一的灵敏度;而一次有力的甩动会在瞬态持续期间把它整体抬起。 预设 17,手部加速灵敏度调制做的正是这件事,其缩放为 1、限制为 2.5。
  • 在不带来惯常“动作延迟”的前提下使用强平滑。 速度、负缩放、作用于减速。对抖动的鼠标输入做平滑,会在你减速手部时抬高灵敏度,因为平滑是与之前的数值取平均——这就是所谓的“动作延迟”效应。在手减速的过程中把速度除进一条加速曲线里,会让灵敏度下降得比单靠动作本身更快,从而在保住抖动减少这一好处的同时,把这个缺点完全抵消。
  • 在左右快速跟枪时让灵敏度更稳。 速度、负缩放、作用于加速。每一次变向都是一次显著的加速,因此除法在每一次变向上都会生效,把本来会沿加速曲线一路爬升的灵敏度按在原处。结果相当于给曲线加上了一个动态的“偏移”,它只在急促的物理加速下出现,在匀速移动或更平缓的手部加速下则不会出现。