BLOGブログ

2016.05.31UE4UE/ Plugin

[UE4] StaticMeshマテリアル置換プラグインを公開しました

新しく開発した社内用プラグインを、GitHubで公開しました。

下記のページから取得可能です。

https://github.com/historia-Inc/UE4_MICRep

Pluginsフォルダを、そのままUE4プロジェクトフォルダにコピーすれば使用可能です。

 

機能:

このプラグインは、主に映像用途などで1メッシュに数十~数百といった大量のマテリアルを使用する際に、効率的に編集可能な状態に変換することを目的としています。

指定したStaticMeshアセットのマテリアルをすべて、共通の基本マテリアルを持つマテリアルインスタンスに置き換えることが出来ます。

 

例えば、あるStaticMeshに3つのマテリアルが使用されていた場合、

基本マテリアルと、それを継承した3つのマテリアルインスタンスを自動生成し、StaticMeshに割り当てます。

これらのマテリアルインスタンスには、元のマテリアルのBaseColorテクスチャとNormalテクスチャが反映されています。

自動変換の後、自動生成された基本マテリアルを編集することで、メッシュ全体に共通の効果を適用することが出来ます。

 

使い方:

①元の状態はこんな感じです。StaticMeshと、3つのマテリアル、それに使用されているテクスチャがあります。

micrep01_cb

micrep01

 

②ContentBorowserで目的のStaticMeshアセットを右クリックし、メニューから「Replace Materials」を選択します。(複数アセットの同時選択もOKです)

staticmesh_menu

 

③このように、StaticMeshと同じフォルダに、基本マテリアル1つと、それを継承したマテリアルインスタンスが3つ生成され、StaticMeshに割り当てられた状態になります。

基本マテリアルは「M_」から始まる名前、マテリアルインスタンスは「MI_」から始まる名前になります。

micrep02_cb

micrep02

 

④生成された基本マテリアルを編集することで、メッシュ全体にマテリアル効果を反映させることが出来ます。

 

以上です。

 

よいプラグイン名を思いつかなかったので、開発中の仮の名前のままの公開です。

何かアイデアがあればGitHubのIssuesに書き込んで頂けると嬉しいです。

 

注意事項:

このプラグインは、あくまで社内ツールとして開発されたものであり、エラー対処等は考慮されていません。

また、元のマテリアルはfbxインポート直後のものを想定しており、複雑なグラフが組まれた状態では正常に機能しない場合があります。

 

追加機能:

(※ 2016/06/10)

マテリアルインスタンスの親マテリアルを一括変更する機能を追加しました。

ContentBrowser上でマテリアルインスタンス(複数可)を選択し、右クリックメニューから「Reparent MaterialInstance」を選択します。

ReparentMIC

 

(※ 2016/06/17)

マテリアルの一括置換機能を、SkeletalMeshにも対応しました。

使用方法はStaticMeshと同様です。