当我在导入应用程序中使用 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 中的自定义材质实例中的数据。
这里的正确方法是什么?