【发布时间】:2017-05-09 05:09:11
【问题描述】:
我想将 Cycles 着色器解析到我的游戏引擎。我有框架是引擎中 GLSL 着色器的输入: 我想遍历框架内的每个节点。如何?我没有找到任何东西:https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.NodeFrame.html?highlight=frame#bpy.types.NodeFrame
【问题讨论】:
我想将 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]
【讨论】: