我想在The Foundry Nuke UI中创建一个全局参数,以控制运动模糊值和快门角度。
如何使用Python完成此操作?
任何帮助表示赞赏。
最佳答案
我已经找到了一种非常简单有效的方法来在Nuke中全局控制MotionBlur
-仅使用通常的NoOp
节点(用作控制器)和LinkerScript。这是实际的工作方式。为了测试,创建三个Transform
节点(每个“变换”节点都包含motionblur
,shutter
和shutter offset
旋钮)。
在NUKE的脚本编辑器内部或通过menu.py
文件在外部运行LinkerScript。然后选择所有Transform
节点,然后从NUKE的工具栏中选择:Gizmos
– NoOp Controls Linker
。就这样。现在,您可以通过MotionBlur
控制器全局控制所有Transform
节点的NoOp
(motionblur
和shutter
属性现在通过表达式链接)。
这是我的LinkerScript:
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()')
您应该在工具栏中为新命令加载
24x24 pixels
PNG图标文件。附言不要忘记将PNG图标文件放到隐藏的
.nuke
目录中(如果您使用Mac,如您所说,其路径为– /Users/<userName>/.nuke
),并相应地调整menu.py
文件(粘贴必要的Python码)。有关更多详细信息,请阅读Nuke Directory Locations文章。
希望这可以帮助。
关于python - 如何创建全局运动模糊参数并对其进行全局控制?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54173364/