2016-12-23 5 views
0

自分のゲームエンジンにCyclesシェーダを解析します。エンジンのGLSLシェーダーのために入力されたフレームがあります。 enter image description here フレーム内の各ノードを繰り返し処理したいと思います。どうやって?私は何も見つけられませんでした:https://www.blender.org/api/blender_python_api_2_78a_release/bpy.types.NodeFrame.html?highlight=frame#bpy.types.NodeFrameBlenderフレームノードの内部ノードを取得

答えて

1

フレームノードはその内容のリストを保持しませんが、各フレームはその親が誰であるかを知っています。他の場所で使用されているブレンダ用語を維持しながら、フレームノードはその内部にあるノードの親です。

フレームの内容のリストを取得するには、ノードツリーを反復処理し、そのフレームを親として持つノードを見つけることができます。

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] 
関連する問題