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

TSMPDecoder

受信側ではTSMPDecoderを使用します。 TSMP 入力テクスチャを読み取り、デコードされたメッセージを一致するシーン オブジェクトに適用します。

デコードの問題のほとんどは、入力テクスチャに未変更の TSMP イメージが含まれていないことが原因で発生します。レシーバーコンポーネントを変更する前に、テクスチャパスを確認してください。

必要なもの

  • エンコードされた TSMP フレームを含む入力テクスチャ。
  • 互換性のある Luma4 ハンドラー。
  • ペイロード バイト テクスチャ。
  • TSMP ネットワークの動作とバインディングの一致。
  • TSMPSetup は参照が割り当てられた後に適用されます。

使い方

  1. 入力テクスチャを割り当てます。
  2. 送信者と同じ Luma4 パスを使用します。
  3. TSMPSetup を通じてペイロード バイト テクスチャを割り当てるか自動サイズ設定します。
  4. 受信者オブジェクトに一致する TSMP ネットワーク コンポーネントがあることを確認します。
  5. Apply Setup」をクリックします。
  6. ログを監視するか、TSMPDebugCanvas でフレームのステータスを確認します。

有効なデコードはどのようなものですか

TSMPDebugCanvas では、デコーダが動作していると次のように表示されるはずです。

  • valid=yes
  • header=yes
  • 時間の経過とともに変化するフレームインデックス。
  • データ送信時のペイロード サイズが 0 より大きい。
  • 送信されるデータの種類に一致するメッセージ数。
  • 定常再生時の損失が少ない。

フレームは有効だがオブジェクトが移動しない場合は、ネットワーク ID、受信補間、および受信オブジェクトがアクティブかどうかを確認します。

デコード順序

デコーダは段階的に動作します。

  1. 入力テクスチャからヘッダー領域を読み取ります。
  2. マジック、バージョン、ヘッダー サイズ、および CRC を検証します。
  3. コーデック ID からコーデック ハンドラーを選択します。
  4. ペイロード バイトをペイロード バイト テクスチャにデコードします。
  5. ペイロードバイトを読み取ります。
  6. 変数状態メッセージと RPC メッセージをディスパッチします。

ステージが失敗すると、後のステージはスキップされます。たとえば、CRC エラーは、ペイロードのデコードが開始されないことを意味します。

受信補間

TSMPNetworkBehaviour には受信モードがあります。

モード結果
なし受信した値を無視します。
離散受け取った各値を直接適用します。
継続的コンポーネントがサポートしている受信ターゲットに向かってスムーズに進みます。

コンポーネントがデータを送信する必要があるが、受信データをそのオブジェクトに適用しない場合は、None を使用します。

CRC エラー

デコーダが CRC 不一致を記録する場合、フレームはデコード前に破損しています。最初に、スケーリング、フィルタリング、圧縮、および Luma4 設定の不一致を確認してください。

典型的な原因:

  • OBS の画像のサイズが変更されました。
  • マテリアルまたはカメラ効果によりピクセルが変更されました。
  • 受信機の入力が間違ったテクスチャです。
  • ヘッダー領域がトリミングされます。
  • 送信者と受信者が互換性のないテクスチャ レイアウト設定を使用しています。

一般的な修正

症状これを試してください
header=no完全な TSMP 画像がデコーダ入力に到達することを確認します。
valid=no CRC 警告ありトランスポートからスケーリング/フィルタリング/カラー処理を削除します。
msg=0エンコーダーのペイロードがゼロ以外であり、セットアップ バインディングが存在することを確認します。
RPC カウントがゼロのままになるTSMPNetworkGameObjectToggle でテストし、フレーム損失を確認します。
値は受信されますが、適用されません受信補間とアクティブ状態を確認します。