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

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

Windows
MacOS
Linux

1_3.png

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

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

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

ブループリントの詳細

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

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

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

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

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

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

1_3_Rep_Variables.png

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

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback