2013年11月10日日曜日

Nuke Python execute()

node.knob.execute()で「ボタンを押す」という処理をPythonで実行する事ができるようです。


例えばこのReadノードのreloadボタンを押したい時は

n = nuke.toNode('Read1')
n['reload'].execute()

と実行するとreloadボタンを押したときと同じ処理がされるようです。

これでPythonScriptボタンを実行する事で、仕事が捗りモテるようになるそうです。

<使用例>
Manage User Knob で俺俺Writeノードを作成。
PythonScriptButton「GetPath」を押すと、出力先を取得して
「SetPath」を押すとWirteノードの出力先に設定されるような感じ
そして、それがいくつかあった場合、1つ1つ選択して「Get」「Set」するのも面倒くさい。
息をするのも面倒だ。

そこで、それもPythonにやらしてしまおうということで・・・

for n in nuke.selectionNodes('Write') :
    n['GetPath'].execute()
    n['SetPath'].execute()

みたいな感じのスクリプトをメニューとかボタンとして登録しておいて実行されれば、ワンクリック出力に一歩近づきますね。

そもそもこんな事しなくても、これらすべての処理を実行するようなPythonスクリプトを準備すればいいかと思うのですが、それはそれで結構大変で息をするのも面倒なので、手軽でポチポチ作れるようなやり方を紹介してみました。
他にも色んなアプローチがありそうですね。

0 件のコメント:

コメントを投稿