gpt4 book ai didi

python - Maya Python API 2.0没有MItDag,如何遍历DAG图?

转载 作者:行者123 更新时间:2023-11-28 18:45:56 25 4
gpt4 key购买 nike

此问题特定于 Autodesk Maya。使用 Maya 2014,SP 2。(正在下载 SP 3...)

当使用版本 1 的 Maya Python API 时,遍历 DAG 图是可行的:

import maya.OpenMaya as OM
dagIterator = OM.MItDag( OM.MItDag.kDepthFirst, OM.MFn.kInvalid )
dagNodeFn = OM.MFnDagNode()
# Traverse the scene.
while( not dagIterator.isDone() ):
... do stuff with current node on iterator ...
dagIterator.next()

但现在我尝试版本 2

import maya.api.OpenMaya as OM
dagIterator = OM.MItDag( OM.MItDag.kDepthFirst, OM.MFn.kInvalid )

导致错误

# Error: line 1: AttributeError: file <maya console> line 1: 'module' object has no attribute 'MItDag' # 

事实上,版本 2 文档没有显示 MItDag。

如何使用版本 2 API 遍历场景的 DAG 图?

最佳答案

现在更深入地使用 Maya API,答案是:

API 的第 2 版非常不完整。这个它做不到,其他很多高级场景也做不到。它的好处是它可以做的事情更易于编程。

但是,有时在 API 版本 1 中工作,有时在 API 版本 2 中工作效果不佳,因为无法将来自一个 API 的对象传递给另一个 API。

因此,一旦程序员超出了版本 2 的限制,正确的解决方案是完全停止使用版本 2。

恕我直言,这意味着任何严肃的程序员都不应该首先将时间浪费在版本 2 上,因为他们最终会丢弃该代码。


如果您正在寻找比直接编写版本 1 API 更更简单的解决方案,请考虑 "PyMel" library .

关于python - Maya Python API 2.0没有MItDag,如何遍历DAG图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20232835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com