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

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 を使用します。

レシーバオブジェクトが更新されない場合

チェック:

  1. 受信機コンポーネントが有効になり、アクティブになります。
  2. 受信補間が None ではありません。
  3. ネットワーク ID が送信者と一致します。
  4. TSMPSetup はコンポーネントの追加後に適用されました。
  5. デコーダのメッセージ数がゼロより大きい。