2014-10-15

ノードグラフ上でノードを移動するツール

あれ?これって標準であったりする?
ノードグラフ上でグリッドの値だけノードをオフセットするツール。

NodeShift.py
import nuke def shiftHP():     shiftH = nuke.toNode('preferences')['GridWidth'].value()     sn = nuke.selectedNodes()     for n in sn:         posX = n['xpos'].value()         newPosX = posX + shiftH         n['xpos'].setValue(newPosX) def shiftHN():     shiftH = nuke.toNode('preferences')['GridWidth'].value()     sn = nuke.selectedNodes()     for n in sn:         posX = n['xpos'].value()         newPosX = posX - shiftH         n['xpos'].setValue(newPosX) def shiftVP():     shiftV = nuke.toNode('preferences')['GridHeight'].value()     sn = nuke.selectedNodes()     for n in sn:         posY = n['ypos'].value()         newPosY = posY - shiftV         n['ypos'].setValue(newPosY) def shiftVN():     shiftV = nuke.toNode('preferences')['GridHeight'].value()     sn = nuke.selectedNodes()     for n in sn:         posY = n['ypos'].value()         newPosY = posY + shiftV         n['ypos'].setValue(newPosY)


でmenu.pyに

menu.py
import NodeShift m.addCommand("shiftHP", "NodeShift.shiftHP()", "ctrl+shift+Right") m.addCommand("shiftHN", "NodeShift.shiftHN()", "ctrl+shift+Left") m.addCommand("shiftVP", "NodeShift.shiftVP()", "ctrl+shift+Up") m.addCommand("shiftVN", "NodeShift.shiftVN()", "ctrl+shift+Down")

の記述を加えれば。ctrl + shift + カーソルキー(矢印キー)で選んだノードを矢印方向に1グリッドだけ動かせる。複数選択でもOK。

2 comments:

  1. これ人から「こんな機能ないですかね?」って聞かれてた奴
    早速実装
    楽ちん!

    ReplyDelete
  2. snap to grid 派には欠かせない機能系ですね:)

    ReplyDelete