Maya Python-添加多个字符串以渲染设置层集合

时间:2018-11-16 15:41:22

标签: python-2.7 maya maya-api

我试图将多个字符串添加到“渲染设置层集合”的“包含”列表中。

See Image Here

在这里我可以使用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')

它只是将字符串test1替换为test2

有人知道如何追加到列表中,以免被替换吗?另一种方法呢?我有一种明确列出项目的方法,但是我想保留它作为一种表达式,以防以后需要添加一些东西。

1 个答案:

答案 0 :(得分:0)

您可以将两种模式都设置为单个字符串:

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”