Blenderでノードの編集を行う際に使用するノードグループについて紹介します。
1 ノードグループとは
ノードグループ(Node Group)とは、複数のノードをまとめてひとつのノードとして扱えるようにする機能で、増えたノードを整理するのに役立ちます(画像1参照)。

ノードを整理するにはフレームノード(Frame Node)という機能を使用する場合もありますが、こちらについては下記の記事で紹介をしています。

2 ノードグループ使用方法
説明用にマテリアル出力(Material Output)・ディフューズBSDF(Diffuse BSDF)・画像テクスチャ(Image Texture)の3つのノードを画像2のように組んだものを使用します。

2.1 ノードグループの作成
グループに入れたいノード(ここではディフューズBSDF(Diffuse BSDF)・画像テクスチャ(Image Texture))を選択した状態で、シェーダーエディター(Shader Editor)などの左上のメニューのノード(Node)内にあるグループ作成(Make Group)でノードグループを作成することができます(画像3参照)。ショートカットキーはCtrl+Gキーです。

グループ作成(Make Group)を使用した直後は、画像4のような作成したノードグループの内容を表示した状態になります。

Tabキーで元の画面に戻ると、画像5のようにディフューズBSDF(Diffuse BSDF)と画像テクスチャ(Image Texture)が「NodeGroup」という名前のひとつのノードとしてまとめられていることが確認できます。

ノードグループを選択した状態でもう一度Tabキーを押すと、画像4のノードグループの内容を展開した状態になります。
2.2 ノードグループに関する表示について
2.2.1 ノードグループの色とアイコン
ノードグループの上部はすべて画像6のような緑色になります。
また、ノードグループの右上に階層構造を示したようなアイコンがあるのでこれで他のノードと区別することができます。

2.2.2 階層の表示について
ノードグループの内容を表示していない状態でシェーダーエディター(Shader Editor)などの左上の部分を確認すると、画像7のようにCube〉Cube〉Materialという階層になっています。

これはアウトライナー(Outliner)でも確認できるように「Cube」というメッシュオブジェクトの下に「Cube」というメッシュがあり、その下に「Material」というマテリアルがあり、現在この「Material」をシェーダーエディター(Shader Editor)で編集しているということを意味しています。
ノードグループの内容を表示すると画像8のようにCube〉Cube〉Material〉NodeGroupというように、マテリアルの下の階層に「NodeGroup」というノードグループが追加され、現在この「NodeGroup」をシェーダーエディター(Shader Editor)で編集しているということを意味しています。

ノードグループ内にノードグループを作成することもできますが、この場合はCube〉Cube〉Material〉NodeGroup〉NodeGroup.001といった階層になります。
2.2.3 ノードグループの名前について
画像5や画像6で確認できるようにノードグループの名前は「NodeGroup」となっています。
これはサイドバー(Sidebar)→ノード(Node)→プロパティ(Properties)で設定されている名前です(画像9参照)。

「NodeGroup」と書かれているボックスでノードグループの名前を変更することも可能です。また、「NodeGroup」の左側にあるアイコンをクリックするとノードグループの一覧が表示されるので、ここで別のノードグループに切り替えることも可能です(ノードグループがない場合は何も表示されません)。
プロパティ(Properties)の上にあるノード(Node)の名前(Name)は他のノードと区別するためのもので、複数のノード(またはノードグループ)で同じ名前を付けることはできません。
プロパティ(Properties)の上にあるノード(Node)のラベル(Label)はノードの上部に表示される名前で、複数のノード(またはノードグループ)で同じ名前を付けることも可能です。
ラベル(Label)を設定した場合はこちらが優先的に表示されます。
2.3 ノードグループの解除
ノードグループを選択して、シェーダーエディター(Shader Editor)などの左上のメニューのノード(Node)内にあるグループ解除(Ungroup)を選択します(画像10参照)。これでノードグループを解除することができます。

ノードグループを解除してもグループ内のノードが削除されることはありません。
3 グループ入力(Group Input)とグループ出力(Group Output)について
3.1 グループ入力(Group Input)とグループ出力(Group Output)の使用方法
作成したノードグループには画像11のようにBSDFという出力ソケットはありますが、入力ソケットがなく他のノードと接続ができない状態になっています。

ノードグループを選択して内容を表示すると、画像12のように左右の端にグループ入力(Group Input)とグループ出力(Group Output)というノードがありますが、このノードを使用してノードグループに入力ソケットや出力ソケットを追加することができます。

画像13で囲んだ画像テクスチャ(Image Texture)のベクトル(Vector)という入力ソケットと、グループ入力(Group Output)の黒いソケットを、

画像14のように接続すると、グループ入力(Group Output)にベクトル(Vector)という項目が追加されます。

Tabキーで画面を切り替えると、作成したノードグループに画像15のようにベクトル(Vector)という入力ソケットが作成されているので、これで別のノードと接続することができるようになりました。

再度ノードグループを選択して展開して、ディフューズBSDF(Diffuse BSDF)の粗さ(Roughness)という入力ソケットと、グループ入力(Group Input)の黒いソケットを画像16のように接続します。

Tabキーで画面を切り替えると、作成したノードグループに画像17のように粗さ(Roughness)という入力ソケットが作成されているので、ここに別のノードをつなげることができるようになりした。
また、粗さ(Roughness)のプロパティがノードグループ上に表示されるようになったので、ノードグループの内容を開かずに値を調整できるようにもなりました。

3.2 サイドバー(Sidebar)のグループ(Group)について
ノードグループの内容を表示した状態でサイドバー(Sidebar)のグループ(Group)で 、グループ入力(Group Input)とグループ出力(Group Output)のソケットの追加と削除・順番の変更・名前の変更が可能です(画像18参照)。

3.2.1 ソケットの追加と削除
サイドバー(Sidebar)のグループ(Group)の入力(Inputs)と出力(Outputs)にあるプラスとマイナスのアイコンを使用してグループ入力(Group Input)とグループ出力(Group Output)のソケットの追加と削除が可能です。
例えば画像16で接続したグループ入力(Group Input)とディフューズBSDF(Diffuse BSDF)の粗さ(Roughness)について、この接続を解除してもグループ入力(Group Input)の粗さ(Roughness)のソケットは残ってしまうので、削除したいソケットを選択してマイナスのアイコンを使用して削除します。
3.2.2 ソケットの順番の変更
サイドバー(Sidebar)のグループ(Group)の入力(Inputs)と出力(Outputs)にある上下の矢印のアイコンを使用してグループ入力(Group Input)とグループ出力(Group Output)のソケットの順番の変更が可能です。
3.2.3 ソケットの名前の変更
サイドバー(Sidebar)のグループ(Group)の入力(Inputs)と出力(Outputs)にあるソケット名をクリックすると、グループ入力(Group Input)とグループ出力(Group Output)のソケットの名前の変更が可能です。
例えば、ディフューズBSDF(Diffuse BSDF)のBSDFと、透過BSDF(Transparent BSDF)のBSDFをグループ出力(Group Output)につないだ場合、どちらのBSDFか区別がつかなくなるので名前を変えて区別します。
4 その他の操作
4.1 グループ挿入(Group Insert)
ノード→ノードグループの順番で選択して、シェーダーエディター(Shader Editor)などの左上のメニューのノード(Node)内にあるグループ挿入(Group Insert)でノードをノードグループ内に追加(挿入)することができます。
このときグループ入力(Group Input)とグループ出力(Group Output)が重複してしまうので、必要ないものは削除してください。
4.2 作成したノードグループを追加
作成したノードグループはシェーダーエディター(Shader Editor)などの左上のメニューの追加(Add)→グループ(Group)から同じものを追加して使用できます。
追加したノードグループは元のノードグループとリンクしているので、一方の内容を変更すると他方にも影響します。
4.3 親ノードツリー(Parent Node Tree)
シェーダーエディター(Shader Editor)などの右上にある矢印のアイコン(画像19参照)をクリックすると、ノードグループの内容を表示した画面から元の画面に戻ることができます。

ノードグループ内にノードグループを作成した場合は、このアイコンを使用して元の画面に戻ります。
以上、Blenderの「ノードグループの使用方法」でした。
コメント