2

在 The Foundry's Nuke 里面有一个类叫做Node.

假设我有一个名为“节点”的对象Item1

如果print Item1我得到

#Print Item1
# Result:

maskChannelMask alpha
maskChannelInput none
inject false
invert_mask false
message Hello There

我想用“再见”替换“你好”我的猜测是

Item1 = str(Item1.replace("Hello There", "Goodbye")

但这显然会将其转换为字符串。

那么我将如何替换“节点”对象的内容,并将其保留为节点对象?

4

2 回答 2

0

您可以对消息执行替换(假设消息是“节点”对象的字段):

Item1.message = Item1.message.replace("Hello there", "Goodbye")
于 2013-07-03T17:31:39.423 回答
0

打印一个nuke.Node实例会导出该节点的字符串表示形式,显示旋钮名称及其当前值。

message部分指的是一个名为message, whcih you access by doingItem1['message'] , you can then callvalue() orsetValue()` 的旋钮。

因此,要修改该值,您将查询原始值,进行字符串替换,然后使用更新节点setValue

original = Item1['message'].value()
updated = original.replace("Hello There", "Goodbye")
Item1['message'].setValue(original)

这在 Nuke Python 开发指南中有所介绍,特别是在“入门”部分

于 2014-05-31T06:33:00.283 回答