春日部つむぎ no ゲーム作ってみよう!【UE5/UE4】 - Level Instanceを使ってみよう!【UE5】


https://youtu.be/FEVeDICHSIg?si=qXLuFfqyobt7niHu

00:00 オープニング
00:42 1.Level Instanceのタイプ
00:52 2.Level Instance
01:05 2-1.Level Instanceの作成
02:04 2-2.Level Instanceの分割
02:40 2-3.Levelに配置
02:55 2-4.Level Instanceの編集
03:46 3.Packed Level Blueprint
04:06 3-1.Packed Level Blueprintの作成
05:15 3-2.Packed Level Actorの分割
05:50 3-3.Levelに配置
06:10 3-4.Packed Level Blueprintの編集
06:56 4.Level InstanceとPacked Level Blueprintの違いは?
08:20 5.注意点
08:53 ざっくりまとめ!
09:10 設定ファイル
09:15 エンディング

1.Level Instanceのタイプ 00:42

Level Instanceには、「Level Instance」と「Packed Level Blueprint」の2つのタイプがあります。

2.Level Instance 00:52

Level Instanceは、複数のActorを組み合わせてサブLevelを作成します。
作成したLevel Instanceはプロジェクト全体で繰り返して使用することができます。

2-1.Level Instanceの作成 01:05

使用したいActorの組み合わせを選択します。

「右クリック」>「Level」>「Level Instanceの作成」を選択します。

ダイアログ ボックスが表示されます。
重要なのが「Pivot Type」です。
軸を何処にするかですね。
Center Min Z、Center、Pivot Actor、World Originとありますが
無難に「Center Min Z」を選択します。
「Center Min Z」は、Z軸の最小値、つまり縦軸の一番下に軸を配置します。

[OK] をクリックします。

任意名前を「LI_hut」にして保存します。

これで、「Level Instance」が作成されました

アウトライナーを見ると、
選択したアセットはLevel Instance Actorの子Actorになり、選択できなくなります。

2-2.Level Instanceの分割 02:04

元に戻すには、
「右クリック」>「Level」>「分割」>「Level Instanceを分割」
で、Level Instanceを分割します。

Level Instance Actorがアウトライナーからなくなり、
選択していたアセットが子Actorから元のActorに置き換えられます。

注意として、一度分割すると
Cntl+Zを押しても元に戻すことはできません。

または、分割により、
コンテンツ ブラウザに保存したLevel Instanceには影響はありません。

2-3.Levelに配置 02:40

配置したいLevelを開きます。
作成したLevel Instance「LI_hut」をドラッグアンドドロップで配置します。

複数のInstanceをプロジェクト全体で繰り返し配置することができます。

2-4.Level Instanceの編集 02:55

ビューポートでLevel Instanceを選択します。
「右クリック」>「Level」>「編集」を選択します。

または、「詳細」 パネルの「編集」ボタンをクリックします。

選択したLevel Instance Actor以外がグレー表示されます。

子Actorが個別に選択でき、編集することができます。

Actorの位置を移動させることはもちろん。
ライトの色を変更したり、マテリアルを変更することができます。

編集をキャンセルするには、Escキーを2回押すとキャンセルできます。

編集が完了したら、終了をクリックします。

Level Instanceに行われた変更は、プロジェクトのすべてのLevel Instanceに反映されます。

コンテンツ ブラウザに保存したLevel Instanceにも反映されます。

一気に反映させることができるので、超便利ですね。

3.Packed Level Blueprint 03:46

Packed Level Blueprintは、
複数で組み合わされたStatic Meshesをレンダリング用に最適化されたBlueprint Actorとして作成されます。
レンダリング用に最適化されたとは、
つまり、Static MeshesがInstanced Static Meshesで作成されるのでDrawCall(画面描画の処理)が抑えられます。
こちらを使う方が負荷が軽いってことですね。

3-1.Packed Level Blueprintの作成 04:06

Level Instanceと同様に、
使用したい Actorの組み合わせを選択します。

「右クリック」>「Level」>「Packed Level Actorを作成」を選択します。

ダイアログ ボックスが表示されます。
[OK] をクリックします。

Level Instanceを保存するように求められます。
任意名前を「LI_hutBP」にして保存します。

Packed Level Blueprintを保存するように求められます。
名前は頭にBPP_がついた名前が自動で付与されるのでそのまま保存します。
「BPP_LI_hutBP」

あれれ?エラーがでて、Light Actorが削除されたよ?
はい、というのも
Packed Level Blueprintは、
Static Meshesしか作成することができないからです。
Static Meshes以外のコンポーネントは弾かれます。

また、
作成されるのは、Level InstanceとPacked Level Blueprintの2つが作成されます。

アウトライナーを見ると、
選択したアセットは一つのPacked Level Actorになります。

3-2.Packed Level Actorの分割 05:15

元に戻すには、
Level Instance同様、
「右クリック」>「Level」>「分割」>「Level Instanceを分割」
で、分割します。

Packed Level Actorがアウトライナーからなくなり、
選択していたアセットが元のActorに置き換えられます。

こちらも、一度分割すると
Cntl+Zを押しても元に戻すことはできません。

または、分割により、
コンテンツ ブラウザに保存したLevel InstanceとPacked Level Blueprintには影響はありません。

3-3.Levelに配置 05:50

配置したいLevelを開きます。

Packed Level Blueprintを配置します。
作成したPacked Level Blueprint「BPP_LI_hutBP」をドラッグアンドドロップで配置します。
Level Instance同様、複数のInstanceをプロジェクト全体で繰り返し配置することができます。

3-4.Packed Level Blueprintの編集 06:10

「右クリック」>「Level」>「編集」を選択します。

または、「詳細」 パネルの「編集」 ボタンをクリックします。

選択したPacked Level Blueprint以外がグレー表示されます。
個別に Actorが選択でき、編集することができます。

Actorの位置を移動させたり、
マテリアルを変更することができます。

編集が完了したら、終了をクリックします。

Packed Level Blueprintに行われた変更は、プロジェクトのすべてのLevel Instanceに反映されます。

コンテンツ ブラウザに保存したPacked Level Blueprintにも反映されます。

一気に反映させることができるので、超便利ですね。

4.Level InstanceとPacked Level Blueprintの違いは? 06:56

Packed Level Blueprintは、
Static Meshes以外のコンポーネントが使えないだけなのでしょうか?

Packed Level BlueprintはBlueprintって言うだけあってBlueprintで編集することができます。

Packed Level Blueprint「BPP_LI_hutBP」を開きます。

コンポーネントを追加したり、
ビューポートで変更したり、
コンストラクションスクリプトやイベントグラフに記載することができます。

Blueprintを使うと個別に変更を加えることができます。
屋根の色を変えたりできます。

Level Instanceは、コピーを複数作成できるのに対して、
Packed Level Blueprintは、コピーを複数作成でき、Blueprintを使うことでそれぞれカスタマイズすることができます。

5.注意点 08:20

Packed Level Blueprintで、
コンポーネントを追加した後、
ビューポート上で編集を行うと

Level Instanceと紐づいているがために、
上書きされて、コンポーネントが削除されてしまいます。

Packed Level Blueprintで、ビューポート上で編集は使わない方が良さそうですね。

ざっくりまとめ! 08:53

  

  

設定ファイル 09:10


レベルインスタンスを使用するメリット

  • レベルインスタンスを使用すると、レベル編集がやり易く、編集時間を短縮できます。
  • インスタンスへの変更は、保存時にすべてのインスタンスに反映されます。
  • 変更内容がどのように影響するかをすぐに確認できます。
  • よく使用するスタティックメッシュ一式をすばやくコピーできます。