节点组

../../../_images/interface_controls_nodes_groups_example.png

节点组示例。

分组节点可以通过隐藏复杂性和重复使用重复的部分来简化节点树。

从概念上讲,节点组允许你把一 节点当作是一个节点。它们类似于编程中的函数:它们可以被重复使用(甚至在不同的节点树中),并且可以通过改变它们的 "参数" 进行定制

举个例子,比如说你创建了一个“木头”材质,你希望有不同的颜色。一种方法是为每一种颜色复制整个材质,但如果你这样做了,如果你以后想改变纹理的密度,你就必须再去复制所有这些副本。相反,最好把定义木材外观的节点移到一个节点组中。然后每个材质都可以重复使用这个节点组,只需要给它提供一个颜色。如果你后来想改变纹理线的密度,你只需要在节点组内做一次,而不是为每个材质做一次。

节点组可以嵌套(也就是说,节点组可以包含其他节点组)。

Note

所有节点系统都禁止递归节点组以防止无限递归。节点组永远不能包含自身。

界面

当一个节点组被创建时,新的 组输入组输出 节点被生成,以表示进入和离开该组的数据流。此外,来自未选择的节点的输入接口的连接将被连接到 组输入 节点上的新接口。同样,来自未被选中的节点的输入接口的出站连接将被连接到新的 组输出 节点。

如果你想把一个额外的参数传入组中,必须在 组输入 节点上添加一个接口。要做到这一点,从 组输入 节点右侧的空接口拖动一个连接到需要输入的节点上所需的输入接口。关于你想在组外获得的数据,组输出 的过程也类似。

编辑节点组

参考

菜单:

节点 ‣ 编辑组

标题栏:

进入父级节点树

快捷键:

Tab, Ctrl-Tab

选定一个节点组后,按 Tab 进入该组并查看其内容。再按 Tab(或 Ctrl-Tab)离开该组,回到其父级,这可能是顶级节点树或其他节点组。你可以参考节点编辑器左上角的面包屑导航,看看你在层次结构中的位置。

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

展开后的节点组示例。

制作节点组

参考

菜单:

节点 ‣ 创建组

快捷键:

Ctrl-G

要创建一个节点组,选择你想包含的节点,然后按 Ctrl-G 或点击 组 ‣ 创建组。节点组将有一个绿色的标题栏。所有被选中的节点现在将被包含在节点组中。节点组的默认命名是“NodeGroup”、“NodeGroup.001”等。节点组中有一个名称字段,你可以点击进入来改变组的名称。把节点组的名字改成有意义的。

将节点组从一个 blend 文件附加到另一个 blend 文件时,Blender 不会区分是材质节点组还是合成节点组,因此建议使用一些命名约定,以便可以轻松区分这两种类型。

Tip

每个节点编辑器的“添加”菜单包含一个“输出”类别,其中有“材质输出”等节点类型。这些节点类型不应该与节点组中的“组输出”节点相混淆,也不应该在节点组中使用(只能在顶级节点树中)。

拆散

参考

菜单:

节点 ‣ 取消编组

快捷键:

Ctrl-Alt-G

移除组并将单个节点放入你的编辑器工作区。没有内部连接丢失,现在你可以将内部节点连接到工作区的其他节点。

分离 P

将所选节点与节点组分开。

复制

复制到父级节点树,并保持节点组完好。

移动

从组中删除,移动至父级节点树。

Group Insert

参考

菜单:

Node ‣ Group Insert

Selecting a set of nodes, ending with the destination group node, and pressing Node ‣ Group Insert will move those nodes into that group. The moved nodes are collected into a group of their own to preserve their connection context, having their own group input and output nodes. The group's existing input and output nodes are updated with new sockets, if any, from the new nodes. The node group must be edited to contain a single Group Input and a single Group Output node.

重复使用节点组

参考

菜单:

添加 ‣ 组

快捷键:

Shift-A

现有的节点组可以在最初定义后再次放置,无论是在同一个节点树还是不同的节点树。也可以使用 文件 ‣ 关联/追加 从不同的 blend 文件中导入节点组。