Maya Python - добавить несколько строк для рендеринга коллекций слоев настройки - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь добавить несколько строк в список включений моей коллекции слоев настройки рендеринга.

См. Здесь изображение

Здесь я могу добавить 'test1', используяsetPattern

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 голосов
/ 17 ноября 2018

вы можете установить оба шаблона как одну строку:

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'

...