TSMPNetworkBehaviour
TSMPNetworkBehaviour は、TSMP が送受信できるデータの基本コンポーネントです。
ほとんどのユーザーは、同期コンポーネント にリストされている既成の TSMP ネットワーク コンポーネントを操作します。各コンポーネントに表示される共有設定を理解することのみが必要です。
ネットワークID
同期された各コンポーネントにはネットワーク ID があります。送信者と受信者はこの ID を使用して、メッセージとオブジェクトを照合します。
TSMPSetup を使用して ID を割り当て、更新します。固定マッピングが必要な場合にのみ、ID を手動で編集します。
ルール:
- ID は、ストリームを共有するアクティブな TSMP ネットワーク動作間で一意である必要があります。
- 送信者と受信者が ID に同意する必要があります。
- コンポーネントを追加、削除、または移動した後、
Apply Setupを再実行します。 - 2 つの動作が同じネットワーク ID を共有する場合、受信側はデータを間違ったオブジェクトに適用したり、メッセージを無視したりする可能性があります。
手動 ID は高度なオプションとして扱います。インスペクターは、誤って変更されるのを防ぐために、デフォルトでフィールドをロックします。
受信補間
コンポーネントごとに受信補間を設定します。
| モード | いつ使用しますか |
|---|---|
| なし | このオブジェクトは受信した値を適用しないでください。送信者専用オブジェクトに便利です。 |
| 離散 | 値は最新の受信状態にスナップする必要があります。イベント、トグル、アニメーターの状態、および低レートの値に適しています。 |
| 継続的 | 値は受信状態間をスムーズに移動する必要があります。スムージングをサポートするトランスフォームおよびポーズ ターゲットに適しています。 |
None はコンポーネントの送信を停止しません。これは、受信側にそのコンポーネントの受信値を無視するように指示するだけです。
アクティブ状態
TSMP は、コンポーネントとゲームオブジェクトのアクティブ状態をメインのオン/オフ スイッチとして使用します。
- コンポーネントを無効にして、その動作が関与しないようにします。
- ゲームオブジェクトを無効にして、そのゲームオブジェクトに対するすべての TSMP の動作を停止します。
- 同期されたオブジェクトを追加、削除、または永続的に再編成する場合は、セットアップを再実行します。
一時的なランタイム有効/無効状態は、エンコードおよび受信中に考慮されます。永続的なシーン構造の変更の後には Apply Setup を付ける必要があります。
RPC の送信
SendTransRPC から TSMPNetworkBehaviour を使用します。
SendTransRPC(nameof(ToggleObject), RPCTarget.All);
対象:
| ターゲット | 何が起こるのですか |
|---|---|
Local | 呼び出し元のみがメソッドを実行します。 TSMP 経由では何も送信されません。 |
Remote | ストリーム遅延の後、受信者のみがメソッドを実行します。 |
All | 呼び出し側はすぐに実行され、受信側はストリームの遅延後に実行されます。 |
最小限の例として、TSMPNetworkGameObjectToggle を使用します。
レシーバオブジェクトが更新されない場合
チェック:
- 受信機コンポーネントが有効になり、アクティブになります。
- 受信補間が
Noneではありません。 - ネットワーク ID が送信者と一致します。
TSMPSetupはコンポーネントの追加後に適用されました。- デコーダのメッセージ数がゼロより大きい。