1.3 - 変数のレプリケーション

ネットワーク機能のサンプル レベルの概要、サンプル 1.3:変数のレプリケーション

Choose your operating system:

Windows

macOS

Linux

1_3.png

サーバー クライアント の両側から見るために、 [Play] ダウンリストで、 [Number of Clients (クライアント数)] フィールドを 2 に設定します。

ゲームプレイに重要な変数はネットワーク (サーバー) 側で のみ 編集し、知っておく必要のある場合のみリモートのマシン (クライアント) にリプリケートします。

このサンプルでは、ゴーストのヘルス値がネットワーク (サーバー) 側のタイマー上でのみ修正されます。レプリケートされていないゴーストの場合、リモートのマシンが更新されたヘルス値を受け取ることは絶対にありません。レプリケートされたゴーストの場合、サーバーがヘルス値を変更するたびに更新を受け取ります。

ブループリントの詳細

BP_Ghost_Variable_Replication_None ブループリントのイベント グラフ (下の画像) で、 Initialize Health Update Health (3 秒おきに呼び出し) の両方がサーバー上でのみ発生することが分かります。

クリックしてフルサイズで表示

さらに、ティックするたびに、ゴーストのヘルス値のテキストが表示され、変数値を確認します。ただし、ブループリントの場合は、 Health の変数がレプリケートされる設定にはなっていないので、値は常に同じままです。

しかしながら、 BP_Ghost_Variable_Replication_Enabled イベント グラフ (下の画像) では、上記と同じ設定なのに Health 変数がレプリケートされる設定になっていることが分かります。

クリックしてフルサイズで表示

以下のように、変数の [Details] パネル内のチェックボックスを有効にすると、 Health の変数の レプリケーション が可能になります。

1_3_Rep_Variables.png

変数をレプリケート可能にすると、以下のゲームプレイのサンプルで分かるように、ブループリントはサーバーが実行した変数に対する更新を受け取ります。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる