0

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

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

    global app
    app=QtGui.qApp  

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

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

然后 importing.adding in of new items: ['pCube1', 'pCube2', 'pSphere1', 'Man_Rig01', 'pShere2']

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


给接近选民的信息:这个问题对 Maya 用户来说并不清楚。有答案等待发布,但需要先重新打开问题。

4

1 回答 1

1

Maya 将对象存储在列表中。所以每次你导入东西时,它都会放在所述列表的末尾,所以如果你这样做了,

coutBefore = len(cmds.ls())

在您导入之前。然后,您可以继续:

nodesImported = cmds.ls()[coutBefore:]

导入后。可以直接将其包装到导入中。但这最好在 MEL 中完成。观察:我不认为这是一个好方法。由于您没有任何名称空间来保护任何可能的导入问题免受不良场景的影响。因此,另一种解决方案是使用命名空间导入,然后在用户询问时剥离命名空间。

于 2014-02-18T20:15:35.710 回答