ノードグループ内のレイヤーをサポートし、より複雑な構造を管理できるようになりました。
塗りつぶしレイヤーにより、さらに非破壊に編集しやすくペイントできるようにしました。
シェーダータイプの切り替え機能やレイヤーのソロ表示機能で細かな使い勝手を向上しました。
上画像のハンバーガーはアドオンの検証で作成したモデルです。
ノードグループ
ノードグループ内でのレイヤー管理をサポートしました。
複数のノードグループを使い分けてより複雑なレイヤー構造を管理したり、質感ごとに使うレイヤーを使いやすくなります。
使い方
ノードグループの追加
左上のコレクションアイコンから[空のノードグループを作成]を実行すると、マテリアルのノードツリー内に空のノードグループが作成されます。
作成されたノードグループは、レイヤーリストでのアクティブなノードグループとなります。
今後新規レイヤーの作成はアクティブなノードグループ内で行われます。
初回以外は、ノードグループを作成しただけではシェーダーへの接続は行わないため、ノードグループをビューで確認できるようにするには手動でのノード接続が必要です。
アクティブなノードグループ
上に表示されているノードグループ名が、アクティブなノードグループです。
これに新規レイヤーが追加されるノードグループを選択します。
横のアイコンからノードグループを変更できます。
マテリアルのノードツリーにしたい場合は、リスト内の[Root]を選択します。
仕様
- レイヤーを別のグループに移動することはできません。
- ノードグループを複製することはできません。
- 既存のレイヤーをノードエディターにて手動でグループ化(Ctrl + G)したり、ノードグループ名を変更した場合、アドオンはレイヤーのノードを参照できなくなります(後述にて修正可能)。
レイヤーのノード参照を修正する方法
各レイヤーのノードツリー名を手動で変更することで修正できます。
- オプション > [属するグループ名を表示]オプションを有効化
- 各レイヤーのノードグループ名を対象のノードグループ名に変更することで修正できます。
ノードグループを参照できるようにしました。
対象ノードツリー(ノードグループ)の名前を指定して、対象のnode_treeを選択できます。
塗りつぶしレイヤー
塗りつぶしレイヤー機能を追加しました。
ペイントソフトの塗りつぶしレイヤーと同じように、特定の色を白黒画像でマスクします。
マスクを描くときのブラシの色は白か黒にしてください。色付きでペイントすることもできますが、明度を把握しにくくなります。
- 色は現在のカラーピッカーの色になります。
- プロパティ > レンダー > カラーマネジメント > 表示デバイスが[sRGB]の場合は、対象の色が自動で補正されます。
- ノードグループで最初に追加するレイヤーの場合は白のテクスチャになり、それ以降は黒のテクスチャになります。
シェーダータイプの切り替え
シェーダータイプを切り替えます。
放射シェーダーを選択することで、陰影のないシェーダーでペイントできます。
ソケット接続状態は保存されるので、放射シェーダーから再度元の状態のプリンシプルBSDFシェーダーに戻すことができます。
- ディフューズBSDF・プリンシプルBSDF・放射シェーダーの中から選択できます。
- プリンシプルBSDFの場合は、切り替え前にソケットのリンク状態を記憶しておき、再度プリンシプルBSDFにした時復元できるようにしています。
レイヤーのソロ表示切り替え
アクティブレイヤーをソロ表示します。
同じレイヤーで再度実行すると、保存しておいた不透明度の値に戻します。
各レイヤーの小さな◯アイコンのある列の空白からも切り替えできます。
- (ノードのミュート(目アイコン)を利用するとシェーダーコンパイルが発生してしまうので、不透明度(乗算数式ノードの値)の方を調整しています)
その他
- BGカラーのデフォルトをグレー(0.5,0.5,0.5)から白(1,1,1)に変更しました。
- マテリアル未所持の場合のマテリアル新規作成ボタンを、プリンシプルBSDFノードを削除した空のマテリアルを作成するボタンに変更しました。
[既存の画像を読み込み]を追加
プロジェクト内にある既存の画像をレイヤーとして読み込みます。
[レイヤーの複製]機能を追加
アクティブレイヤーを複製します。
レイヤーの削除
Ctrlキーを押しながら実行すると、アイテムのみを削除するようにしました。
レイヤーとノードの構成が破綻してしまった時、レイヤーアイテムを整理する際に便利です。
表示レイヤーの結合(ベイク)
ベイク後にレイヤーとしてすぐ使えるようにしました。
簡易的なベイク機能としても使えるようにしました。
- ベイク後にベイク画像をレイヤーとして追加するようにしました。
- ベイクタイプを追加しました。
- 放射シェーダーの場合は、ベイクタイプのデフォルトは放射になります。
- サンプル数を追加しました。
その他のメニュー
右上の小さな機能やオプションをまとめたメニューを追加しました。
- [アクティブグループのみを表示]オプション
- レイヤーリストにて、アクティブなノードグループのレイヤーのみを表示します。
- デフォルトで有効です。
- 他のノードグループ内の全レイヤーも同時に確認したい時はオフにしてください。
- [属するノードグループを表示]オプション
- レイヤーが属しているノードグループ名を表示します。
- カラーマネジメントの[ビュー変換]オプション
- プロパティ > レンダー > カラーマネジメント > ビュー変換オプションをアクセスしやすいように、メニュー追加されています。
- デフォルトのFillmic設定では色が薄く表示されるため、[標準]に切り替えて正しいカラーを確認するのに便利です。
- [ノードグループにアクティブレイヤーの出力ソケットを作成する]
- ノードグループ外でもアクティブレイヤーを使えるように、出力ソケットを作成します。
- [画像アイコンを更新]
- アクティブマテリアルの全ペイントテクスチャのアイコンを更新します。
- [色の反転]
- アクティブなレイヤーの画像の色を反転します。塗りつぶしのマスク画像を反転したいときに便利です。
アドオン設定
アドオン設定にメニューを追加しました。
- デバッグモード
- 有効にするとパネルメニュー > オプションに、シェーダーノード設定メニューが追加されます。
- シェーダーノードの名前が参照できなくなったときにここから修正できます。
- クリッピングマスクの色
- メニューでのクリッピングマスクのバーの色をユーザーの好みに応じて変更できます。
- 関連リンク
バグ修正
- レイヤーの削除時に、マスクノードの位置が調整されない問題を修正しました。
- クリッピングマスクの対象レイヤー名表示が同期できていなかった問題を修正しました。
- 乗算数式ノード名と同じ名前のmultiplyノードのリストアイテムの名前を取得するようにしました。
- ver0.0.3から、短時間に連続でレイヤー追加または移動をするとクラッシュする問題を修正しました。
- レイヤー名変更時の画像の自動リネームについて、既存画像と同名のレイヤーに変更すると他のレイヤーで使用していた場合名前が変わってしまって対象画像を見失ってしまう問題を修正しました。
- 同名の既存画像がある場合は、ノードグループ名や.001などを名前に追加します。
その他
- 日本語翻訳を追加しました。
- ブレンドモード名のテキスト表示を翻訳するようにしました。
- script.reloadで、アドオンを再読み込みできるようにしました。
- クリッピングマスクのアイコンを変更しました。