ApexTraceBETA
← 開発者ブログ

APEXTRACE · DEVLOG

PS5のGT7テレメトリはどう動く?ApexTraceの仕組み

ApexTraceがPS5のGran Turismo 7テレメトリを受信し、ラップを保存して速度・ブレーキ・アクセルのグラフにする仕組みを実際の記録とともに紹介。

· Admin
  1. PS5 · GT7
  2. パケット受信
  3. デコード
  4. ラップ保存
  5. グラフ表示

Gran Turismo 7のテレメトリは、車両や走行の状態を表す数値データです。アプリはローカルネットワークを通じてPS5から受信できます。ApexTraceはこのデータを処理してラップを保存し、Windows PCで分析できるグラフにします。

ラップタイムが示すのは走行全体の結果です。ブレーキング、コーナー速度、アクセルを戻すタイミングを調べるには、個々の通信メッセージを分析可能な記録にまとめる必要があります。

Gran Turismo 7が送信するもの

PS5はUDPパケットという小さな通信メッセージを送ります。速度、エンジン回転数、ペダル操作、ギア、車両座標などが含まれます。利用できる項目はパケット形式によって異なります。

グラフはこれらの数値を使います。メーター画像を認識したり、レース映像を解析したりする必要はありません。

パケットを読みやすい値に変換する

パケットは列名付きの表ではありません。デコーダーは対応形式のパケットを復号し、構造を確認して各項目を読み取ります。

その後、ペダルをパーセント、速度を時速キロメートルなどの単位に変換します。値の妥当性を確認することで、後続の処理に使えない値を除外しやすくします。

ゲームの値とアプリの計算値

GT7から直接届く項目もあれば、ApexTraceがそこから計算するものもあります。例えば連続する座標から走行ラインを再現し、走行距離を推定できます。

走行ラインは車両の動きを表しますが、それだけで舗装の境界や縁石を示すわけではありません。計算値は元のデータの性質を踏まえて読む必要があります。

ラップのアーカイブができるまで

1つのパケットが表すのは一瞬です。ApexTraceは連続する状態をラップとセッションに結び付け、ライブ表示を更新し、記録をローカルに保存します。

保存にはSQLiteを使います。コンピューター上のデータベースで、別のサーバーは不要です。保存したセッションはPS5や進行中のレースがなくても後から確認できます。

距離に沿ってラップを比較する理由

2つのラップが同じコーナーに到達するまでの時間は異なる場合があります。ストップウォッチの時間だけを合わせると、コース上の別の場所を比べてしまうことがあります。

ApexTraceのA/B比較は距離の進行に沿って対応付けます。同じ区間で速度、ブレーキ、アクセルを確認でき、デルタグラフは時間差の変化を示します。両ラップはユーザーが選び、どちらもベストラップである必要はありません。

ApexTraceのウィンドウの裏側

デスクトップの外枠にはTauriを使い、Pythonで実装されたローカルのテレメトリ処理サービスを起動します。画面には処理済みのデータが表示されます。

これにより受信、保存、グラフ表示を別々の役割として扱えます。配布版のWindowsアプリは必要な構成要素を自動で起動するため、Pythonを別途インストールする必要はありません。

グラフから具体的な観察へ

「あのコーナーは違った」という感覚を、ブレーキ開始、速度、アクセル操作の違いとして確認できます。

ただし、グラフだけで原因が自動的に分かるわけではありません。車両、タイヤ、条件、ドライバーの操作も影響します。違いは次の走行で検証する仮説であり、タイム向上の保証ではありません。

ApexTrace — Windows向けGT7テレメトリー — Farodin Projectsが開発するアプリの公式サイトで、機能・ダウンロード・設定方法をご案内します。

コメント

ログイン
サポート