如何从maya中的上游节点获取数据?

我有一个 Maya 节点myNode,它创建一个shadeNode,该inMesh属性连接到shapeNode.outMesh并具有一个属性distance

myNode.outMesh -> shapeNode.inMesh
myNode.distance = 10

然后我有一个命令,它适用于形状节点,但需要距离参数,它通过迭代inMesh连接来实现:

MPlugArray meshConnections;
MPlug inMeshPlug = depNodeFn.findPlug("inMesh"); 
inMeshPlug.connectedTo(meshConnections, true, false); // in connections

bool node_found = false;
for(uint i = 0; i < numConnections; i++) {
    MPlug remotePlug = meshConnections[i];
    myNode = remotePlug.node();
    if(MFnDependencyNode(myNode ).typeName() == "myNode") {
        node_found = true;
        break;
    }
}
MFnDependencyNode myDepNode(myNode);
MPlug distancePlug = myDepNode.findPlug("distance");

现在我遇到了一个问题,当将另一个节点(另一种类型)应用于 时myShape,因为依赖关系图现在看起来像这样:

myNode.outMesh -> myOtherNode.inMesh
                  myOtherNode.outMesh -> shapeNode.inMesh
myNode.distance = 10

我试图删除对 的检查typeName() == "myNode",因为我理解文档就像应该递归到父节点一样,当下一个节点返回Mstatus::kInvalidParameter未知的 MPlug 时,但我无法在distance不实现进一步图形遍历的情况下到达插头。

即使在中间添加了一些其他节点,可靠地找到父节点的属性的正确方法是什么?

命令本身应该使用距离插头来连接myNode连接到某个以递归方式获取值的插头。如果可能,我不想更改myOtherNode为具有用于转发数据的距离插头和相应的连接。

我在如何获取图中所有节点的问题的答案(python 代码)中找到了答案我在MPxCommandnow 中查找节点的代码如下所示:

MPlugArray meshConnections;
MPlug inMeshPlug = depNodeFn.findPlug("inMesh"); 
MItDependencyGraph depGraphIt(inMeshPlug, MFn::kInvalid, MItDependencyGraph::Direction::kUpstream);
bool offset_mesh_node_found = false;
while(!depGraphIt.isDone()) {
    myNode = depGraphIt.currentItem();
    if(MFnDependencyNode(myNode).typeName() == "myNode") {
        offset_mesh_node_found = true;
        break;
    }
    depGraphIt.next();
}

所述MItDependencyGraph可遍历的上游或下游方向的任图表从对象或插头开始。在这里,我只搜索 的第一个实例myNode,因为我认为在我的用例中只会有一个。然后它连接图中的距离MPlug,当插入更多网格变换时,它仍然有效。

MItDependencyGraph对象允许过滤器节点ID,但只有数字节点ID不是节点名称。当我在所有插件中分配了唯一的 Maya id时,我可能会稍后添加一个过滤器

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从节点列表中的节点获取属性?

来自分类Dev

如何从Xpath中的父节点获取所选节点的位置

来自分类Dev

如何获取信息,例如分区号,分区内的数据,分区在hazelcast中的节点之间散布

来自分类Dev

如何使用python隔离Maya中的组节点

来自分类Dev

R:如何从根节点遍历到iGraph数据对象中的每个叶节点并获取路径?

来自分类Dev

如何从d3节点数据中获取dom svg元素?

来自分类Dev

Git不在获取上游数据吗?

来自分类Dev

从Maya C ++ API中的变换节点获取网格节点

来自分类Dev

如何在Maya API中从MObject获取Node类实例

来自分类Dev

如何从XML文件中准确获取子节点和该节点中的数据

来自分类Dev

在Pandas数据框中获取节点祖先

来自分类Dev

如何从具有不同节点的XML中获取数据作为SQL Server中的列

来自分类Dev

如何从SQL中的XML获取指定的节点

来自分类Dev

如何在omnet ++中获取模型的节点?

来自分类Dev

如何从Maya python的列表中获取或设置对象的属性?

来自分类Dev

如何在Angular中获取父节点

来自分类Dev

如何从节点列表中的节点获取属性?

来自分类Dev

如何使用python隔离Maya中的组节点

来自分类Dev

如何从同级节点获取数据

来自分类Dev

如何在GOJS的模板中获取节点数据?

来自分类Dev

如何使用Java获取XML中的节点?

来自分类Dev

从詹金斯管道中的上游作业获取数据?

来自分类Dev

如何获取胡子中的先前节点值

来自分类Dev

在 Hadoop 中,Namenode 将如何获取机架详细信息和属于机架的数据节点?

来自分类Dev

如何从 XML 节点获取数据?

来自分类Dev

如何从 C# 中的每个节点获取 XML 数据:SenderNumber 和 TextDecoded

来自分类Dev

如何从节点“请求”模块中获取数据

来自分类Dev

如何获取上游作业在管道下游作业中运行的节点名称

来自分类Dev

如何获取我的 firebase 数据库中存在的所有父节点?

Related 相关文章

  1. 1

    如何从节点列表中的节点获取属性?

  2. 2

    如何从Xpath中的父节点获取所选节点的位置

  3. 3

    如何获取信息,例如分区号,分区内的数据,分区在hazelcast中的节点之间散布

  4. 4

    如何使用python隔离Maya中的组节点

  5. 5

    R:如何从根节点遍历到iGraph数据对象中的每个叶节点并获取路径?

  6. 6

    如何从d3节点数据中获取dom svg元素?

  7. 7

    Git不在获取上游数据吗?

  8. 8

    从Maya C ++ API中的变换节点获取网格节点

  9. 9

    如何在Maya API中从MObject获取Node类实例

  10. 10

    如何从XML文件中准确获取子节点和该节点中的数据

  11. 11

    在Pandas数据框中获取节点祖先

  12. 12

    如何从具有不同节点的XML中获取数据作为SQL Server中的列

  13. 13

    如何从SQL中的XML获取指定的节点

  14. 14

    如何在omnet ++中获取模型的节点?

  15. 15

    如何从Maya python的列表中获取或设置对象的属性?

  16. 16

    如何在Angular中获取父节点

  17. 17

    如何从节点列表中的节点获取属性?

  18. 18

    如何使用python隔离Maya中的组节点

  19. 19

    如何从同级节点获取数据

  20. 20

    如何在GOJS的模板中获取节点数据?

  21. 21

    如何使用Java获取XML中的节点?

  22. 22

    从詹金斯管道中的上游作业获取数据?

  23. 23

    如何获取胡子中的先前节点值

  24. 24

    在 Hadoop 中,Namenode 将如何获取机架详细信息和属于机架的数据节点?

  25. 25

    如何从 XML 节点获取数据?

  26. 26

    如何从 C# 中的每个节点获取 XML 数据:SenderNumber 和 TextDecoded

  27. 27

    如何从节点“请求”模块中获取数据

  28. 28

    如何获取上游作业在管道下游作业中运行的节点名称

  29. 29

    如何获取我的 firebase 数据库中存在的所有父节点?

热门标签

归档