【UE5】Level Instance の使い方

UE5
スポンサーリンク

UE5で追加された機能の「World Partition」に関連した機能で「Level Instance」という機能があります。

簡単に言うと、レベル上で配置した複数のアクターを1つのレベルにまとめて保存し、そのまとめたアクター群(レベル)を再利用できる機能です。

サブレベルではなく、Level Instanceを使うことで、World Partitionでそれらをストリーミングすることができます。

その概要や使い方をご紹介します。

レベルやサブレベルについては、こちらの記事でも解説していますので、レベルの概念などがイマイチわからない方は、まずは、こちらをご覧ください。

この記事は、こんな方におすすめです !
  • レベルに配置したアクターを1つにまとめたい
  • プロップや背景などのスタティックメッシュをUE内で構築して、再利用できるにしたい
  • モジュラーアセットを使用することが多い
スポンサーリンク

World Partition とは?

Level Instanceについて説明する前にWorld Partitionについて、少し紹介します。
というのも、Level Instanceは、World Partitionに関連した機能であり、使用するうえでも関わってくるからです。

UE4では、広大なマップや多くの背景、プロップを配置する時に、メモリや処理負荷の観点から、レベルを分けることが多くありました。

しかし、World Partitionでは、レベルを自動的にグリッドで分け、そのグリッド単位でプレイヤーの距離に応じたロード、アンロードすることができるようになりました。

そのため、従来のようにレベルを分けて、ロード、アンロードを自分で実装する必要がなくなり、とても便利になりました!

最近、リリースされたUE5のサンプルプロジェクト「Stack O Bot」や「古代の谷」でも使用されています。

「Window」→「World Partition」から手動でロードなどをできるウィンドウを開くことができます。

Stack O Bot のWord Partition

詳しい使い方は、公式ドキュメントをご覧ください。

World Partition
World Partition システムの概要と使用方法の説明です。
スポンサーリンク

アクターをまとめるのに便利な Level Instance

使い方は、とても簡単。
まとめたいアクターを全て選択して、右クリック→「Create from section」→開いたウィンドウで「OK」を押すだけ!(設定項目については、後ほど)
レベルを保存する場所を尋ねられるので、任意の場所に保存します。

Create from section を押すと開くウィンドウ

保存が完了すると、Level Instance アクターに置き換わります。
また、コンテンツブラウザにもレベルとして、保存されています。

Level Instanceの設定項目:Typeについて

いくつかの設定項目があるうちの、一番上の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は実験的段階の機能なようなのでお気を付けください。

Packed の中でもBPアクターを作るものと、作らないものがあります。
そのLevel Instanceに、何かしら機能などを仕込みたい場合は「Packed Level Instance Blepritnt」にすると便利そうです。
また、わざわざレベルとして開かなくても、サムネイルやBPを開くだけで、どのようなLevel Instanceか確認できるのも便利です。

また、Packedでは、スタティックメッシュ以外は使用できません

スポンサーリンク

Level Instance の再利用

保存した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として扱うことができます。

先ほど紹介した通り、 「Level Instance」 は、それぞれが単純にアクターとして扱われ、 「Packed Level Instance」 は、それぞれが Instance Static Meshとして扱われます。

Level Instance の編集

Level Instance は、わざわざレベルを開かなくても、配置しているレベルから編集することができます。

(Packed)Level Instanceアクターを選択して、Detailsの「Edit」を押すことで編集することができます。
含まれているアクター以外は、白くなり、Level Instance内のアクターのみを移動したり、編集することができます。

移動など以外にも、新たにアクターを追加したりすることもできます。

編集が完了したら、アウトライナーから、そのLevel Instance アクターを選択して(その中のスタティックメッシュではなく)、「Commit Changes」を押すことで、変更を保存することができます。

スポンサーリンク

その他のアクターを1つにまとめる方法

アクターをまとめたりする方法として、UE5では、Level Instanceが一般的になりそうですが、アクターをまとめたり、グループ化する方法は他にもあるので、簡単に紹介します。

  • Merge Actors
  • Convert Actors To Static Mesh
  • Convert Section To Blueprint Class(BPアクター化)
  • Group

などがあります。

どれもレベル上で複数のアクター選択した状態で使用します。

Merge Acotrs

アクターの右クリックから開くメニューにあります。
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

Merge Actors同様に アクターの右クリックから開くメニューにあります。

Merge to a single Static Meshと同じように単純に1つスタティックメッシュにまとめます。

しかし、Merge Actorsの方は、細かな設定ができます。

Convert Section To Blueprint Class

こちらは、BPアクターに(Child Actor Componentで)まとめます。

こちらは、右クリックからではなく、エディタ上部の「Blueprints」ボタンから行うことができます。

Group

こちらは、1つのスタティックメッシュにまとめたりせず、レベル上でまとめて移動したりするのに役立ちます。

複数アクターを選択して、右クリック→「Groups」でグループ化したり、解除したりすることができます。

グループ化すると、ワールドアウトライナーに「GroupActor」が表示されます。

スポンサーリンク

まとめ

今回は、複数のアクターを1つにまとめる手段として、Level Instance の使い方をご紹介しました。

複数のアクターを選択して、右クリックから、「Level Instance」を選択することで関単にまとめることができます。

その他のMerge Actorsなどと違って、1つのアクターにまとめるのではなく、1つのレベル(.umap)にまとまるのが特徴です。

Packedでは、Instanced Static Meshとしてもまとめることができるので、ドローコールを減らすのにも役立ちますし、何よりも、複数のアクターで構築した背景などを簡単に再利用することができます。

ぜひ使ってみてください!

このサイトでは、このほかにもUE5の使い方やTipsなどを紹介してますので、ぜひうご覧ください!

UE5
「UE5」の記事一覧です。

最後までご覧いただきありがとうございました!

コメント

タイトルとURLをコピーしました