gpt4 book ai didi

python - maya 如何知道您的 MPxNode 的输出网格是什么?

转载 作者:行者123 更新时间:2023-11-27 23:54:10 25 4
gpt4 key购买 nike

使用 PolyModifierNode 时, 节点有一个 inMesh 和一个 outMesh 属性/插件,其中 inMesh 被隐藏并替换为 outMesh。但是一般MPxNode可能有很多输入和输出,它们可以以复杂的方式联网。

我在理解 MPxNode 结构时遇到的问题是,我看不出 Maya 以何种方式知道输入中的哪些对象被转换为哪些输出对象。我本以为图表中最后一个节点的 outMesh 连接到某个 SceneRenderer.inputMeshes 插件,但 maya 似乎以某种方式自动检测未使用的 outMesh 插件应该被渲染。

最后我想写一个节点,它获取一个输入网格数组和一个额外的控制网格,并且应该输出一个修改后的网格数组,它替换了原始网格。

我正在使用组中所有对象相互影响的计算,因此不能一个一个地完成。可以为每个输入使用一个节点,但计算函数也需要触发对所有其他输入网格的计算。

最佳答案

Maya 不检测未连接的插头。相反,它会在节点网络中的某些内容发生变化时按需进行评估,并在必要时强制进行重新评估。当您使用 MPxNode::attributeAffects() 或其 Python 等效项初始化节点时,您可以设置它关心的条件。对输入的更改将根据需要由其他节点推送到下游;当您的节点发生变化时,它将调用 MPxNode::compute compute() 并将适当的插头作为参数传递。然后,您的节点将更新其输出,将它们沿着链传递到其他节点。

您可能不想让您的节点接受一组输入节点并返回一组输出。制作一个一次只修改一个节点的节点更简单,更像 maya。这有助于本地化依赖图中的变化并使您的场景运行得更快。

关于python - maya 如何知道您的 MPxNode 的输出网格是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43896000/

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