首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点创建覆盖导致错误

节点创建覆盖导致错误
EN

Stack Overflow用户
提问于 2017-07-21 01:52:16
回答 1查看 153关注 0票数 1

当我使用Foundry NUKE时,我一直在尝试学习一些Python来改进我的工作流程。我一直在做各种重写,在创建时改变节点。其中一个是StickyNote,我以前有过这样的覆盖:

代码语言:javascript
复制
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")

它工作了,给了我预期的结果,但后来我试图让它在创建时清除标签为空。

所以我在底部添加了这一行:

代码语言:javascript
复制
nuke.thisNode()["label"].setValue("")

并且它没有将标签的值设置为空。

因此,我将其更改为:

代码语言:javascript
复制
def StickyNoteOverride():
    noteNode = nuke.createNode("StickyNote")
    noteNode["tile_color"].setValue(setColor(R=(255*.298),G=(255*.298),B=(255*.298)))
    noteNode["note_font_size"].setValue(60)
    noteNode["note_font_color"].setValue(setColor(R=(255),G=(255*.624),B=(255*.0)))
    noteNode["note_font"].setValue("Deja Vu Sans Bold")
    noteNode["label"].setValue("")

现在,这个脚本使用预期的值创建节点,但对于我来说,它创建了大约200个节点,直到它出错为止。所有这些都在我的menu.py文件的底部被寻址/调用:

代码语言:javascript
复制
nuke.addOnUserCreate(StickyNoteOverride, nodeClass = "StickyNote")

我正在寻找一些帮助,以找出一个办法,添加标签为空创建。

谢谢,希望这是可以理解的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-21 02:40:34

试试这个(它在Script Editor中绝对有效):

代码语言:javascript
复制
import nuke
import nukescripts

m = toolbar.addMenu("Other", "ToolbarOther.png")
m.addCommand("StickyNote", "nukescripts.toolbar_sticky_note()", "#n", icon="StickyNote.png")

def toolbar_sticky_note():
   sticky = nuke.createNode("StickyNote")     
   sticky.knob("label").setValue("")     
   sticky.knob("selected").setValue(False)

toolbar_sticky_note()

试试这个(它在menu.py中有效):

代码语言:javascript
复制
m = toolbar.addMenu("Other", "ToolbarOther.png")
m.addCommand("StickyNote", "nuke.createNode('StickyNote')", "#n", icon="StickyNote.png")

或此语法:

代码语言:javascript
复制
m = toolbar.addMenu("Other", "ToolbarOther.png")
m.addCommand("StickyNote", "nuke.createNode('StickyNote', 'label <H6>test</H6> note_font Phosphate')", "#n", icon="StickyNote.png")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45221916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档