如何在Foundry Nuke中将字符串作为TCL命令求值?
在Nuke中执行存储在旋钮里的TCL命令
Nuke的文本输入旋钮会自动转义TCL语法,直接存入[lindex [split "xx_cc" "_"] 0]这类带方括号的内容时,它会被识别为纯字符串而非可执行命令。以下是几种可行的解决方法:
强制TCL解析文本旋钮内容:在文本节点中使用
[tcl {[value root.cxproject]}],这个写法会强制把旋钮里的字符串当作TCL命令执行,直接得到xx。改用Python脚本旋钮存储逻辑:给根节点添加Script_Knob(Python脚本旋钮)并命名为cxproject,在旋钮内写入:
return nuke.tcl("lindex [split \"xx_cc\" \"_\"] 0")之后在文本节点里直接调用
[value root.cxproject]即可获取结果。通过Python桥接执行:如果必须用文本输入旋钮存命令字符串,在文本节点内容里写:
[python {nuke.tcl(nuke.root()['cxproject'].value())}]这个写法会借助Python调用Nuke的TCL解释器,执行你存在旋钮里的命令字符串。
内容的提问来源于stack exchange,提问作者andio
相关产品推荐
相关产品推荐

