我正在尝试将多个字符串添加到"渲染设置层集合"的"包含"列表中。
请参阅此处的图像
在这里,我可以使用setPattern 添加"test1">
import maya.app.renderSetup.model.renderSetup as renderSetup
"""create render setup instance"""
rs = renderSetup.instance()
"""create the render layer"""
test = rs.createRenderLayer("fg_bty")
"""set render layer to be visible"""
rs.switchToLayer(test)
#create collection
scene_Assets = test.createCollection("scene_Assets")
# add specific items to collection
scene_Assets.getSelector().setPattern('test1')
如果我尝试:
scene_Assets.getSelector().setPattern('test1', 'test2')
我得到一个错误,因为它只接受2个参数,而不是给定的3个。
如果我尝试:
scene_Assets.getSelector().setPattern('test1')
scene_Assets.getSelector().setPattern('test2')
它只是用test2 替换字符串test1
有人知道如何附加到列表中,这样它就不会被替换吗?还有别的办法吗?我有一种明确列出项目的方法,但我想保留它作为一个表达式,以防以后需要添加内容。
您可以将两种模式设置为单个字符串:
scene_Assets.getSelector().setPattern('test1, test2')
您还可以使用检索以前设置的模式
scene_Assets.getSelector().getPattern()
检索并附加字符串,然后将新的组合模式设置为单个字符串
old_pattern = scene_Assets.getSelector().getPattern()
new_pattern = ', '.join([old_pattern, 'test3', 'test4'])
scene_Assets.getSelector().setPattern(new_pattern)
结果:"test1,test2,test3,test4">