我的总体想法是,最终在创建stickyNote节点时向它们添加一个按钮,当单击该按钮时,将运行一个脚本,该脚本将给我一个弹出窗口,允许我更改该值。我的第二个想法是,它只需要获取创建的默认值中的值,并让它为空,而不是让创建"type note here“时出现的默认值。
我已经尝试将值设置为(""),但节点仍然使用"type note here“创建。
def setColor(R,G,B):
return int("%02x%02x%02x%02x" % (R,G,B,1),16)
def StickyNoteOverride():
nuke.thisNode()["tile_color"].setValue(setColor(R=(255*.298),G=(255*.298),B=(255*.298)))
nuke.thisNode()["note_font_size"].setValue(60)
nuke.thisNode()["note_font_color"].setValue(setColor(R=(255),G=(255*.624),B=(255*.0)))
nuke.thisNode()["note_font"].setValue("Deja Vu Sans Bold")
nuke.thisNode()["label"].setValue("")
####nuke.thisNode()['label'].setText("")
####nuke.thisNode()['label'].setText("1")
nuke.addOnUserCreate(StickyNoteOverride, nodeClass = "StickyNote")到目前为止,我期望的代码也做了我想要的所有事情,除了将usercreate value的默认值更改为字段中的空,或者更改为值1,我通过.setText使用该值只是为了让它打印字段中的任何内容或更改字段。已在已创建的stickyNote上尝试更改.setText以更改该值。当运行.setText("1)时,返回的值与.getValue使用率一样,字段中的值为1。但是实际的节点根本没有改变。在进一步学习如何让它创建用户定义的按钮之前,我被困在更改标签的这个值上。
发布于 2019-10-07 05:45:11
它只适用于两种变体--字符串值"Lorem Ipsum Dolor..."和空字符串""
def stickyNoteOverridden():
colour = int('%02x%02x%02x%02x' % (0,128,64,1),16) # Greenish
nuke.thisNode()["tile_color"].setValue(colour)
nuke.thisNode()["note_font_size"].setValue(60)
nuke.thisNode()["note_font_color"].setValue(100)
nuke.thisNode()["note_font"].setValue("Deja Vu Sans Bold")
# nuke.thisNode()["label"].setValue("Lorem Ipsum Dolor...")
# nuke.thisNode()["label"].setValue("")
nuke.addOnUserCreate(stickyNoteOverridden, nodeClass = "StickyNote")
nuke.createNode("StickyNote")这里的一个关键时刻是使用.createNode()命令:
nuke.createNode("StickyNote")在macOS Mojave 10.14.6上的NukeX 11v3.5 NC中进行了测试。
https://stackoverflow.com/questions/58241334
复制相似问题