首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MayaPythonAPI2.0没有MItDag,那么如何遍历DAG图呢?

MayaPythonAPI2.0没有MItDag,那么如何遍历DAG图呢?
EN

Stack Overflow用户
提问于 2013-11-27 02:32:12
回答 1查看 1.8K关注 0票数 3

这个问题是专门针对Autodesk Maya的。使用Maya 2014,SP 2. (现在下载SP 3.)

当使用的第1版时,遍历DAG图时可以这样做:

代码语言:javascript
运行
复制
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版

代码语言:javascript
运行
复制
import maya.api.OpenMaya as OM
dagIterator = OM.MItDag( OM.MItDag.kDepthFirst, OM.MFn.kInvalid )

会导致错误

代码语言:javascript
运行
复制
# Error: line 1: AttributeError: file <maya console> line 1: 'module' object has no attribute 'MItDag' # 

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-07 05:45:06

在深入研究Maya之后,答案是:

API的第2版非常不完整。它不能做到这一点,也不能做许多其他高级方案。它的好处是,它所能做的事情,编程要简单得多。

但是,有时在API版本1中工作,有时在API版本2中工作并不好,因为一个API中的对象不能传递给另一个API。

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

IMHO,这意味着任何严肃的程序员一开始就不应该浪费他们在第2版上的时间,因为他们最终会丢弃那些代码。

如果您正在寻找比直接编程版本1 API更容易的解决方案,那么请考虑"PyMel“库

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20232835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档