加速曲線
上方的範例動作模擬了一次帶有自然物理加速的揮動滑鼠。為方便觀察,播放速度放慢了 90 %。
控制項
讀數
手部加速調變的縮放
縮放採用希爾函數實作,因為它能讓被放大的暫態平順地收斂回原始訊號,且不產生跳變。加速以其平方進入函數,因此響應在零的兩側完全相同,正如虛線那一半所示。 縮放時機決定哪個方向生效。
由物理加速帶來的靈敏度轉換
手部加速調變是一項針對進階使用者的工具,讓你對曲線的表現有更多掌控。究其本質,它讓曲線所做的靈敏度轉換在你加速手部時與減速手部時表現得不一樣。一般的加速曲線只對滑鼠的速度做出反應,而不管它是 如何達到這個速度的。
人手在滑鼠上產生的物理加速是一種 暫態過程 ——縮放只在手的速度正在 變化時才起作用,動作一旦穩定下來就隨之消失。
兩張圖各自說明了什麼
- 加速曲線:圖中給出一條範例靈敏度曲線,並搭配一次模擬的甩動動作,為方便觀察而放慢播放。動作先緩慢加速,接著加快,在 45 英吋/秒 的尖峰速度上維持片刻,再以同樣的方式減速。
- 以速度為目標時:曲線會隨縮放參數的正負,分別向左壓縮或向右拉伸。
- 以靈敏度為目標時:整條曲線隨縮放參數的正負整體上移或下移。
需要理解的是,這種拉伸或壓縮並不只是數學的示意圖,它 就是數學本身。在曲線讀取速度之前先乘上一個係數,與在一條被同樣係數 壓縮過的曲線上讀取未調變的速度,完全等價。這也解釋了為什麼靜態靈敏度(或曲線中平坦的一段)在速度模式下幾乎沒有反應:壓縮只是把曲線橫向移動,而平坦的靈敏度無論調變與否都一樣。
- 手部加速調變的縮放:這裡呈現的是把物理加速與輸入訊號收斂在一起的內部函數。它是相對加速而非時間繪製的,因此整個轉換的形狀可以一眼看全。
參數
- 縮放 & 限制:縮放決定手必須加速到什麼程度,才會出現明顯的變化,也就是這個函數對你手部物理加速的靈敏程度。限制則設定效果的上限,響應會不斷逼近它,卻永遠不會真正到達。
- 縮放時機:選擇縮放是在手加速時發生,還是在手減速時發生。
- 速度目標:在曲線讀取之前先乘上速度。輸出只可能是曲線本身已經包含的靈敏度,只不過在比平常更低的手部速度上就達到了。也就是說,曲線尚未定義的靈敏度,無論如何都達不到。
- 靈敏度目標:在曲線讀取完成之後再乘上輸出。曲線是被整體抬起而不是橫向滑動,因此可以短暫達到曲線中根本不存在的靈敏度。
手部加速指示條在兩種情況下讀數相同,因為所量測的本來就是同一個量——不同的只是這個量測值被 套用到什麼上.
它位於處理流程的哪一步
量測發生在加速曲線之前。以速度為目標時,縮放作用於該處的速度;以靈敏度為目標時,縮放作用於曲線回傳的靈敏度,因此是疊加在曲線之上的。
有兩點實務上的提醒。縮放值會受滑鼠 DPI 影響:建議在 裝置分頁中填寫每一隻滑鼠的 DPI,這樣加速才會像本圖一樣以真實單位度量。其次,真實的滑鼠輸入雜訊太大,無法直接微分,因此驅動程式會先把速度平滑一遍,再取其變化率——這正是 偵測平滑的作用。本頁中的動作是產生出來的而非實測的,因此沒有需要平滑的對象,本頁也沒有這樣的控制項。
一些用法
這些效果正是暫態調變才能帶來的,單靠一條一般的加速曲線無法實現。設定依以下順序列出: 目標, 縮放的正負、 縮放時機.
- 為快速甩動在滑鼠墊上留出更大的餘裕。 速度、負縮放、作用於加速。在手加速的過程中對速度做除法,會把靈敏度壓在曲線單獨給出的數值之下,因此同樣幅度的一次大力甩動,在螢幕上走過的距離更短。甩動可以更果斷,在越過目標之前也多出一段餘裕。
- 只有在速度快且同時在加速時才提高靈敏度。 速度、正縮放、作用於加速。把曲線向左壓縮,會讓它上方的平台在更低的手部速度上就能構到,但只在手正強勁提速的那段時間裡如此。 預設 10,Modulated Jump正是這樣搭起來的:在一條跳變曲線上取縮放 1、限制 4。如此一來,除了極具反應性的 180° 轉身之外,其餘所有動作都不帶加速。
- 只在甩動時才發生靈敏度轉換。 靈敏度、正縮放、作用於加速。由於縮放落在曲線之後,曲線本身可以保持平坦:所有等速移動都不會被縮放,讀作單一的靈敏度;而一次有力的甩動會在暫態持續期間把它整體抬起。 預設 17,手部加速靈敏度調變做的正是這件事,其縮放為 1、限制為 2.5。
- 在不帶來慣有「動作延遲」的前提下使用強平滑。 速度、負縮放、作用於減速。對抖動的滑鼠輸入做平滑,會在你減速手部時抬高靈敏度,因為平滑是與先前的數值取平均——這就是所謂的「動作延遲」效應。在手減速的過程中把速度除進一條加速曲線裡,會讓靈敏度下降得比單靠動作本身更快,從而在保住抖動減少這項好處的同時,把這個缺點完全抵銷。
- 在左右快速跟槍時讓靈敏度更穩。 速度、負縮放、作用於加速。每一次變向都是一次顯著的加速,因此除法在每一次變向上都會生效,把本來會沿加速曲線一路爬升的靈敏度按在原處。結果相當於給曲線加上了一個動態的「偏移」,它只在急促的物理加速下出現,在等速移動或更平緩的手部加速下則不會出現。