单节点
blender的单个节点,单从ui上来说,由以下几个部分构成
- 显示节点名字或标签的头部
- 输入接口
- 输出接口
- 除接口位置的节点面板
多节点
扩展到数个节点,则又多了几个选项
- 两个节点间接口的有效链接
- 两个节点中接口的无效链接(红色)
- 三个节点,禁用(mute)中间节点后,出现的隐式链接
节点树
回到节点树,或者说节点组,我们又多了个输入和输出的节点接口,这是当整个节点树作为组的时候所具备的属性
让我们从数据层面理一理:
当我们要访问一个节点树的时候,可以从context.space(当前鼠标所在区域)或者data(blender文件数据)来访问
如:bpy.context.space.node_tree bpy.context.space_data.edit_tree (只读)
访问节点树内的节点,我们也有这两个方向,context鼠标位置或者是data,这里暂时先讨论data的方式,之后涉及到屏幕绘制时,再补充context的部分。节点依附于节点树,所以我们需要获得节点树后才能访问节点
# 使用方法来访问node_tree = bpy.data.node_groups.get('节点树名字')if node_tree: node = node_tree.nodes.get('节点名字')# 直接访问,当节点树/节点不存在会报错# node_tree = bpy.data.node_groups['节点树名字']# node = node_tree.nodes['节点名字']
