作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
此问题特定于 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/
我是一名优秀的程序员,十分优秀!