【问题标题】:Maya Python - add multiple strings to render setup layer collectionsMaya Python - 添加多个字符串以渲染设置层集合
【发布时间】:2018-11-16 15:41:21
【问题描述】:

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

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

有谁知道如何追加到列表中以使其不被替换?另一种方法来做到这一点?我有办法明确列出项目,但我想将其保留为表达式,以防以后需要添加内容。

【问题讨论】:

    标签: python-2.7 maya maya-api


    【解决方案1】:

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

    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'

    【讨论】:

    • 嗨,亚历克斯,感谢您的帮助!一些非常实用的技巧!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多