関連ブログ
- [UE4][UE5]開発環境の容量を少しでも減らす 2024.08.14UE
- [UE5] PushModel型のReplicationを使い、ネットワーク最適化を図る 2024.05.29UE
- [UE5]マテリアルでメッシュをスケールする方法 2024.01.17UE
CATEGORY
2016.05.31UE4UE/ Plugin
新しく開発した社内用プラグインを、GitHubで公開しました。
下記のページから取得可能です。
https://github.com/historia-Inc/UE4_MICRep
Pluginsフォルダを、そのままUE4プロジェクトフォルダにコピーすれば使用可能です。
このプラグインは、主に映像用途などで1メッシュに数十~数百といった大量のマテリアルを使用する際に、効率的に編集可能な状態に変換することを目的としています。
指定したStaticMeshアセットのマテリアルをすべて、共通の基本マテリアルを持つマテリアルインスタンスに置き換えることが出来ます。
例えば、あるStaticMeshに3つのマテリアルが使用されていた場合、
基本マテリアルと、それを継承した3つのマテリアルインスタンスを自動生成し、StaticMeshに割り当てます。
これらのマテリアルインスタンスには、元のマテリアルのBaseColorテクスチャとNormalテクスチャが反映されています。
自動変換の後、自動生成された基本マテリアルを編集することで、メッシュ全体に共通の効果を適用することが出来ます。
①元の状態はこんな感じです。StaticMeshと、3つのマテリアル、それに使用されているテクスチャがあります。
②ContentBorowserで目的のStaticMeshアセットを右クリックし、メニューから「Replace Materials」を選択します。(複数アセットの同時選択もOKです)
③このように、StaticMeshと同じフォルダに、基本マテリアル1つと、それを継承したマテリアルインスタンスが3つ生成され、StaticMeshに割り当てられた状態になります。
基本マテリアルは「M_」から始まる名前、マテリアルインスタンスは「MI_」から始まる名前になります。
④生成された基本マテリアルを編集することで、メッシュ全体にマテリアル効果を反映させることが出来ます。
以上です。
よいプラグイン名を思いつかなかったので、開発中の仮の名前のままの公開です。
何かアイデアがあればGitHubのIssuesに書き込んで頂けると嬉しいです。
このプラグインは、あくまで社内ツールとして開発されたものであり、エラー対処等は考慮されていません。
また、元のマテリアルはfbxインポート直後のものを想定しており、複雑なグラフが組まれた状態では正常に機能しない場合があります。
マテリアルインスタンスの親マテリアルを一括変更する機能を追加しました。
ContentBrowser上でマテリアルインスタンス(複数可)を選択し、右クリックメニューから「Reparent MaterialInstance」を選択します。
マテリアルの一括置換機能を、SkeletalMeshにも対応しました。
使用方法はStaticMeshと同様です。