0

当我在导入应用程序中使用 C++ Maya API 解析 .mb 时,如何提取用户在我的自定义材质字段中输入的数据?(我怀疑我已经可以访问包含用户输入的 MObject,但不知道如何提取它)

以下是更详细的情况:

  • 我使用 C++ Maya API 定义了一个自定义材质(我创建了一个定义自定义 MPxNode 的 .mll,它又为用户定义了一些浮点和枚举字段)
  • 在 Maya 中,我可以将新材质“分配给具有自定义材质的对象”,然后修改自定义材质的数据字段并保存 .mb
  • 在我的 C++ Maya 导入器中,我遍历 DAG 和 DG,并且如预期的那样,注意自定义材质的一次出现(通过将材质 MObject 标识为调用 MObject::hasFn(MFn::kPluginDependNode) 返回的唯一材质来指出真的)
  • 我可以使用 MFnDependencyNode::attribute("datafieldName") 按名称提取我的每个自定义着色器的数据字段——尝试提取不存在的数据字段按预期失败

...但是这些提取的数据字段是 MObject 的,我不知道如何提取用户输入到 Maya 中的自定义材质实例中的数据。

这里的正确方法是什么?

4

1 回答 1

0

这是我正在寻找的缺失链接:

MFnDependencyNode::findPlug("datafieldName") 返回一个 MPlug,然后提供对用户输入数据的访问。

(我正在搜索“属性”和“数据字段”之类的名称——我没有想到要寻找任何称为“插头”的东西)

于 2012-11-30T23:04:43.923 回答