每款支援的模擬器都擁有自己的專屬效果引擎。引擎內的每個效果,都是針對該模擬器遙測實際提供的資料 量身打造,因此鎖死、路緣、引擎與路面感受起來都像是屬於那台車、在那款模擬器裡。 在資料允許的情況下,智慧效果會自行針對你的車輛與設定進行校正。
多數賽車模擬器觸覺軟體給你的,是一套通用效果庫,搭配可調的濾波器、頻率、包絡與路由。軟體負責處理音訊, 調校則交給你,在效果編輯器裡花上一個下午,就能調出堪用的座艙。這套模式行得通,主流軟體也正是這樣建立起來的。 這種做法的上限在於效果本身與模擬器無關,因此那些讓 Hypercar 在 LMU 裡感覺不同於 GT3 的逐模擬器細節, 或讓 iRacing 的 ABS 遙測表現異於 ACC 的差異,最後都得靠使用者自訂公式來勉強掩蓋。
Track Impulse 的建構方式正好相反。每個效果都是一條專門打造的合成路徑,有自己的載波頻率、 自己的包絡形狀、自己的波形,以及自己從模擬器擷取的輸入訊號。輪胎打滑會把縱向滑移與依偏航率縮放的橫向訊號 逐輪融合。引擎轟鳴的載波會隨轉速縮放。ABS 則疊合一條煞車壓力曲線、一個會隨你踩得更深而變慢的脈衝速率, 以及一條同步變化音高的載波。不同效果描述不同的東西,在 shaker 上的手感也不同,因為它們本來就由我們逐模擬器 分開打造。
合成分兩個階段執行。一個逐模擬器層讀取遊戲的共享記憶體,擷取正確的原始訊號,並逐輪寫入振幅與頻率目標值。 接著由一個與模擬器無關的合成器產生實際音訊:逐效果的波形、諧波、包絡、優先權壓低,以及八區輸出路由。 這兩層刻意分離,因此新增一款模擬器絕不會動到音訊程式碼,新增一個效果也絕不會動到模擬器程式碼。
你能感覺到是哪個車輪做了什麼、多用力、為什麼。右後輪的打滑事件就出現在右後 shaker 上。左前輪的 ABS 鎖死會告訴你要放鬆左前的踏板壓力,而不只是告訴你 ABS 在某處作動。
Track Impulse 裡的每個效果,都是針對車輛的四個角落各自獨立運算。左前輪的打滑是它自己的訊號, 源自該車輪的縱向與橫向狀態。右後輪則有它自己的訊號。前輪和後輪可以在做完全不同的事,因為在模擬器裡,它們確實如此。
逐輪路由是比較簡單的那一半。多數軟體都能做到:一種四角輸出模式,把左前訊號對應到左前 shaker。 比較難的那一半,是訊號本身一開始究竟是不是逐輪運算出來的,還是只是先產生一個底盤層級的數值,再路由到各個角落。 這兩者在座艙上的手感截然不同。
主流軟體在模擬器直接公布逐輪資料的簡單情況下能做對。路面震動與懸吊通常沒問題。輪胎打滑才是會走樣的地方, 尤其在 iRacing 上,它根本不公布滑移率。那裡的標準退路是一個基本的油門對轉速門檻:本質上只有開或關, 沒有逐輪細節,也不知道過彎負載。Track Impulse 則用動態多層級開迴路計算逐輪建構打滑訊號, 把縱向滑移與依偏航率縮放的橫向訊號融合,並搭配一個在抓地力斷開瞬間就觸發的非對稱包絡。 在 iRacing 裡的結果是:在動力下失去抓地的內側前輪只會點亮那個車輪,外側因為仍承載且抓地而保持安靜, 而路緣撞擊時的主導車輪會告訴你哪一側撞得更重。無需自訂公式,無需編輯設定檔。
那些本質上不是逐輪的效果也具備空間邏輯。引擎轟鳴有逐輪的微調偏移,能在不放大引擎訊號的情況下增加立體聲寬度。 合成器預設提供八個輸出區:四個角落加上四個可配置的自訂區,因此座椅 shaker 或踏板 shaker 都能被指定自己的混音, 使用者無需自行建立自訂聲道對應。
iRacing、ACC、Assetto Corsa、Le Mans Ultimate、AC EVO 與 AC Rally 各自以不同方式公布遙測。 共享記憶體的配置不同、取樣率不同,存在與不存在的變數不同,任何一台車在任何一種路面上的訊號特性也不同。
Track Impulse 為每款模擬器配備一套專屬引擎。每套引擎直接讀取其模擬器的原生共享記憶體。 遊戲與觸覺引擎之間沒有任何中介軟體。每套引擎都有自己的訊號處理邏輯,針對該模擬器提供的資料以及它沒提供的資料量身調校。
主流軟體有逐遊戲的遙測外掛,能公布各模擬器的特定變數。但消化這些變數的效果,大多寫成與模擬器無關,因此同一個輪胎打滑效果在 iRacing 上和在 ACC 上是同一套。模擬器專屬的訊號(iRacing 的 rumblePitch、AC EVO 原生的 roadVibrations、LMU 的 mGripFract)通常需要使用者自建一個自訂效果才能派上用場。在 Track Impulse 裡,每套引擎都為單一模擬器打造,因此這些訊號直接接進效果裡。無需使用者公式。
Track Impulse 裡的效果範圍劃分得很窄。每個效果只描述單一的物理現象,並源自最能代表該現象的遙測。 它們刻意保持分離,因此模擬器裡的一個事件絕不會同時觸發兩個效果,你也能各自獨立調校每個效果的音量、頻率與波形。
車身運動。切入彎角時的側傾、煞車時的俯衝、越過坡頂時的起伏、過路緣頂點時的重量轉移。 這個效果追蹤的是底盤作為一個整體在運動,而非車輪撞到東西,而且它逐輪追蹤, 因此車輛的內側與外側可以在做不同的事。
在 iRacing 裡,懸吊是單一的統一效果。一條訊號路徑涵蓋從最細微的路面雜訊到大幅底盤撞擊的一切, 沒有需要互相平衡的獨立慢速與快速頻段。效果的頻率會對每次事件的尖銳程度反應,因此一個尖銳的顛簸落在頻段頂端附近, 而一個寬廣滾動的底盤運動落在底部附近,中心點由你的滑桿設定,而在同一路面上,硬調的車自然會比軟調的車音高更高。 它會在幾圈內逐車逐賽道自我校正,學習其範圍、死區與雜訊地板,因此平滑賽道上的軟調車會收緊,粗糙賽道上的硬調車會放寬。 以紀錄資料調校,而非閉門造車。
越過震動帶或路緣時產生的尖銳、重複瞬態。是一連串清晰的撞擊,而非連續的音調,並與懸吊衝擊和路面紋理獨立路由, 因此路緣撞擊絕不會滲入底盤運動的訊號。
iRacing 在這個效果之外還多了一個第二路緣效果,由遊戲自己的 rumblePitch 訊號驅動。 它有自己的音量與路由滑桿,因此你可以獨立調高任一個。結果是香腸路緣與平面路緣在 iRacing 裡感受不同, 因為遊戲本身就以不同方式發出訊號,而這個區別會一路傳遞到 shaker,而不會被平均掉。
由轉速驅動的轟鳴,搭配一條跟隨轉速的載波頻率。怠速時低而緩,紅線區時緊而高。 可選的可配置諧波為基頻增添份量,讓引擎不會聽起來冷冰冰。逐輪的微調偏移為引擎訊號帶來立體聲寬度而不放大它, 因此它坐落在其他一切之後,而非爭搶座艙。
轟鳴也會由車輛的汽缸數塑形。Track Impulse 以實際點火頻率(轉速乘以汽缸數)脈衝引擎振幅, 因此 V8 的悸動紋理與直列四缸或 V12 不同,而非每台車共用同一種通用嗡鳴。 在 iRacing 裡,汽缸數會自動從場次資料偵測;在其他模擬器裡,則是一個預設為六的手動選擇器,讓你能配合所駕駛的車輛。
在 AC EVO 上,電動車的引擎效果會被完全歸零。模擬器會公布動力系統類型,Track Impulse 在第一個即時影格就讀取它。 在電動車上假造引擎比保持靜默更糟。
Track Impulse 的 ABS 建構為三層疊合訊號,而非單一平板的嗡鳴。振幅會依一條曲線跟隨你的煞車踏板壓力, 並在你踩到底之前就達到全強度。脈衝速率(效果本身的顫動速度)也隨煞車壓力縮放:輕煞時顫動更快,重煞時撞擊更深沉。 載波音高則同步變化:輕煞時更高,重煞時更深沉。
結合逐輪架構,你不只感覺到 ABS 正在作動,還能感覺到你踩得多重以及哪個車輪處於邊緣。 在以直接訊號公布 ABS 的模擬器上(LMU、iRacing),我們原生讀取它。在 ABS 偵測必須推算的模擬器上(AC、ACC、AC EVO), 每套引擎都有自己的偵測邏輯,針對該模擬器實際的遙測行為調校,而非通用門檻。
一個單發包絡:尖銳的起音、短暫的峰值、受控的衰減,在模擬器遙測偵測到換檔的瞬間觸發。 獨立的音量、頻率與波形,與引擎轟鳴完全分離,因此換檔不會跟著引擎當下正在做的事一起起伏。
輪胎打滑刻意設計成一個與 ABS 分開的效果,有自己的訊號與自己的滑桿。ABS 處理鎖死。 輪胎打滑處理動力下或滑動中的抓地力流失。兩者可以在同一個角落同時觸發而不重複,因為輸入訊號不同。
在直接公布滑移率的模擬器上(ACC、AC EVO、LMU),我們讀取它。在 iRacing 上,它並不公布, 逐模擬器引擎便融合多個訊號:油門開啟時源自輪速對車速的縱向滑移,加上一條依偏航率縮放、用於滑動的橫向訊號。 兩者中較強的一方逐影格勝出。一個非對稱包絡意味著打滑在輪胎斷開的瞬間就到來,但不會在輪胎於抓地邊緣反覆抓住與斷開時顫動。
連續的路面紋理,直接由逐輪避震器速度合成。每個車輪即時產生自己的訊號。平滑柏油是一條低基線。 較粗糙的路面則有更多變化。多數使用者會把這個效果調得很小或關掉,因為上述較大的效果已承載了座艙的感受。 儘管如此,它仍逐輪提供,在實際接觸路面的車輪上運作。
iRacing 在你越過路緣時會公布它自己的 rumblePitch 訊號。自 v0.6.211 起,Track Impulse 把它當作額外的第八個效果傳遞,與源自懸吊的路緣震動完全分開。兩個路緣效果、兩個獨立滑桿、兩套獨立的區域路由。香腸路緣與平面路緣感受不同,因為遊戲區分了它們,而合成器保留了這個區別。
Track Impulse 裡的效果不是預設組合。每個效果都提供自己的控制項,因此結果能配合你的硬體與你的喜好。 bass shaker 與觸覺轉換器各有不同的響應曲線:Dayton BST-1 的峰值響應約在 40 Hz,ButtKicker Gamer 2 涵蓋更寬的頻段,較大型的觸覺轉換器在較低頻率表現最佳。同一個效果在一種硬體上調好,放到另一種上就會走味。 解法是把效果調校配合硬體,而不是反過來。
每個效果都有自己的載波頻率滑桿。把滑桿對準你 shaker 的共振峰值,相同振幅下效果就撞得更重。不同效果、不同頻率、不同滑桿。
逐效果:正弦、方波、鋸齒或雜訊。正弦是多數效果的預設,方波是 ABS / 煞車鎖死的預設,因為較硬的邊緣讀起來像鎖死而非嗡鳴。當紋理需要時,可將任一效果切換到不同波形。
每個效果都能在基頻之上疊加額外諧波,並可配置衰減。引擎從一兩道諧波受益最多。其他效果預設沒有。諧波堆疊是逐效果的,而非全域的。
獨立的逐效果音量滑桿,凌駕於逐區主控與全域主控之上。因此你可以調高 ABS 而不抬升引擎,或調低路面紋理而不損失路緣。
把任一效果路由到八個輸出區的任一個:四個角落加上四個可配置的自訂區。把座椅 shaker 指派給引擎與路面。把踏板 shaker 指派給 ABS 與打滑。不必再把一切硬塞進四個角落。
當多個效果同時觸發時,合成器不會用磚牆式限幅把它們壓成一團糊。每個效果都有優先權排名。最高優先權獲得全振幅,較低優先權則往下縮減,讓主導訊號保持清晰。
所有這些都在 App 裡逐效果提供、逐模擬器保存,並可作為社群設定檔分享, 因此其他駕駛針對你硬體的調校,只要一鍵就能匯入。
觸覺軟體開箱即用時感覺普通的一個原因,是門檻在建構時就被寫死了。一個顛簸在 Hypercar 的懸吊行程範圍裡, 在同一模擬器的 GT3 上卻是巨大的,因為兩車的物理不同。一個在 A 車上捕捉到一切的門檻,在 B 車上會錯過一切。
在 iRacing 裡,Track Impulse 逐車、逐賽道自我校正懸吊門檻。隨著你駕駛,引擎會收集你避震器速度讀數的串流分布。 在每圈完成時,它從該分布推導門檻:死區、啟動點、上限。門檻只能跨圈上升,絕不下降,因此一個糟糕的取樣圈不會毀掉校正。 結果以逐車賽道組合儲存。下次你載入相同組合時,門檻已就緒。
LMU 在級別層級做類似的事:Hypercar、LMP、GT3 與 GTE 各自獲得不同的門檻設定,因為它們的懸吊行為確實不同。 未知級別則退回到一個帶三秒暖機的滾動峰值。ACC 與 Rally 引擎在直線滑行時套用滑移偏置學習, 讓特定路面上的基準輪胎滑移不會引發持續的 ABS 誤判觸發。
這一切都無需設定。正常駕駛車輛,門檻就會自行找到。
以下總結 Track Impulse 與主流 bass shaker 軟體開箱即用時的比較,也就是在使用者開始寫自訂公式來填補缺口之前。 這張表的重點不是功能計數,而是每一列都代表座艙裡一種不同的物理體驗。
光是延遲這一列,就在延遲堆疊解析裡有詳細說明。 其他每一列代表的差異,都在於一個圍繞單一模擬器逐一打造的開箱體驗,與一個期待使用者自行為每款模擬器調校的通用效果庫之間。