在Foundry的Nuke里面有一个名为Node
的课程。
假设我有一个名为Item1
如果我print Item1
我
#Print Item1
# Result:
maskChannelMask alpha
maskChannelInput none
inject false
invert_mask false
message Hello There
我想用“再见”取代“Hello There” 我猜是
Item1 = str(Item1.replace("Hello There", "Goodbye")
但显然将其转换为字符串。
那么我该如何更换“node”对象的内容,并将其保留为节点对象?
答案 0 :(得分:0)
您可以对消息执行替换(假设消息是“节点”对象的字段):
Item1.message = Item1.message.replace("Hello there", "Goodbye")
答案 1 :(得分:0)
节点对象没有名为message的字段。从参考表中看,似乎没有任何直接的方法来编辑这些值。
但是在python中没有直接的方法吗?
答案 2 :(得分:0)
打印nuke.Node
实例会转出该节点的字符串表示形式,显示旋钮名称及其当前值。
message
部分是指一个名为message, whcih you access by doing
Item1 [' message'] , you can then call
value()or
setValue()`的旋钮
因此,要修改该值,您需要查询原始值,执行字符串替换,然后使用setValue
更新节点
original = Item1['message'].value()
updated = original.replace("Hello There", "Goodbye")
Item1['message'].setValue(original)
Nuke Python开发指南中对此进行了介绍,特别是在"Getting Started" section
中