アクターのプロパティの同期¶
マルチプレイヤーゲームでは、オブジェクトのいくつかのプロパティをクライアント間で同期する必要があります。
ブループリントにStrix Replicatorコンポーネントがアタッチされていると、Strixはアクターブループリントのプロパティを同期できます。
Strixのプロパティ同期は、既存のUEネットワークサブシステムを置き換えます。これは、アクターのプロパティのReplicatedとRepNotifyのフラグを使用して行われます。オーナーであるアクターのプロパティの値が、他のクライアント上にあるレプリカのアクターに複製されます。
Unrealの基本型とコンテナーは複製できます。
更新を行う頻度は、Strix ReplicatorコンポーネントのTicks Per Secondの設定によって決まります。
複製されたプロパティ¶
[マイブループリント] > [変数] の下にあるアクタープロパティは複製される場合があります。変数を選択し、[詳細] の [レプリケーション] フラグを [Replicated] に変更すると、そのプロパティは複製用にマークされます。Strixは任意の基本型か構造体の値を同期できますが、オブジェクト型は同期できません。
RepNotify¶
プロパティの値が変化したときに何らかのアクションを行うべき場面があります。
Replicatedの代わりにRepNotifyを設定すると、UEはOnRep_{プロパティ名}という名前の新しい関数をブループリントの関数パネルに追加します。値が変化するとこの関数が呼び出されます。
注釈
ブループリントではないアクターの複製はサポートされていません。