関連ブログ
- [UE4][UE5]開発環境の容量を少しでも減らす 2024.08.14UE
- [UE5] PushModel型のReplicationを使い、ネットワーク最適化を図る 2024.05.29UE
- [UE5]マテリアルでメッシュをスケールする方法 2024.01.17UE
CATEGORY
2021.03.31UE4UE/ Plugin
執筆バージョン: 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 | スタティックメッシュの撮影方法を決めます
|