ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回はレベルに配置した[Trigger Box]アクターなどから別のレベルを呼び出す方法です。
トリガーボックスからレベルを変更
最近はオープンワールドで構築されたゲームが多いので、あまりレベルが変更されるシーンは少ないですが、ダンジョンなどの扉や魔法陣的なアクターを踏むことで別のマップに移動するシーンがゲームではあります。
今回はレベルに配置したアクターのイベントで別に用意したレベルに移動する処理を追加してみます。
こんな感じで配置した[Trigger Box]アクターに追加したイベントで
別のレベルにキャラクターを配置して再開します。
レベルブループリントにイベント追加
レベルに直接配置したアクターへのイベントは、[レベルブループリント]の[イベントグラフ]に追加できます。
具体的には次の手順で行います。
今回は、新しいレベルを作るのが面倒なのでサンプルとして、既存のレベルをコピーして代用します。
1.[ThirdPersonMap]レベルをコピーします。
2. コピーした[レベル]の名前を “Floor-1” に変更します。
3.[Floor-1]を開いて分かりやすいように各アクターの配置やマテリアルを変更して保存します。
4.[イベントグラフ]を開いて空いている場所で右クリックして表示された[このブループリントで使えるノード]画面で “Add On Actor Begin Overlap” を検索して追加します。
4.[On Actor Begin Overlap (Trigger Box)]ノードの実行ピンを伸ばして表示された[実行可能なアクション]画面で “Open Level (by Name)” を検索して追加します。
5. 追加された[Open Level (by Name)]の[Level Name]に ”Floor-1” を入力します。
ゲームを開始して、[Trigger Box]の付近にキャラクターを近づけると
別のレベルにキャラクターを配置して再開します。
まとめ
今回は、Unreal Engineのレベルに配置した[Trigger Box]などのアクターのイベントで別のレベルを表示して再開する方法について書きました。
キャラクターの状態などを継続しない場合には[Open Level]ノードを呼び出すだけで別のレベルを表示してゲームを再開することが可能です。
Unreal Engineの関数でアクターのイベントなどから別のレベルを表示したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。