今回は、4.11以降のバージョンで追加された”Import Into Level”という機能をご紹介します。
この機能を使うとひとつのFBXファイルから複数のアセットを個別に一度で読み込むことができます。
とくに背景や建築など多数のアセットで構成されるシーンで有用です。
従来では、DCCツールから複数のメッシュをFBXでエクスポートする際、ライトマップ解像度やメッシュ原点など考慮して、アセット毎にFBXを分ける(まとめる)など工夫が必要でした。
DCCツール上で配置されたものを再現し、かつUE4できれいにライトベイクするためには思いのほか手間がかかります。
しかし、”Import Into Level”の機能を使えば上記のような手数を省くことができます。
では、早速使ってみましょう。
今回はBlenderで作られた背景モデル(UV展開済み)をFBXで書き出します。
メッシュ原点は、書き出し前にオフセットなどせず、そのまま各メッシュ直下にあります。

では、書き出されたFBXをUE4で読み込みます。Fileメニューから”Import Into Level…”を選びます。
次にインポートしたアセットを読み込むフォルダを指定します。

複数のアセットが一度に読み込まれますので、サブフォルダを作っておく方がよいでしょう(右クリックで作成)。

いつもとは別のインポートオプションが表示されます。


ここではFBXから読み込むメッシュやマテリアルなどを個別に選択できます。
また、読み込んだメッシュをブループリントのコンポーネントとしてまとめ、BPアセットとしてレベルに配置することもでき便利です(Hierarchy Typeで変更できます)。
マテリアルに関しても、同一名のものはひとつにまとめられます。
インポートが終了すると指定したフォルダにアセットが読み込まれます。
ただ、読み込むメッシュがリアルタイム向けに最適化されてなかったり、あまりに数が多すぎたりすると時間が掛かるので注意して下さい。

ちなみに、”Fbx Scene Import Data”というアセットをReImportすることでアセットの更新ができます。

無事、FBXからメッシュが読み込まれBPとコンポーネントとしてレベルに配置されています。

まとめ
“Import Into Level”のおかげでDCCツールとのワークフローが改善されます。
加えて、ライトマップも個別にアセット単位で細かく調整できますし、解像度も低く抑えられるのでビルド時間も短くなるかと思います。
まだ使われていない方は是非、お試し下さい。