メインコンテンツまでスキップ

テクスチャトランスポート

TSMP は、エンコードされたピクセルがエンコーダーからデコーダーへのパスを通過した場合にのみ機能します。

TSMP 領域をデータ バスのように扱います。見た目には無害に見える変更でも、バイトが破損する可能性があります。

基本ルール

TSMP 領域をビデオではなくデータのように扱います。正確にコピーする必要があります。

避ける:

  • TSMP 画像の拡大縮小。
  • バイリニアまたはトリリニア フィルタリング。
  • アンチエイリアシング。
  • カラーグレーディング。
  • トーンマッピング。
  • TSMP 領域にブルームまたはポスト処理を行います。
  • ピクセル値を変更するビデオ圧縮。
  • ヘッダーまたはペイロード領域のトリミング。

VRChat スクリーンスペース出力

VRChat カメラ キャプチャの場合、TSMP 出力は TSMP カメラまたは画面空間マテリアルで表示される必要があります。

通常の設定は次のとおりです。

  1. TSMP 出力マテリアルを立方体または同様のメッシュに適用します。
  2. VRChat カメラをそのメッシュ内に配置します。
  3. TSMP 画像をキャプチャ ビュー全体に表示します。
  4. 完全なヘッダーとペイロード領域を表示したままにします。

カメラがメッシュの一部のみを認識している場合、デコーダはヘッダーの欠落、CRC の不一致、またはメッセージがゼロであることを報告する可能性があります。

## 解決

解像度が高くなるとペイロード容量が増えますが、レンダリングとリードバックの作業コストも増加します。

サンプルのプレハブのデフォルトから始めます。次の場合にのみ解像度を上げます。

  • Payload buffer is fullが表示されます。
  • デバッグ キャンバスには、容量に近いペイロードの使用量が表示されます。
  • 不要な同期データはすでに削減されています。

トランスポートの問題を隠すために解像度を上げないでください。 CRC エラーは、より多くのピクセルを使用することではなく、ピクセルを保持することによって修正する必要があります。

フィルタリング設定

TSMP データを運ぶテクスチャの場合:

  • 可能な場合はポイント フィルタリングを使用します。
  • ミップマップを避けます。
  • TSMP レンダー テクスチャのアンチエイリアスを無効にします。
  • 送信者と受信者の間で色空間とサンプリングの一貫性を保ちます。
  • TSMP 領域がピクセルどおりであることがわかっている場合を除き、OBS で画像のサイズを変更しないでください。

OBS とキャプチャ設定

OBSを使用する場合:

  • Spout の入力または出力が OBS に必要な場合は、Spout2 プラグインをインストールします。
  • 可能な場合は、TSMP 出力解像度でキャプチャします。
  • スケーリングフィルターは避けてください。
  • 色補正フィルターは避けてください。
  • TSMP 領域を完全に表示しておきます。
  • レシーバーの入力テクスチャが、元のエンコーダーのレンダリング テクスチャではなく、OBS 出力であることを確認します。

最初の輸送テスト

複雑なアバターを同期する前に:

  1. TSMPNetworkGameObjectToggleを追加します。
  2. ローカルの切り替えを確認します。
  3. テクスチャ パスを介して遅延デコードされたトグルを確認します。
  4. 変換同期を追加します。
  5. 高帯域幅の同期コンポーネントを最後に追加します。

トグルが到着しない場合は、データを追加する前にトランスポートとデコーダのステータスを修正してください。