1.4 - 変数のレプリケーション(RepNotify)

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

Windows
MacOS
Linux

1_4.png

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

レプリケートされた変数の値に対応してロジックを実行させたい場合がしばしばあります。RepNotify とマークされている変数には、ネットワーク権限のあるマシンとリモートマシンの両方で変数が変更されると自動的に呼び出される特別な関数があります。

このサンプルでは、ネットワーク権限のあるマシンが、街頭が RepNotify 変数を使って何色を表示するかを示すスカラー値の変更を制御します。値が変更されると、自動生成 OnRep 関数が呼び出され、このサンプルではマテリアル パラメータが更新されます。

ブループリントの詳細

BP_Stoplight_Variable_RepNotify ブループリントのイベント グラフ (下の画像) では、 ライト切り替えロジックを処理するために、スクリプトがネットワーク権限のあるマシンのみを呼び出しているのが分かります。ライトのステートを表す Streetlight Scalar 変数は特別に RepNotify とマークされ、値が変わるとクライアントとサーバーの両方が OnRep_StreetlightScalar 関数を呼び出します。

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

OnRep_StreetlightScalar 関数はその後、街頭の外見の更新処理するので、すべてのマシン上で有効になります。

RepNotify への変数の設定は、 [Replication (レプリケーション)] ドロップダウン メニューの変数の [Details (詳細)] パネルで行えます。

1_4_RepNotify.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