区分大纲中的当前项目和新项目

时间:2014-02-18 09:30:31

标签: python maya outliner

是否可以将当前项目存储在“大纲视图”中以及新项目中?

def main():
    setupRenderGlobals()
    importItems()
    frameViewport()

    global app
    app=QtGui.qApp  

    global form
    form = MainWindow()
    form.show()

EG。大纲中的当前项目(默认项目除外,例如相机): ['pCube1','pCube2','pSphere1']

然后import.adding in new items: ['pCube1','pCube2','pSphere1','man_Rig01','pShere2']

有人可以指导我如何写出一种可以区分新物品的方法吗?目前我的导入窗口(使用内部模块,即importItems())在我点击关闭/是否导入任何项目时不断弹出前缀窗口(MainWindow())。因此,我想以一种方式编写它,只有在添加新项目时才会弹出前缀窗口。


关闭选民的消息:对于Maya用户来说,这个问题 不明确。有等待发布的答案,但问题需要先重新打开。

1 个答案:

答案 0 :(得分:1)

Maya将对象存储在列表中。因此,每次导入内容时,它都会进入所述列表的末尾,如果您这样做,

coutBefore = len(cmds.ls())
导入前

。然后,您可以继续:

nodesImported = cmds.ls()[coutBefore:]
导入后

。可以直接将其包装到导入中。但这在MEL中做得最好。观察:我认为这不是一个好方法。因为你没有得到任何命名空间来保护糟糕的场景中的任何可能的导入问题。因此,另一种解决方案是使用命名空间导入,然后在用户请求时删除命名空间。