このページは4.10.2を対象としています。
更新履歴
このページでは、下の動画のように、マルチプレイヤーでマップ移動を実装する方法についてまとめてみます。
Unreal Engineでマップ移動するには、 シングルプレイヤーではOpen Levelノードを使えば簡単にできますが、 マルチプレイヤーではこのノードは使えないようです。
サーバーを起動する際、コマンドライン引数を使って設定をいろいろ変えることができます。 その中にPORTという、ポート番号を指定するものがあります。 例えば「D:\_GameDev\UnrealEngine-release\Engine\Binaries\Win64\UE4Editor.exe "F:\Unreal Projects\MMORPG\MMORPG.uproject" LobbyMap?listen -game -log -PORT=7777」のように指定すると、 ポート番号が7777に指定されます。 このように、1つのマップに1つのポート番号を割り当てていけば、 「Execute Console Command」ノードを使って「open 127.0.0.1:ポート番号」のように指定すれば、 マルチプレイヤーでもマップ移動ができます。
マップの特定の位置に入った時にマップ移動する処理を作る場合、 TriggerBoxなどを使うと思いますが、 マルチプレイヤーでは少し注意が必要です。 あるアクターがTriggerBoxに入った際、 OnActorBeginOverlap(TriggerBox)イベントは全てのクライアントで発生してしまうのです。 これを回避するには次の画像ように判定するとよかったです。