Unreal Engine用Genvidクライアント/サーバー
Genvid MILE SDK アーキテクチャの準拠には、以下に基づいて2つの class を使用する必要があります。
APlayerController
AGameState
これらの 2 つの class は、クライアント/サーバーアーキテクチャを統合するのに役立ちます。
使い方
クライアントが所有する PlayerController は、権限を持つサーバにリモートプロシージャコール(RPC)を送信します( GenvidEvents および GenvidCommands コンポーネントを使用します)。
サーバーは RPC を受信し、対応するカスタムイベントをトリガします。次に、GameState class (Multicast) から接続されたクライアントのすべてに RPC を送信します。
クライアント
権限を持たないオーナー (クライアント) が RPC をサーバーに送信できるようにするには、Unreal Engine 4&5 の PlayerController
ベースの class を使用します。
これは、クライアントからサーバーに RPC を送信できる唯一の場所です。
Instantiation セクションで説明しているように、Genvid ストリーム/イベント/コマンドを PlayerController-class に追加する必要があります。
注釈
必ず Replicated
チェックボックスにチェックをつけてクライアント/サーバー フローを有効化してください。Genvid イベントのパラメータ を参照。
サーバー
権限を持つオーナー (サーバー) が、接続されたすべてのクライアントに RPC を送信できるようにするには、Unreal Engine 4&5 の GameState
ベースの class を使用します。
これは、サーバーからクライアントに RPC を送信できる場所です。
サーバーから RPC を送信するには
GameState
クラスで、 GenvidEvents と GenvidCommands の各GenvidEvent
とGenvidCommand
に対してカスタムイベントを生成してください。注釈
カスタムイベントパラメータシグネチャに注意してください。
GameState
は、 GenvidEvents 、 GenvidCommands で作成されたものと同じでなければなりません。。レプリケートモードを Multicast と Reliable に設定します。
この設定で、サーバーは、接続されているすべてのクライアントに RPC を送信します。
この段階で、常にクライアントの GameState にいます。 これでコードを呼び出すことができます。
ループを完了させるには、PlayerController に取り付けられている GenvidEvents または GenvidCommands コンポーネントから GameState カスタムイベントを呼び出します。