import nuke
controller = nuke.nodes.NoOp()
# There are two identical parameters in parentheses :
# the 1st one is a real property's name, and the 2nd one is a label for GUI.
knobMB = nuke.Double_Knob('motionblur', 'motionblur')
knobSH = nuke.Double_Knob('shutter', 'shutter')
controller.addKnob(knobMB)
controller.addKnob(knobSH)
def linkNoOpControls():
for everyNode in nuke.selectedNodes():
everyNode['motionblur'].setExpression('NoOp1.motionblur')
everyNode['shutter'].setExpression('NoOp1.shutter')
toolbar = nuke.menu("Nodes")
gizmos = toolbar.addMenu("Gizmos", icon='LinkerIcon.png')
gizmos.addCommand("NoOp Controls Linker", 'linkNoOpControls()')
我发现了在Nuke中全局控制}旋钮)。在
MotionBlur
的简单而有效的方法——只需使用常用的NoOp
节点作为控制器,以及LinkerScript。下面是它在实践中的工作原理。为测试创建三个Transform
节点(每个转换节点包含motionblur
、shutter
和{在NUKE的脚本编辑器中内部运行链接脚本,或者通过}属性)。在
menu.py
文件在外部运行。然后选择所有的Transform
节点,并从NUKE的工具栏中选择:Gizmos
–NoOp Controls Linker
。这就是全部。现在您可以通过NoOp
控制器为所有Transform
节点全局控制MotionBlur
(现在通过表达式链接motionblur
和{这是我的链接脚本:
您应该为工具栏中的新命令加载一个
24x24 pixels
PNG图标文件。在注意:别忘了把你的PNG图标文件放到一个隐藏的
.nuke
目录中(如果你使用Mac,正如你所说,它的路径是–/Users/<userName>/.nuke
),并相应地调整你的menu.py
文件(粘贴必要的Python代码)。在有关详细信息,请阅读Nuke Directory Locations文章。在
希望这有帮助。在
相关问题 更多 >
编程相关推荐