UE5で追加された機能の「World Partition」に関連した機能で「Level Instance」という機能があります。
簡単に言うと、レベル上で配置した複数のアクターを1つのレベルにまとめて保存し、そのまとめたアクター群(レベル)を再利用できる機能です。
サブレベルではなく、Level Instanceを使うことで、World Partitionでそれらをストリーミングすることができます。
その概要や使い方をご紹介します。
レベルやサブレベルについては、こちらの記事でも解説していますので、レベルの概念などがイマイチわからない方は、まずは、こちらをご覧ください。
- レベルに配置したアクターを1つにまとめたい
- プロップや背景などのスタティックメッシュをUE内で構築して、再利用できるにしたい
- モジュラーアセットを使用することが多い
World Partition とは?
![](https://metatimecg.com/wp-content/uploads/2021/08/ue5-WorldPatition.jpg)
Level Instanceについて説明する前にWorld Partitionについて、少し紹介します。
というのも、Level Instanceは、World Partitionに関連した機能であり、使用するうえでも関わってくるからです。
UE4では、広大なマップや多くの背景、プロップを配置する時に、メモリや処理負荷の観点から、レベルを分けることが多くありました。
しかし、World Partitionでは、レベルを自動的にグリッドで分け、そのグリッド単位でプレイヤーの距離に応じたロード、アンロードすることができるようになりました。
そのため、従来のようにレベルを分けて、ロード、アンロードを自分で実装する必要がなくなり、とても便利になりました!
最近、リリースされたUE5のサンプルプロジェクト「Stack O Bot」や「古代の谷」でも使用されています。
「Window」→「World Partition」から手動でロードなどをできるウィンドウを開くことができます。
![](https://metatimecg.com/wp-content/uploads/2022/01/LI-WorldPartition-1.gif)
詳しい使い方は、公式ドキュメントをご覧ください。
![](https://metatimecg.com/wp-content/uploads/cocoon-resources/blog-card-cache/bddcd51d22db8056298621de5cdd09af.png)
アクターをまとめるのに便利な Level Instance
![](https://metatimecg.com/wp-content/uploads/2022/01/LevelInstance-1.jpg)
使い方は、とても簡単。
まとめたいアクターを全て選択して、右クリック→「Create from section」→開いたウィンドウで「OK」を押すだけ!(設定項目については、後ほど)
レベルを保存する場所を尋ねられるので、任意の場所に保存します。
![](https://metatimecg.com/wp-content/uploads/2022/01/image-1.png)
保存が完了すると、Level Instance アクターに置き換わります。
また、コンテンツブラウザにもレベルとして、保存されています。
Level Instanceの設定項目:Typeについて
![](https://metatimecg.com/wp-content/uploads/2022/01/image-2.png)
いくつかの設定項目があるうちの、一番上のTypeについて。
- Level Instance:単純にレベルにそのままアクターが保存される
- Packed Level Instance: レベルにスタティックメッシュアクターが保存され、Instanced Static Meshとして扱われる
- Packed Level Instance Blueprint: ブループリントアクターとしてまとまり、レベルとBPの2つが保存され、Instanced Static Meshとして扱われる
大きくわけると、一番上の普通の「Level Instance」か「Packed ~」かで分けることができます。
Packed は、Instance Static Meshとして保存、配置されるので、同じスタティックメッシュが複数ある場合は、ドローコールを減らすことができます。
なので、アクターの配置の仕方や数によって選ぶのが良いと思いますが、Packedは実験的段階の機能なようなのでお気を付けください。
![](https://metatimecg.com/wp-content/uploads/2022/01/LevelInstance-3.jpg)
Packed の中でもBPアクターを作るものと、作らないものがあります。
そのLevel Instanceに、何かしら機能などを仕込みたい場合は「Packed Level Instance Blepritnt」にすると便利そうです。
また、わざわざレベルとして開かなくても、サムネイルやBPを開くだけで、どのようなLevel Instanceか確認できるのも便利です。
また、Packedでは、スタティックメッシュ以外は使用できません。
Level Instance の再利用
![](https://metatimecg.com/wp-content/uploads/2022/01/image-3.png)
保存したLevel Instanceを別の場所でも使いたい場合についてです。
「Packed Level Instance Blueprint」で保存した場合は、そのブループリントアクターをコンテンツブラウザからレベルにD&DするだけでLevel Instanceとして使用することができます。
しかし、その他、2つの方法で保存した場合は、単純にレベルで保存されているので、そのままD&Dすることはできません。
「Place Actor」で「level instance」と検索すると「Level Instance」と「Packed Level Instance」が出てきます。
どちらかをレベルに配置し、Detailsからレベルを選択することで、Level Instanceとして扱うことができます。
![](https://metatimecg.com/wp-content/uploads/2022/01/LevelInstance-4.jpg)
先ほど紹介した通り、 「Level Instance」 は、それぞれが単純にアクターとして扱われ、 「Packed Level Instance」 は、それぞれが Instance Static Meshとして扱われます。
Level Instance の編集
![](https://metatimecg.com/wp-content/uploads/2022/01/LevelInstance-2.jpg)
Level Instance は、わざわざレベルを開かなくても、配置しているレベルから編集することができます。
(Packed)Level Instanceアクターを選択して、Detailsの「Edit」を押すことで編集することができます。
含まれているアクター以外は、白くなり、Level Instance内のアクターのみを移動したり、編集することができます。
![](https://metatimecg.com/wp-content/uploads/2022/01/LevelInstance-Edit.jpg)
移動など以外にも、新たにアクターを追加したりすることもできます。
編集が完了したら、アウトライナーから、そのLevel Instance アクターを選択して(その中のスタティックメッシュではなく)、「Commit Changes」を押すことで、変更を保存することができます。
![](https://metatimecg.com/wp-content/uploads/2022/01/LevelInstance-commit.jpg)
その他のアクターを1つにまとめる方法
![](https://metatimecg.com/wp-content/uploads/2022/01/ue5-merge_actors.jpg)
アクターをまとめたりする方法として、UE5では、Level Instanceが一般的になりそうですが、アクターをまとめたり、グループ化する方法は他にもあるので、簡単に紹介します。
- Merge Actors
- Convert Actors To Static Mesh
- Convert Section To Blueprint Class(BPアクター化)
- Group
などがあります。
どれもレベル上で複数のアクター選択した状態で使用します。
Merge Acotrs
![](https://metatimecg.com/wp-content/uploads/2022/01/ue5-merge_actors_2.jpg)
アクターの右クリックから開くメニューにあります。
3種類の方法で1つのスタティックメッシュにまとめることができます。
- Merge to a single Static Mesh:単純に1つのスタティックメッシュにまとめるだけ
- Merge and simplify to a single static mesh actor:ポリゴン数を減らしたり、マテリアルを1つにまとめるなどの最適化をしつつ、1つのスタティックメッシュにまとめる
- Merge to an actor with instanced static mesh component:1つのアクターにまとめて、Instanced Static Mesh Componetとして、スタティックメッシュを使用する
一番下の「Merge Actors Settings」では、各マージの仕方の設定を変更して、マージすることができます。
Convert Actors To Static Mesh
![](https://metatimecg.com/wp-content/uploads/2022/01/ConverToSM.jpg)
Merge Actors同様に アクターの右クリックから開くメニューにあります。
Merge to a single Static Meshと同じように単純に1つスタティックメッシュにまとめます。
しかし、Merge Actorsの方は、細かな設定ができます。
Convert Section To Blueprint Class
![](https://metatimecg.com/wp-content/uploads/2022/01/ConvertToBPActor.jpg)
こちらは、BPアクターに(Child Actor Componentで)まとめます。
こちらは、右クリックからではなく、エディタ上部の「Blueprints」ボタンから行うことができます。
Group
![](https://metatimecg.com/wp-content/uploads/2022/01/ue5-group.jpg)
こちらは、1つのスタティックメッシュにまとめたりせず、レベル上でまとめて移動したりするのに役立ちます。
複数アクターを選択して、右クリック→「Groups」でグループ化したり、解除したりすることができます。
グループ化すると、ワールドアウトライナーに「GroupActor」が表示されます。
まとめ
![](https://metatimecg.com/wp-content/uploads/2022/01/LevelInstance-5.jpg)
今回は、複数のアクターを1つにまとめる手段として、Level Instance の使い方をご紹介しました。
複数のアクターを選択して、右クリックから、「Level Instance」を選択することで関単にまとめることができます。
その他のMerge Actorsなどと違って、1つのアクターにまとめるのではなく、1つのレベル(.umap)にまとまるのが特徴です。
Packedでは、Instanced Static Meshとしてもまとめることができるので、ドローコールを減らすのにも役立ちますし、何よりも、複数のアクターで構築した背景などを簡単に再利用することができます。
ぜひ使ってみてください!
このサイトでは、このほかにもUE5の使い方やTipsなどを紹介してますので、ぜひうご覧ください!
![](https://metatimecg.com/wp-content/uploads/2022/09/tag-UnrealEngine5-160x90.jpg)
最後までご覧いただきありがとうございました!
コメント