在 Blender Frame Node 中获取内部节点

Get inner nodes in Blender Frame Node

我想将 Cycles 着色器解析到我的游戏引擎。我有框架,它是引擎中 GLSL 着色器的输入: 我想遍历框架内的每个节点。如何?我没有在以下位置找到任何内容:https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.NodeFrame.html?highlight=frame#bpy.types.NodeFrame

框架节点不保留其内容的列表,但每个框架都知道它的父节点是谁。与其他地方使用的搅拌器术语保持一致,框架节点是其中节点的父节点。

要获取框架内容列表,您可以遍历节点树并查找以该框架为父节点的节点。

import bpy

mat_nodes = bpy.data.materials['Material'].node_tree.nodes
frame_node = mat_nodes['Frame']

frame_children = []
for n in mat_nodes:
    if n.parent == frame_node:
        frame_children += [n]