fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE5 レベルインスタンス(Level Instance)を使ってサブレベル(Sub Level)の動的読み込みと同じような処理をする(Level Instance)

レベルインスタンス(Level Instance)を使ってサブレベル(Sub Level)の動的読み込みと同じような処理をする方法です。

この方法が想定している使い方なのかはわからないのですが、
とりあえず簡単にサブレベルの動的読み込みと同じような挙動ができたのでメモです。

レベルインスタンス(Level Instance)の使い方というよりは、
UE4 でやっていたサブレベルと同じような制御を再現
した。みたいなものになります。

レベルインスタンス(Level Instance)の公式ドキュメントはこちら。

・Level Instancing
https://docs.unrealengine.com/5.0/ja/level-instancing-in-unreal-engine/

それとこちらもすごく参考になります。

・【UE5】Level Instance の使い方
https://metatimecg.com/ue5-levelinstance/

まずはこんな感じで普通のサブレベルの制御と同じくレベルを作成します。
サブレベルをレベルインスタンスに置き換える008
画像右側の「LV_Add」というレベルを作ってみました。

このレベルがサブレベルになるように構成します。
サブレベルをレベルインスタンスに置き換える000

サブレベルに球を配置してサブレベルが読み込まれた時に変化がわかるようにしました。
サブレベルをレベルインスタンスに置き換える001
このパーシスタンとレベルにサブレベルを読み込むと…
サブレベルをレベルインスタンスに置き換える002
こんな感じで画面中央付近に球がサブレベルによって追加されます。

サブレベルの読み込みは通常だとこんな感じになります。
サブレベルをレベルインスタンスに置き換える003
今回は「Load Stream Level(by Name)」を使いました。

上記のようなサブレベルの挙動を「レベルインスタンス(Level Instance)」を使ってやってみます。

まずは「Level Instance」を継承したBPを作成します。
サブレベルをレベルインスタンスに置き換える004

こんな感じで「Level Instance」のBPができました。
サブレベルをレベルインスタンスに置き換える008
画像左側の「BP_LevelInstanceAdd」になります。

作成した「Level Instance」のBPを開いて、
レベルの「Level」に最初に作成したサブレベルを指定
します。
サブレベルをレベルインスタンスに置き換える005

基本的には設定はこれで終わりです。

この「レベルインスタンス(Level Instance)のBP」を動的に切り替える実装をします。

まず「レベルインスタンス(Level Instance)」は「Actor」を継承しています、
サブレベルをレベルインスタンスに置き換える004
このツリーをみると「Actor」を継承しているのがわかります。

そのため「Spawn Actor」を使ってスポーンさせることができます。
サブレベルをレベルインスタンスに置き換える006
こんな感じですね。

というわけで実行して作った「レベルインスタンス(Level Instance)のBP」をスポーンさせてみました。
サブレベルをレベルインスタンスに置き換える007
無事「レベルインスタンス(Level Instance)のBP」に設定したレベルが表示されました。

破棄する場合は「Destroy Actor」を使うことで破棄できます。

レベルインスタンス(Level Instance)本来の想定のやり方とは違うような気がするのですが、
このやり方だと、サブレベルの概念はそのままで扱えるので結構簡単でこれぐらいのわかりやすさがいいなーと思いました。

多分もっとうまいやり方がある気がするので、他の方がいい感じに記事とか書いてくれるのではないかと…!(他力本願

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/668-bcc387a3

TRACKBACK

PREV | PAGE-SELECT | NEXT