MRが楽しい

MRやVRについて学習したことを書き残す

BSDFMaterialMergeアドオンを使って類似のマテリアルをマージする

本日は Blender のアドオン枠です。
BSDFMaterialMergeアドオンを使って類似のマテリアルをマージする手順を記事にします。
f:id:bluebirdofoz:20201026003103j:plain

BSDFMaterialMergeアドオンについて

オブジェクト内のマテリアルスロットから、出力ノードにプリシプルBSDFノードが接続されたマテリアルの比較を行い、類似するマテリアルをマージする Blender アドオンです。
github.com

以下の記事で作成したものを、役立ちそうなのでアドオンにしてみたものです。
bluebirdofoz.hatenablog.com

本アドオンは指定したオブジェクトについて以下の条件でマテリアルのマージを行います。
1.指定オブジェクトのマテリアルはアクティブな出力ノードにプリンシプルBSDFノードが接続されているか
2.プリンシプルBSDFの比較対象の入力端子にリンクが貼られておらず、デフォルト値が有効か
3.デフォルト値が有効な場合、その入力端子が全て一致すれば類似と判断してスロット上部の一致マテリアルを割り当て直す
4.マテリアルスロット内をマテリアル名でソートする
5.重複するマテリアルの削除を行い、マージしたマテリアルを1つにする

アドオンのインストール手順

以下の GitHub から取得可能です。
github.com

[Code] -> [Donload ZIP]でソースコードをダウンロードします。
f:id:bluebirdofoz:20201026003204j:plain

ダウンロードが完了すると、BSDFMaterialMerge_BlenderAddon-main.zip ファイルが取得できます。
f:id:bluebirdofoz:20201026003213j:plain

Blender を起動し、[編集] -> [プリファレンス] を選択します。
f:id:bluebirdofoz:20201026003222j:plain

Blenderプリファレンスが開きます。
[アドオン]タブを開き、[インストール]ボタンをクリックします。
f:id:bluebirdofoz:20201026003231j:plain

先ほどの zip ファイルを選択して[アドオンをインストール]をクリックします。
f:id:bluebirdofoz:20201026003240j:plain

これでアドオンがインストールされます。
サポートレベルを[テスト中]に切り替えると、アドオンの一覧に BSDFMaterialMerge が表示されます。
f:id:bluebirdofoz:20201026003254j:plain

チェックボックスにチェックを入れて、アドオンを有効にします。
f:id:bluebirdofoz:20201026003305j:plain

インストールが完了すると、以下のパネルが追加されます。
・[3Dビュー]ウィンドウのサイドバーに[Util]タブと[BSDF Material Merge]パネルが追加される。
f:id:bluebirdofoz:20201026003315j:plain

アドオンの使い方

[BSDF Material Merge]パネルを開きます。
[ターゲット]のプルダウンを開き、マテリアルのマージを行いたいプロジェクト内のオブジェクトを選択します。
f:id:bluebirdofoz:20201026003327j:plain

後は[Material Merge]で実行するだけです。
f:id:bluebirdofoz:20201026003338j:plain

一致と判断されたマテリアルがマージされました。
f:id:bluebirdofoz:20201026003347j:plain

指定オブジェクトに、プリシプルBSDFを出力ノードに接続していないマテリアルが存在する場合、実行は失敗します。
f:id:bluebirdofoz:20201026003357j:plain