対応する各シムは、それぞれ専用のエフェクトエンジンを備えています。そのエンジン内のすべてのエフェクトは、 そのシムのテレメトリーが実際に公開する情報をもとに一つずつ手作業で構築されており、ロックアップも、カーブも、エンジンも路面も、 すべてがそのシムのその車に属するものとして感じられます。スマートエフェクトは、データが許す限り、 あなたの車とセットアップに合わせて自動でキャリブレーションされます。
多くのシムレーシング向けハプティックソフトは、設定可能なフィルター、周波数、エンベロープ、ルーティングを備えた汎用エフェクトのライブラリを提供します。 パッケージがオーディオを処理し、微調整はあなたの仕事。エフェクトエディターで午後をしっかり費やせば、使えるリグが仕上がります。 このモデルは機能しますし、最も普及しているパッケージはこの方式で築かれました。ただしこのアプローチの限界は、エフェクト自体がシムに依存しないことです。 そのため、LMUでハイパーカーをGT3とは違う感触にする、あるいはiRacingのABSテレメトリーをACCとは異なる挙動にする、といったシム固有のクセが、 ユーザーのカスタム計算式によって覆い隠されてしまいます。
Track Impulseはその逆向きに作られています。各エフェクトは専用に設計された合成パスであり、 独自のキャリア周波数、独自のエンベロープ形状、独自の波形、そしてシムから導かれた独自の入力信号を持ちます。 ホイールスリップは、前後方向のスリップと、ヨーレートでスケールされた横方向の信号をホイールごとに融合します。 エンジンランブルは、RPMに合わせてスケールするキャリアを持ちます。ABSは、ブレーキ圧のカーブ、踏み込むほど遅くなるパルスレート、 そしてそれと並行してピッチが変化するキャリアを重ねます。エフェクトごとに記述する対象が異なり、シェーカー上での感触も異なります。 なぜなら、それらは私たちによってシムごとに別個に作られているからです。
合成は2段階で動作します。シム別レイヤーがゲームの共有メモリを読み取り、適切な生信号を抽出し、ホイールごとに振幅と周波数のターゲットを書き込みます。 続いてシム非依存のシンセサイザーが、実際のオーディオを生成します。エフェクトごとの波形、倍音、エンベロープ、優先度ダッキング、 そして8ゾーンの出力ルーティングです。この2つのレイヤーは意図的に分離されており、新しいシムを追加してもオーディオコードには一切触れず、 新しいエフェクトを追加してもシムコードには触れません。
どのホイールが、どれだけ強く、なぜ動いたのかを感じ取れます。右リアのスリップは右リアのシェーカーに出ます。フロントレフトのABSロックアップは、ABSがどこかで作動しているという情報だけでなく、フロントレフトのペダル圧を緩めるべきだと教えてくれます。
Track Impulseのすべてのエフェクトは、車の4つのコーナーそれぞれで独立して計算されます。フロントレフトのホイールスリップは、 そのホイールの前後・横方向の状態から導かれた独自の信号です。リアライトもそれぞれ独自の信号を持ちます。 フロントとリアはまったく別のことをしている場合があります。なぜなら、シムの中で実際にそうなっているからです。
ホイールごとのルーティングは簡単な方の半分です。多くのパッケージがそこには到達しています。フロントレフトの信号をフロントレフトのシェーカーに マッピングする4コーナー出力モードです。難しい方の半分は、その信号自体が最初からホイールごとに計算されていたのか、 それともシャシーレベルの数値が生成されてから各コーナーにルーティングされたのか、という点です。この2つはリグ上で別物に感じられます。
主流のパッケージは、シムがホイールごとのデータを直接公開している簡単なケースは正しく扱えます。路面振動とサスペンションは通常機能します。 ホイールスリップこそが難しくなるところで、特にスリップ率をまったく公開しないiRacingで顕著です。そこでの標準的なフォールバックは、 基本的なスロットル対RPMのしきい値です。実質的にオンかオフだけで、ホイールごとの詳細もコーナリング荷重への認識もありません。 Track Impulseは、ホイールごとの動的なマルチレベルのオープンループ計算からスリップを構築し、 前後方向のスリップと、ヨーレートでスケールされた横方向の信号、そしてグリップが破綻した瞬間に発火する非対称エンベロープを融合します。 その結果、iRacingでは、パワーをかけてインのフロントがトラクションを失うとそのホイールだけが反応し、まだ荷重がかかってグリップしているアウト側は静かなままです。 そしてカーブを叩いたときに支配的なホイールが、どちら側がより強く当たったかを教えてくれます。カスタム計算式も、設定ファイルの編集も不要です。
本来はホイールごとではないエフェクトにも、空間的なロジックが加わります。エンジンランブルにはコーナーごとのデチューンオフセットがあり、 エンジン信号を大きくすることなくステレオの広がりを加えます。シンセサイザーはデフォルトで8つの出力ゾーンを公開します。 4つのコーナーに加えて4つの設定可能なカスタムゾーンです。これにより、シートシェーカーやペダルシェーカーに、 ユーザーがカスタムチャンネルマップを作る必要なく、独自のミックスを割り当てられます。
iRacing、ACC、Assetto Corsa、Le Mans Ultimate、AC EVO、AC Rallyは、それぞれ異なる方法でテレメトリーを公開します。 共有メモリのレイアウトが異なり、サンプルレートが異なり、存在する変数と存在しない変数が異なり、 任意の路面における任意の車の信号特性も異なります。
Track Impulseはシムごとに1つの専用エンジンを備えています。各エンジンは、そのシムのネイティブな共有メモリを直接読み取ります。 ゲームとハプティックエンジンの間にミドルウェアは介在しません。各エンジンは、そのシムが提供するデータと提供しないデータに合わせて調整された、 独自の信号処理ロジックを持っています。
主流のパッケージは、各シムの固有の変数を公開するゲーム別のテレメトリープラグインを備えています。しかし、それらの変数を消費するエフェクトはほとんどがシム非依存に書かれているため、同じホイールスリップエフェクトがiRacingでもACCでも動作します。シム固有の信号(iRacingのrumblePitch、AC EVOのネイティブなroadVibrations、LMUのmGripFract)を活用するには、通常ユーザーが作るカスタムエフェクトが必要です。Track Impulseでは各エンジンが1つのシム専用に作られているため、それらの信号はエフェクトに直接結線されています。ユーザーの計算式は不要です。
Track Impulseのエフェクトは狭く絞り込まれています。それぞれが単一の物理現象を記述し、その現象を最もよく表すテレメトリーから導かれます。 シム内の1つのイベントが同時に2つのエフェクトを発火させないように、そしてそれぞれの音量、周波数、波形を独立して調整できるように、 意図的に分離されています。
車体の動き。コーナーへのロールイン、ブレーキングでのダイブ、クレストを越えるときのヒーブ、カーブのエイペックスでの荷重移動。 このエフェクトは、ホイールが何かに当たることではなく、シャシーが車体として動く様子を追跡します。 しかもコーナーごとに追跡するため、車のイン側とアウト側が別々のことをしている状態を捉えられます。
iRacingでは、サスペンションは単一の統合エフェクトです。1つの信号パスが、最小の路面ノイズから大きなシャシーの衝撃まですべてをカバーし、 互いにバランスを取るべき遅い帯域と速い帯域を別々に持つことはありません。エフェクトの周波数は各イベントの鋭さに反応するため、 鋭い段差は帯域の上端付近に、緩やかなシャシーの動きは下端付近に着地し、スライダーが中心を設定します。 そして硬い車は、同じ路面では柔らかい車より自然と高いピッチになります。数ラップかけて車とトラックごとに自動キャリブレーションされ、 レンジ、デッドゾーン、ノイズフロアを学習するため、滑らかなトラックの柔らかい車は引き締まり、荒れたトラックの硬い車は広がります。 机上で考案したのではなく、記録されたデータから調整されています。
ランブルストリップやカーブを横切ることで生じる、鋭く反復するトランジェント。連続したトーンではなく一連の明確な衝撃で、 サスペンションの衝撃や路面の質感とは独立してルーティングされるため、カーブを叩いてもシャシーの動きの信号に混じり込むことはありません。
iRacingでは、これとは別に2つ目のカーブエフェクトが加わり、ゲーム自身のrumblePitch信号で駆動されます。 独自の音量とルーティングのスライダーを持つため、どちらか一方を独立して上げられます。その結果、ソーセージカーブとフラットカーブが iRacingでは異なる感触になります。ゲーム自体がそれらを異なる方法で信号化しており、その区別が平均化されて消えることなくシェーカーまで伝えられるからです。
回転数に追従するキャリア周波数を持つRPM駆動のランブル。アイドルでは低く遅く、レッドラインでは締まって高く。 オプションの設定可能な倍音が基音に重みを加えるため、エンジンが無機質に聞こえることはありません。コーナーごとのデチューンオフセットが、 エンジン信号を大きくすることなくステレオの広がりを与えるため、リグを奪い合うのではなく、ほかのすべての背後に収まります。
ランブルは車のシリンダー数によっても形作られます。Track Impulseはエンジンの振幅を実際の点火レート、 すなわち回転数にシリンダー数を掛けたレートでパルスさせるため、すべての車が1つの汎用的なブザー音を共有するのではなく、 V8は直列4気筒やV12とは異なる質感でうなります。iRacingではシリンダー数はセッションデータから自動的に検出されます。 他のシムでは、デフォルトが6の手動セレクターになっており、運転している車に合わせて設定できます。
AC EVOでは、エンジンエフェクトは電気自動車では完全にゼロにされます。シムがパワートレインの種類を公開し、 Track Impulseが最初のライブフレームでそれを読み取ります。EVで偽のエンジンを作るのは、無音で走らせるよりも悪いことです。
Track ImpulseのABSは、1つの平坦なブザー音ではなく、3つの層になった信号として作られています。 振幅は、床まで踏み込むずっと前にフル強度に達するカーブで、ブレーキペダルの圧に追従します。パルスレート(エフェクト自体のチャター速度)も ブレーキ圧に応じてスケールします。軽いブレーキでは速いチャター、強いブレーキでは深い打撃です。キャリアのピッチも並行してシフトします。 軽いブレーキでは高く、強いブレーキでは深く。
コーナー別アーキテクチャと組み合わさることで、ABSが作動していることだけでなく、どれだけ強くブレーキをかけているか、 そしてどのホイールが限界にあるかを感じられます。ABSを直接の信号として公開するシム(LMU、iRacing)では、ネイティブに読み取ります。 ABS検出を推定する必要があるシム(AC、ACC、AC EVO)では、各エンジンが、汎用的なしきい値ではなく、そのシムの実際のテレメトリーの挙動に合わせて調整された 独自の検出ロジックを持っています。
ワンショットのエンベロープ。鋭いアタック、短いピーク、制御された減衰で、シムのテレメトリーでギアチェンジが検出された瞬間にトリガーされます。 独立した音量、周波数、波形を持ち、エンジンランブルから完全に分離されているため、シフトがエンジンの既存の動きに乗っかることはありません。
ホイールスリップは、独自の信号と独自のスライダーを持つ、ABSとは別個のエフェクトとして意図的に設計されています。 ABSはロックアップを扱います。ホイールスリップは、パワーをかけたときやスライド中のトラクション喪失を扱います。 入力信号が異なるため、同じコーナーで両方が同時に発火しても重複しません。
スリップ率を直接公開するシム(ACC、AC EVO、LMU)では、それを読み取ります。それを公開しないiRacingでは、シム別エンジンが複数の信号を融合します。 スロットルがオンのときにホイール速度と車両速度の差から導かれる前後方向のスリップに加えて、スライド用にヨーレートでスケールされた横方向の信号です。 フレームごとに2つのうち強い方が勝ちます。非対称エンベロープにより、スリップはタイヤがブレイクした瞬間に到来しますが、 グリップの限界でタイヤが繰り返しグリップとブレイクを繰り返してもチャターしません。
コーナーごとのショック速度から直接合成される、連続的な路面の質感。各ホイールがリアルタイムで独自の信号を生成します。 滑らかなタールマックは低いベースライン。荒れた路面はより変化が大きくなります。ほとんどのユーザーはこのエフェクトを小さくするかオフにします。 上で挙げたより大きなエフェクトがリグの感触を担うからです。それでも、実際に路面に接しているホイールに対して、コーナーごとに出力されます。
iRacingは、カーブを横切るときに独自のrumblePitch信号を公開します。v0.6.211以降、Track Impulseはこれを、サスペンション由来のカーブのランブルとは完全に分離した、追加の8つ目のエフェクトとして伝えます。2つのカーブエフェクト、2つの独立したスライダー、2つの独立したゾーンルーティング。ソーセージカーブとフラットカーブが異なる感触になります。ゲームがそれらを区別し、シンセサイザーがその区別を保持するからです。
Track Impulseのエフェクトはプリセットではありません。すべてのエフェクトが独自のコントロールを公開しているため、 結果をあなたのハードウェアと好みに合わせられます。bass shakerとtactile transducerはすべて異なる応答カーブを持ちます。 Dayton BST-1はピーク応答が40 Hz付近にあり、ButtKicker Gamer 2はより広い帯域をカバーし、大型のtactile transducerは より低い周波数で最もよく応答します。あるハードウェアに合わせたエフェクトは、別のハードウェアでは間違って感じられます。 解決策は、その逆ではなく、エフェクトをハードウェアに合わせて調整することです。
すべてのエフェクトが独自のキャリア周波数スライダーを持っています。スライダーをシェーカーの共振ピークに合わせれば、同じ振幅でもエフェクトがより強く着地します。エフェクトが違えば、周波数も違い、スライダーも違います。
エフェクトごとに、サイン、矩形、ノコギリ、ノイズ。ほとんどのエフェクトではサインがデフォルトです。ABS / ブレーキロックでは矩形がデフォルトで、より硬いエッジがハム音ではなくロックアップとして読み取られるためです。質感が求めるときは、どのエフェクトも別の波形に切り替えられます。
各エフェクトは、設定可能な減衰とともに、基音の上に追加の倍音を重ねられます。エンジンは1つか2つの倍音から最も恩恵を受けます。他のエフェクトはデフォルトでなし。倍音のスタックはグローバルではなく、エフェクトごとです。
ゾーンごとのマスターとグローバルマスターの上に、独立したエフェクト別の音量スライダー。だから、エンジンを上げずにABSを上げたり、カーブを失わずに路面の質感を静かにしたりできます。
どのエフェクトも、8つの出力ゾーンのどれにでもルーティングできます。4つのコーナーに加えて4つの設定可能なカスタムゾーン。シートシェーカーをエンジンと路面に割り当て、ペダルシェーカーをABSとスリップに割り当てる。すべてを4つのコーナーに無理やり押し込む必要はもうありません。
複数のエフェクトが同時に発火するとき、シンセサイザーはそれらをブリックウォールで潰してぐちゃぐちゃにすることはありません。各エフェクトには優先度ランクがあります。上位の優先度はフル振幅を得て、下位の優先度はスケールダウンするため、支配的な信号が明瞭なまま保たれます。
これらすべてはアプリ内でエフェクトごとに公開され、シムごとに保存され、コミュニティプロファイルとして共有できます。 これにより、あなたのハードウェア向けの他のドライバーの調整をワンクリックでインポートできます。
ハプティックソフトが箱から出した状態で平凡に感じられる理由の一つは、しきい値がビルド時に焼き込まれていることです。 ハイパーカーのサスペンションストロークレンジでは小さな段差が、同じシムのGT3では巨大なものになります。車の物理が異なるからです。 車Aですべてを捉えるしきい値は、車Bではすべてを取り逃がします。
iRacingでは、Track Impulseがサスペンションのしきい値を車ごと、トラックごとに自動キャリブレーションします。 走行するにつれて、エンジンはあなたのショック速度の読み取り値のストリーミング分布を収集します。ラップ完了時に、その分布からしきい値を導き出します。 デッドゾーン、作動点、上限です。しきい値はラップをまたいで上昇することはあっても下降することはないため、1回の悪いサンプルラップがキャリブレーションを台無しにすることはありません。 結果は車とトラックの組み合わせごとに保存されます。次回同じ組み合わせをロードすると、しきい値はすでに準備できています。
LMUはクラスレベルで同様のことを行います。ハイパーカー、LMP、GT3、GTEがそれぞれ別個のしきい値プロファイルを持ちます。 サスペンションの挙動が本当に異なるからです。未知のクラスは、3秒のウォームアップを伴うローリングピークにフォールバックします。 ACCとRallyのエンジンは、直線での惰性走行中にスリップバイアス学習を適用するため、ある路面における基準のタイヤスリップが、 ABSの偽陽性の発火を絶え間なく引き起こすことはありません。
これらはどれも設定を必要としません。普通に車を走らせれば、しきい値が自ら見つかります。
ユーザーがギャップを埋めるためにカスタム計算式を書き始める前の、箱から出した状態でTrack Impulseが主流のbass shakerソフトと どう比較されるかをまとめました。この表のポイントは機能の数を数えることではありません。各行が、シートでの異なる物理的体験を表しているということです。
遅延の行だけは、遅延スタックの解説で詳しく扱っています。 他のすべての行は、1つのシムを軸に作られた箱出しの体験と、ユーザーが各シムのために自分で調整することを前提とした汎用エフェクトライブラリとの違いです。
既存のハプティックセットアップと並べてインストールし、直接比較してください。すべてのエフェクト、すべてのシム、 すべての出力ゾーンがベータ期間中に利用可能です。ベータ期間中は無料。クレジットカード不要。 セットアップは10分以内。