テクスチャトランスポート
TSMP は、エンコードされたピクセルがエンコーダーからデコーダーへのパスを通過した場合にのみ機能します。
TSMP 領域をデータ バスのように扱います。見た目には無害に見える変更でも、バイトが破損する可能性があります。
基本ルール
TSMP 領域をビデオではなくデータのように扱います。正確にコピーする必要があります。
避ける:
- TSMP 画像の拡大縮小。
- バイリニアまたはトリリニア フィルタリング。
- アンチエイリアシング。
- カラーグレーディング。
- トーンマッピング。
- TSMP 領域にブルームまたはポスト処理を行います。
- ピクセル値を変更するビデオ圧縮。
- ヘッダーまたはペイロード領域のトリミング。
VRChat スクリーンスペース出力
VRChat カメラ キャプチャの場合、TSMP 出力は TSMP カメラまたは画面空間マテリアルで表示される必要があります。
通常の設定は次のとおりです。
- TSMP 出力マテリアルを立方体または同様のメッシュに適用します。
- VRChat カメラをそのメッシュ内に配置します。
- TSMP 画像をキャプチャ ビュー全体に表示します。
- 完全なヘッダーとペイロード領域を表示したままにします。
カメラがメッシュの一部のみを認識している場合、デコーダはヘッダーの欠落、CRC の不一致、またはメッセージがゼロであることを報告する可能性があります。
## 解決
解像度が高くなるとペイロード容量が増えますが、レンダリングとリードバックの作業コストも増加します。
サンプルのプレハブのデフォルトから始めます。次の場合にのみ解像度を上げます。
Payload buffer is fullが表示されます。- デバッグ キャンバスには、容量に近いペイロードの使用量が表示されます。
- 不要な同期データはすでに削減されています。
トランスポートの問題を隠すために解像度を上げないでください。 CRC エラーは、より多くのピクセルを使用することではなく、ピクセルを保持することによって修正する必要があります。
フィルタリング設定
TSMP データを運ぶテクスチャの場合:
- 可能な場合はポイント フィルタリングを使用します。
- ミップマップを避けます。
- TSMP レンダー テクスチャのアンチエイリアスを無効にします。
- 送信者と受信者の間で色空間とサンプリングの一貫性を保ちます。
- TSMP 領域がピクセルどおりであることがわかっている場合を除き、OBS で画像のサイズを変更しないでください。
OBS とキャプチャ設定
OBSを使用する場合:
- Spout の入力または出力が OBS に必要な場合は、Spout2 プラグインをインストールします。
- 可能な場合は、TSMP 出力解像度でキャプチャします。
- スケーリングフィルターは避けてください。
- 色補正フィルターは避けてください。
- TSMP 領域を完全に表示しておきます。
- レシーバーの入力テクスチャが、元のエンコーダーのレンダリング テクスチャではなく、OBS 出力であることを確認します。
最初の輸送テスト
複雑なアバターを同期する前に:
TSMPNetworkGameObjectToggleを追加します。- ローカルの切り替えを確認します。
- テクスチャ パスを介して遅延デコードされたトグルを確認します。
- 変換同期を追加します。
- 高帯域幅の同期コンポーネントを最後に追加します。
トグルが到着しない場合は、データを追加する前にトランスポートとデコーダのステータスを修正してください。