首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在for循环中使用nuke.allNodes()遍历多个nuke节点类?

如何在for循环中使用nuke.allNodes()遍历多个nuke节点类?
EN

Stack Overflow用户
提问于 2016-09-24 06:39:24
回答 1查看 1.7K关注 0票数 1

nuke.allNodes()可以过滤出一个特定的节点类,即nuke.allNodes("Transform")。但是如果我想让它过滤更多,该怎么做呢?一些变通的方法?

也许将它们放在: var = []中

但是我该如何访问一个示例中的motionblur值(这不起作用):

代码语言:javascript
复制
for i in var:
    print i.knob("motionblur").value() #Transform nuke node class
    print i.knob("samples").value() #ScanlineRender nuke node class

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-09-28 07:40:14

我有点困惑,因为在您的代码中有i.knob("motionblur").knob()中的字符串应该是旋钮的名称,而不是节点类型的名称。

我建议遍历所有节点并检查每个节点的类型。然后在该类型的节点上执行所需的任何操作。

代码语言:javascript
复制
for i in nuke.allNodes():
    if i.Class() == "MotionBlur":
        #DO SOMETHING
    elif i.Class() == "Transform":
        #DO SOMETHING

如果您对这两种类型的节点执行相同的操作,则可以合并两个列表并对其进行迭代。

代码语言:javascript
复制
n = nuke.allNodes("MotionBlur")
n.extend(nuke.allNodes("Transform"))
for i in n:
    #DO SOMETHING TO BOTH TYPES

我不知道您具体想要实现什么,所以这可能不是最有效的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39670522

复制
相关文章

相似问题

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