BLOGブログ

2021.03.31UE4UE4/ Plugin

[UE4] ImpostorBakerPluginの導入方法と事始め

執筆バージョン: Unreal Engine 4.26

こんにちは、新人エンジニアの森です
今回は、Ryan Brucks氏が作成した、インポスターを簡単に作成できるプラグイン、ImpostorBakerを個人のプロジェクトに導入する方法を紹介します
ImpostorBakerは、エピック・ゲームズ・ジャパンのスライド「Fortniteを支える技術」(https://www.slideshare.net/EpicGamesJapan/fortnite-97791917)でも紹介されました
インポスターそのものについては、過去記事UE4公式ドキュメントをご覧ください


プラグインを有効にする

まずは、プラグイン開発者のGithubページ(https://github.com/ictusbrucks/ImpostorBaker)にアクセス。
プラグインをダウンロードして、UE4にプラグインを認識させましょう

これを「DownloadZip」からダウンロードして解凍、
↓以下の場所に配置します
<Project>\Plugins
今回使用するプロジェクトの名前は、ImpostorProjectとしました
Pluginsというフォルダーがない場合は、自分で作成します

UE4を起動して、Edit.PluginsからProject→Otherの中を見てみます。正しく配置できていればここにImpostorBakerが出てくるので、プラグインを有効化しましょう


実際の撮影手順

試しに下記画像のようなマテリアルを作ってキューブに貼り付け、インポスター化してみます
ポイントは、「Use Material Attributes」にチェックを付けることと、ImposterCaptureSwitchノードを使用することです
これで、インポスター撮影のための準備が整います

↓インポスター化したいメッシュ

ImpostorBakerPluginを使うには、まずContent Browser のView Option [Show Plugin Content]を有効にします
次に左上にあるを押して、検索ボックスに「Impostor」と入力します


インポスター撮影用マップ(ImpostorBaker/Maps/Generate_Impostor_Map)を開きます
開くと最初はこんな感じになっています

ここで、最初から置かれている「Cube-Scaled」を削除してキューブを配置します
先ほどのマテリアルを貼りつけたら、あとは、BP_Generate_ImposterSpritesの設定を変えて「1、2、3」の順にボタンを押すだけでインポスター用のマテリアルが生成されます
Create Static Assetには少し時間がかかりますが、マテリアル作成はこれで完了です

次に、マテリアルを張り付けるためのスタティックメッシュを作成します
BP_Generate_ImposterSpritesのProcedualMeshの中にある、「CreateStaticMesh」ボタンを押します。パスを聞かれますので、選択した位置にメッシュが生成されたことを確認します

しかし、このままでは生成されたスタティックメッシュがフリッキングを起こしています

この原因は、スタティックメッシュのバウンドボリューム(境界ボリューム)にあります。メッシュはただの板ポリなので、実際の見た目とボリュームの大きさが異なるのです
これを解消するために、スタティックメッシュのDetailsの中を「Bound」と検索し、PositiveBoundsExtensionと、NegativeBoundsExtensionの値を入力しましょう。今回は、(50, 50, 50)に設定しました

これで無事インポスターができあがりました
実際にワールドに配置してテストしてみます

通常のキューブと比べても見た目には遜色なく、大丈夫そうですね!
ちなみに、カメラを近づけると結構見た目が崩れます(ぜひ確かめてみてください)
インポスターの手法は、ポリゴン数の多いメッシュや、大量に配置したい背景物などに特に有効です
使いどころをよく考えて活用していきたいですね


最後に、撮影に関する設定項目を下記表にまとめました

Static Mesh Actor 撮影する対象のスタティックメッシュです
ワールドに配置したものをドロップダウンリストから選択します
Frames XY 生成されるテクスチャの縦横の分割数です
Use Distance Field Alpha シルフォートブレンドやサブサーフェスエッジが、より高品質になるようです
(よく分かりません)
New Asset Path テクスチャとマテリアルが生成されるパスを指定します
New Asset Texture Prefix テクスチャの頭につく名前です
この名前に続けて各属性の名前が付けられたテクスチャが生成されます
(例: XXX_BaseColor、XXX_Normalなど)
New Asset MIC Name 生成されるマテリアルの名前です
Maps to Render 生成したいテクスチャの種類を決めます
Impostor Type スタティックメッシュの撮影方法を決めます

Full Sphere View 全方向から撮影します
Upper Hemisphere Only 上半分のみを撮影します(デフォルト)
Traditional Billboards 横回転8方向+真上から見た状態を撮影します

ImpostorBakerを使って、皆さんもぜひ、楽しいインポスターライフを!