データ転送
Fusionのピア間のデータ転送方法は、主に4つあります。
- ネットワークプロパティ:
[Networked]
属性が付いたNetworkBehaviour
のプロパティは「状態」を表し、状態権限者の値がその他すべてのピアへ自動的に複製されます。 - リモートプロシージャコール:
[Rpc]
属性が付いたNetworkBehaviour
のメソッド呼び出しは、ルーム内の他のピアでも実行されます。これは本質的にメッセージのラッパーで、大きなペイロードを送信する際には使用すべきではありません。 - データストリーミング:RPC経由で同期するには大きすぎるようなデータには、FusionのデータストリーミングAPIが使用できます。データは自動的に小さなフラグメントに分割され、対象のピア上で再構築されます。
- プレイヤー入力:これはホストモードのみで使用され、共有モードでは使われません。
INetworkRunnerCallbacks.OnInput()
から毎ティック収集された入力は、サーバーに送信されます。入力はバッファに保存され、各ティックのシミュレーションで使用されます。FixedUpdateNetwork()
内のGetInput()
で取得できる入力は、ネットワークオブジェクトの入力権限を持つプレイヤーの入力が返されます。