TSMPSetup
TSMPSetup を使用して、TSMP のシーンを準備します。
エンコーダー、デコーダー、コーデック、レンダーテクスチャ、ネットワーク ID、生成されたバインディングデータを接続します。VRChat SDK の有無にかかわらず、同じコントローラープレハブとインスペクターを使用します。
必要なときに
シーン内のコントローラーは、インポート後、Hierarchy や Setup の設定が変わったときに自動で準備されます。シーンの保存、Play モードへの移行、ビルドの前にも準備されます。変換メニューや SDK のない環境だけの追加手順は必要ありません。
次のような変更は自動で反映されます。
TSMPNetwork*コンポーネントの追加または削除。- どのオブジェクトをエンコードまたはデコードするかを変更する。
- エンコーダ出力のレンダリング テクスチャを置き換えます。
- デコーダーのソース テクスチャを置き換えます。
- コーデックの選択を変更します。
- 手動ネットワーク ID の変更。
- TSMP コンポーネントをプレハブに移動したり、プレハブから移動したりする。
エンコードされたテクスチャが変化しても受信側が動かない場合は、Bindings タブとデコーダーの入力テクスチャを確認してください。Apply Setup は手動で更新したい場合のボタンであり、編集のたびに押す必要はありません。
一般的なワークフロー
TSMPController.prefabをシーンにドラッグします。- [リファレンス] タブでテクスチャとシーンのリファレンスを割り当てます。
- [コーデック] タブで Luma4 が選択されていることを確認します。
- TSMP 同期コンポーネントをオブジェクトに追加します。
- Bindings タブに同期したいオブジェクトが表示されていることを確認します。
- 再生モードに入るか、VRChat でテストします。
- 同期されたオブジェクトを移動または操作している間、
TSMPDebugCanvasを監視します。
タブ
| タブ | 用途: |
|---|---|
| 参照 | エンコーダー、デコーダー、テクスチャ、レンダー テクスチャ、および共有シーン参照を割り当てます。 |
| コーデック | Luma4 ハンドラーを選択し、コーデック パッケージのメタデータを表示し、コーデックの検出を更新します。 |
| バインディング | 同期された動作、生成されたバインディング、およびネットワーク ID を確認します。 |
| デバッグ | 手動エンコード アクションを実行し、セットアップ診断を検査します。 |
最初に何を割り当てるか
プレハブはエンコーダー、デコーダー、コーデック、作業用テクスチャの参照を自動で準備します。シーンに合わせて次の項目を確認、変更してください。
| フィールドグループ | 何を割り当てるか |
|---|---|
| エンコーダ | コントローラー プレハブの TSMPEncoder。 |
| デコーダ | コントローラー プレハブの TSMPDecoder、または受信機デコーダー。 |
| エンコーダ出力 | キャプチャまたは表示されるレンダー テクスチャ。 |
| デコーダソース | 受信した TSMP 画像を含むテクスチャ。 |
| ペイロードバイトテクスチャ | ペイロード バイトの読み取り中に使用されるデコーダ作業テクスチャ。 |
| コーデック | Luma4 ハンドラー。 |
デコーダが OBS または別のキャプチャ パスから受信している場合、Decoder source は生のエンコーダ出力テクスチャではなく、キャプチャされたテクスチャである必要があります。
初期設定ではローカルテストのため、エンコーダー出力をデコーダー入力として使用します。VRChat SDK をインストールしてもこの設定は変わりません。外部ストリームを受信するときは、受信画像を明示的に指定してください。
パッケージのレンダーテクスチャとマテリアルはテンプレートです。各コントローラー用のコピーは Assets/TSMPGenerated に自動生成されるため、シーンと一緒にバージョン管理に含めてください。コントローラーを複製すると作業用テクスチャも分離されます。パッケージ外でユーザーが指定したテクスチャは維持されます。
セットアップを適用する
自動準備と任意の Apply Setup ボタンは、同じランタイムデータを更新します。
- 選択したコーデック参照を割り当てます。
- フレームのレイアウトと積載量を計算します。
- 有効な場合、TSMP レンダリング テクスチャのサイズを変更します。
- エンコーダーとデコーダーのバインディング テーブルを構築します。
- ネットワーク ID を割り当てまたは更新します。
- コーデックのデコード素材を設定します。
- 必要に応じてランタイム コーデック インスタンスを作成します。
適用後、「バインド」タブを確認してください。同期する予定のコンポーネントがリストにない場合、エンコーダーはそのコンポーネントを送信しません。
安全なデフォルト
以下から始めます:
- 自動コーデック検出が有効になっています。
- Luma4 が選択されました。
- 参照を準備できるようにコントローラーをシーンに維持します。
- 生成されたネットワーク ID。
- デフォルトのブロック サイズとサンプル サイズ。
TSMPDebugCanvasはテスト中に表示されます。
手動 ID とカスタム参照は、基本ストリームが機能した後にのみロックダウンしてください。
よくある設定ミス
| 症状 | おそらくセットアップの問題 |
|---|---|
エンコーダーは実行されますが、payload=0 | 設定したバインディング範囲に有効な TSMP ネットワークコンポーネントがありません。 |
| デコーダーはフレームを認識しますが、何も適用しません | バインディングが受信コンポーネントと一致しないか、受信補間が None です。 |
| Luma4がありません | コーデック パッケージまたはカタログがインポートまたは検出されませんでした。 |
| プレイヤーを追加するとデータが消える | ペイロード容量が新しいデータ セットに対して小さすぎます。 |
| エディタの出力は古いコーデックを使用します | 選択したコーデック、エンコーダー参照、表示中のテクスチャがこのコントローラーの出力かを確認してください。 |