2

我只想使用 python API(仅)列出当前 Autodesk Maya 场景文件中的所有参考节点,MFileIO在 C++ API 中调用了这个类,但是返回引用的文件名而不是参考节点,但没有这样的类Python API。

请对此提出任何建议。

注意:我不想仅通过 API 使用 MEL 或 Python 命令。

4

1 回答 1

1

您可以使用 Maya 的“ls”命令列出场景中的所有参考节点:

import maya.mel as mm
refNodes = mm.eval('ls -type reference')

'refNodes' 将包含一组参考节点名称。

如果您出于某种原因不喜欢使用 Maya 命令,也可以完全通过 API 进行操作:

import maya.api.OpenMaya as om
it = om.MItDependencyNodes(om.MFn.kReference)
refNodes = om.MObjectArray()
while not it.isDone():
    refNodes.append(it.thisNode())
    it.next()

'refNodes' 将是一个 MObjectArray,其中包含场景中所有参考节点的 MObject。

于 2017-12-24T11:29:52.707 回答