2016-10-31 15 views
0

ノードにノブを追加したいが、それは常にそれが特定のタブ内に表示されていることを確認したい。パネル内にノブを追加する方法を教えてください。

ターゲットノードには、ずっと前に作成された2つのタブ、 'A'と 'B'があるとしましょう。

target_node = nuke.thisKnob() 
taget_node.addKnob(extra_knob) 

「B」ではなく「A」タブでextra_knobを作成するにはどうすればよいですか?私は、テキストエディタで.nkファイルを開くと

は、ノブは、インデックスを持っているように見えるが、私はこれはまだ関連している場合

答えて

3

わからないドキュメントでソートの何かを見つけることが、提供することができませんうまくいけば、これを見て他の人を助けるために答える。

ユーザーノブの順序を制御することは、パネル上に正しく表示されることを実際に保証する唯一の方法です。 node.allKnobs()はノードのノブを.nkファイルで指定された順序で返します。 「ユーザー」タブ・ノブは、ユーザー・ノブが始まる場所の区切りとして使用できます(ノン・ユーザー・ノブの順序を編集しないでください)。あるタブに追加したいノードは、そのタブつまみの後ろに追加するだけです。ここで

はタブにノブを並べ替え、既存のノードを取る例を示します

node = nuke.selectedNode() 

# Find out where the "User Tab" is, this is the start of user knobs 
user_knob_index = 35 
user_knob = node.knob(user_knob_index) 
user_knobs = node.allKnobs()[(user_knob_index + 1):] 

# Clear out all the user knobs 
for knob in user_knobs: 
    node.removeKnob(knob) 

color_knobs = [i for i in user_knobs if 'color' in i.name()] 
di_knobs = [i for i in user_knobs if 'di' in i.name()] 

# Create new tab knobs 
color_tab = nuke.Tab_Knob('color') 
di_tab = nuke.Tab_Knob('di') 

# Add the color tab and color knobs 
node.addKnob(color_tab) 
for knob in color_knobs: 
    node.addKnob(knob) 

# Add the di tab and di knobs 
node.addKnob(di_tab) 
for knob in di_knobs: 
    node.addKnob(knob) 
関連する問題