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

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

Choose your operating system:

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

この設定をしておくと、ゲーム内で再生された時、クライアントとサーバの両方で街灯に対して同じシーケンスが実行されます。

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