4.

UE5でレベルごとにゲームモードを変更する方法

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

Unreal Engine 5(UE5)では、各レベルごとに異なるGameModeを設定することが可能です。これにより、例えばチュートリアルステージでは特定の制限を設けたGameModeを適用し、本編では通常のルールで動作させるといったカスタマイズができます。本記事では、その具体的な方法について詳しく解説します。

レベルごとにGameModeを変更する理由

ゲーム開発において、レベルごとに異なるルールを適用したいケースは多々あります。例えば:

  • チュートリアル用の簡易版ルールを適用する
  • ボス戦専用の特殊な挙動を持たせる
  • マルチプレイヤーとシングルプレイヤーで異なるルールを適用する

これらを実現するには、UE5のレベル設定で個別のGameModeを指定するのが有効な方法です。

レベルごとにGameModeを設定する方法

UE5では、レベルごとに異なるGameModeを設定する方法が2つあります。

方法1: レベルエディタで設定する

UE5のエディタ上で各レベルに異なるGameModeを設定できます。

手順:

  • エディタで変更したいレベルを開く
  • 「World Settings」ウィンドウを開く(表示されていない場合は、メニューの「Window」→「World Settings」で表示)
  • 「Game Mode Override」のドロップダウンから適用したいGameModeを選択

この設定を行うことで、特定のレベルに対して独自のゲームルールを適用できます。

方法2: ブループリントで動的に変更する

ゲーム中に動的にGameModeを変更したい場合は、ブループリントを活用します。

手順:

  • 「GameModeBase」または「GameMode」のブループリントを開く
  • 「Begin Play」イベントを追加
  • 「Set Game Mode」ノードを追加し、条件に応じて適用するGameModeを設定

例えば、プレイヤーの選択によって異なるルールを適用したい場合に有効です。

GameModeをレベル間で引き継ぐ方法

デフォルトでは、新しいレベルに移行すると、デフォルトのGameModeにリセットされます。これを回避し、レベル間でGameModeを引き継ぐ方法もあります。

手順:

  • 「GameInstance」を作成し、カスタム変数としてGameModeのクラスを保存
  • レベルロード時に「GameInstance」から取得して適用

まとめ

UE5では、エディタの「World Settings」から簡単にレベルごとのGameModeを設定できるほか、ブループリントを活用して動的に変更することも可能です。また、GameInstanceを利用すれば、異なるレベル間でGameModeを引き継ぐこともできます。

開発するゲームの仕様に応じて適切な方法を選び、最適なゲーム体験を提供しましょう。

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
  1. レベルを移動する方法
  2. レベルの「基本」テンプレートと「オープンワールド」テンプレートの違い
  3. Blueprintで現在開いているレベルが特定のレベルであるか調べる方法
  4. レベルごとにゲームモードを変更する方法
  5. 動的にインスタンスが属するレベルを変更する方法
  6. エディタ上でインスタンスが属するサブレベルを変更する方法
  7. とあるアクタから現在開いているレベルの変数にアクセスする方法
  8. プロジェクトを開いたときの最初のレベルを変更する方法