ノードグループ

../../../_images/interface_controls_nodes_groups_node-group-example.png

ノードグループの例。

ノードをグループ化することで、ツリーの一部を非表示にしつつインスタンス化し、ノードツリーを簡略化できます。グループ化は、Material Nodes と Compositer の両方で行えます。

概念的には、ノードをグループ化すると "1 つのノード" のように扱うことができる、ノードの セット を作成できます。ノードグループは、プログラミングにおける関数に似ています。グループは "NodeGroups" と呼ばれ、ファイル内で使いまわすことができるほか、他のblendファイルの "NodeTrees" という項目から Append することができます。

例えば、diffuse colorに赤と緑の異なる色を接続することができるプラスチックマテリアルを作成するとします。このとき、Make Single User を適用することで、プラスチックマテリアルを構成するツリーが異なる色を持つ、別々のマテリアルを作成することができます。そうするとマテリアルを編集する場合に、すべてのマテリアルに対して編集を行わなくてはならなくなります。再利用のより良い方法は、ノードグループを作成し、変更する入力 (diffuse colorなど) のみをグループの外に出すことです。

ネストされたノード グループもサポートされています。つまり、ノードグループの中に新規のノードグループを作成したり、別のノードグループを挿入できます。

注釈

無限再帰を防ぐために、すべてのノードシステムで、再帰的なノードグループの使用が禁止されています。あるノードグループの中には、それ自体 (またはそれ自体を含んだ別のノードグループ) を含めることはできません。

グループの作成

参照

モード:全てのモード
メニュー:Node ‣ Make Group
ホットキー:Ctrl-G

ノードグループを作成するには、含めたいノードを選択して Ctrl-G または Group ‣ Make Group を実行します。ノードグループには緑色のタイトルバーが表示され、選択したすべてのノードがノードグループ内に含まれます。ノードグループのデフォルトでの名前は "NodeGroup"、"NodeGroup.001" などです。ノードグループの名前フィールドをクリックすることで、グループの名前を変更できます。ノードグループの名前は、意味のあるものにしてください。あるblendファイルから別のblendファイルにノードグループを追加する場合、Blenderはマテリアル用グループかコンポジット用グループかを区別しないため、2 つのタイプを簡単に区別できるような命名規則を使用することを推奨します。

ちなみに

ノードグループに 含めない もの:

重要な考え方は、グループが簡単に再利用可能な自己完結型のソフトウェアコンポーネントである必要があることです。マテリアルノードグループには以下のものを 含めない でください:

Input nodes
ソースノードをグループに含めると、ソースノードが 2 回 (グループ内に 1 回、新しいマテリアルノードネットワークの外側に 1 回) 表示されてしまいます。
Output node
出力ノードをグループに含めると、グループ から 利用できる出力ソケットが無くなってしまいます!

グループの編集

参照

モード:全てのモード
メニュー:Node ‣ Edit Group
ヘッダー:Go to Parent Node Tree
ホットキー:Tab, Ctrl-Tab

ノード グループを選択して Tab を押すと、ノードがフレームに展開され、その中に個々のノードが表示されます。通常のエディタビューと同様に、ノードを移動したり、個々のコントロールを変更したり、内部で再接続したりできます。ただし、グループ外のノードへ接続することはできません。そのためには、ノードグループの端にある外部ソケットを使用する必要があります。Tab により、グループの中と外を行き来できますが、Ctrl-Tab はグループの外に出ることのみできます。

../../../_images/render_cycles_optimizations_reducing-noise_glass-group.png

展開されたノードグループの例。

インターフェース

対話的操作

ノードグループが作成されると、新しい Group Input および Group Output ノードが生成され、グループに出入りするデータフローが表示されます。作成時には、選択されていなかったノードからの入力ソケットへの接続が、Group Input ノードの新しいソケットへ接続されます。同様に、選択されていなかったノードの入力ソケットへの接続は、新しい Group Output ノードに接続されます。

ノードグループの開発中に、グループ内へ渡すべき追加のパラメーターが必要になった場合は、Group Input ノードへソケットを追加する必要があります。これは、Group Input ノードの右側にある空のソケットから、入力を必要とするノードの目的の入力ソケットへ接続することで簡単に行えます。グループからの出力に使用したいデータについては、Group Output ノードへ同様の手順を行います。

パネル

参照

モード:全てのモード
パネル:Sidebar region ‣ Node ‣ Interface
../../../_images/interface_controls_nodes_groups_interface-panel.png

グループを編集するための Interface パネル。

ソケットは、追加や並べ替え、および削除することができ、目的を説明する名前を追加して、入力データ値の詳細をここで定義することができます。

複数の入力または出力がある場合は、リスト内のソケット名を選択し、パネルの右側にある矢印ボタンを使用して上下に並べ替えることができます。リストの下にある大きなプラス印のボタンを押すと、新しい未接続ソケットが追加されます。ソケット名が選択されていた場合は、それと同じタイプのソケットが追加され、何も選択していない場合は、値タイプのソケットが追加されます。グループに多数のソケットがある場合、リストの下部にある三角形をクリックすることで、ノードを見つけやすくするためのフィルタリング機能が表示されます。

グループの解除

参照

モード:全てのモード
メニュー:Group ‣ Ungroup
ホットキー:Alt-G

The Alt-G ツールはグループを削除し、個々のノードをエディタのワークスペースへ配置します。内部接続は失われず、ワークスペースの他のノードへ接続できるようになります。

Separate P

選択したノードをノードグループから分離します。

Copy
親ノードツリーにコピーし、グループはそのまま維持されます。
Move
親ノードツリーに移動し、選択したノードはグループからは削除されます。

グループの挿入

参照

モード:全てのモード
メニュー:Group ‣ Group Insert

一連のノードを選択し、最後に挿入先のグループノードを追加選択して Group ‣ Group Insert を押すと、一連のノードがグループ内に移動します。移動したノードは独自に Group Input ノードと Group Output ノードを持ち、接続状況が保持された状態でグループに収集されます。追加ノードが新しいソケットを持っていれば、それによってグループの入出力ノードが更新されます。グループに含まれる Group Input および Group Output が 1 つずつになるように、ノードグループ内を編集する必要があります。

ノードグループの追加

参照

エディタ:Topbar
モード:全てのモード
メニュー:File ‣ Link/Append

blendファイルへ Node Tree を追加すると、Shift-A, Add ‣ Group によるノードエディタ内での使用が可能になり、追加するグループを選択できるようになります。グループの「コントロールパネル」には、グループ化されたノードの個々のコントロールが含まれ、他のノードと同様に操作して変更を加えることができます。