如何使用Maya C ++ API从.mb中的自定义材料中提取用户数据?

时间:2012-11-30 08:05:49

标签: c++ import export maya material

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

以下是更详细的情况:

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

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

这里有什么正确的方法?

1 个答案:

答案 0 :(得分:0)

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

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

(我正在寻找像“属性”和“数据字段”这样的名字 - 我找不到任何名为“插件”的东西。