BLOGブログ

2019.03.27UE4/Mesh

[UE4] Instanced Static Meshへの変換

執筆バージョン: Unreal Engine 4.21

以前のブログでMerge Actorsについて取りあげました。

http://historia.co.jp/archives/2329/

 

Merge Actorsは当時と比べて機能が拡張されており、たとえばInstanced Static Meshを簡単に作れるようになっています。

あらためてご紹介しましょう。

まず、テスト用のレベルとして File>New Level… からVR-Basicを選び、既存の黄色Cubeを複製して並べました。

※同一のアクターを大量に何度も並べる際、Construction ScriptBlutilityを用意するのも手ですが、直接ビューポート上で確認しながら不規則に配置したいことも多々あります。今回はそのようなケースを想定します。

 

では、複製した大量のアクターをMerge Actorsを使ってInstanced Static Meshへ変換してみましょう。

 

ひとまとめにしたいスタティックメッシュアクターを選択した上で右クリックメニューからMerge Actorsを選びます。

Merge Actorsのウィンドウが表示されます。

以前のブログ(図の左)に比べアイコンタブが3つに増えていますね。

(左)以前ご紹介したマージアクターになります。

 

(中央)Proxy Geometry Tool

https://docs.unrealengine.com/en-us/Engine/Proxy-Geometry-Tool

今回は触れませんが、こちらはメッシュをまとめる際に頂点数も減らすことができます。

 

(右)今回扱う Instanced Static Mesh へまとめる機能になります。

 

さて、一番右のアイコンからメッシュをInstanced Static Meshへとマージしてみましょう。

ここでは下図の設定で、ウィンドウ右下のMerge Actorsを押しました。

すると、インスタンス化され画面右下に通知が出ます。

 

 

レベル上では選択していたメッシュ群が非表示になっており、新規に”Actor”が配置されています。

 

 

このActorはコンポーネントにInstanced Static Meshを持っています。

Actor内のコンポーネントを選択すると下にInstancesのプロパティ(下図赤枠)があるので開いてみましょう。

 

 

ずらっと各インスタンス(ここでは101個)のTransformが並んでいます。

このように選択したメッシュを簡単に Instanced Static Mesh へと変換できました。

たとえば、同一アセットのブロックや岩などを大量に複製配置してレベルを作成することもあると思いますが、そのような場合に力を発揮しそうです。