Nuke-Python事始め


今年もまた誰もがノータッチなのでやったりました。
卯、辰、巳とCG屋的には当たり年なのに誰もそこに触れない、気づかないのが残念でなりませんよ!!

兎といえばスタンフォードバニー
龍もこれまたスタンフォードドラゴン
そして来年蛇といえばこれしかないでしょう

今年はアジアンドラゴンとどちらにするか迷ったのはナイショです。

ライティングのイメージはコーネルボックスです。
新年からひどいCGオタクっぷりっですね。こじらせています。

来年こそは皆様の力作に期待しています(?)

さ、て。

早々に話がそれましたが、新年初ポストはここ最近ちょろっと触った
NukeのPythonで割と使いそうなネタのメモをコピペ。
今後もうちょい活用の道を見出していきたいところです。


では、以下つらつらとコピペ。

 
選択されたノードの取得
nuke.selectedNodes() # 選択したやつ全部が返ってくる
nuke.selectedNode() # 最後に選んだやつが返ってくる

名前でノードオブジェクトを取得
nuke.toNode(‘Grade1’)

名前を指定してパラメータ(knob)にアクセス
node[‘aaa’]
node.knob(‘aaa’)
※これらはどちらも同じオブジェクトが返ってくる。

knobの値の設定、取得
node[‘a’].getValue()
node[‘a’].setValue(x)

選択したノードをinputとしているノードだけsizeを5にする
このネタはこちらからのコピペです。 dependentNodesってのがあるんですね。
myNode = nuke.selectedNodes()
for n in nuke.dependentNodes( nuke.INPUTS, myNode ):
n.knob(‘size’).setValue(5)

ノードの作成
参考URL
nuke.nodes.ノードタイプ()
例えば
nuke.nodes.Write() # writeノードの作成
nuke.nodes.Blur() # Blurノードの作成
など

ノードタイプの取得
node.Class()

レンダリングの実行
参考URL
nuke.execute(“name”, start, end, incr)
例えば
nuke.execute(‘Write1’, 1, 100, 1)

全ノードの取得
nuke.allNodes()

カレントのnkスクリプトのパスを取得
nuke.root().name()

カレントのnkスクリプトのディレクトリを取得
nuke.script_directory()
上記の方法でフルパス取った後にos.path.dirname()しても良いと思う。

 
 
(・・)ノシ

コメントを残す

メールアドレスが公開されることはありません。