2

我正在为 Maya 创建自定义导入插件。我已经编写了一些导入代码并创建了一个自定义MPxSurfaceShape类(我主要对从视口中绘制表面感兴趣)。

形状被MPxCommand从磁盘读取文件的 a 装箱。现在我想从插件中将此对象添加到我的 Maya 场景中。但不幸的是,我找不到一个接受MPxNode/MPxSurfaceShape并将其添加到 Maya 以便显示的函数。

在我看到的所有示例中,节点都是从 mel 中实例化的。但我想将此实例链接到一个文件。这使我无法仅创建节点然后对其进行编辑。

apiMeshShape在 maya 插件文件夹或此处的示例中可能会找到类似的解决方案: https ://github.com/ADN-DevTech/Maya-Locator/ (也支持加载外部数据)。

4

1 回答 1

3

这是我希望能有所帮助的东西。

 MDagModifier dagMod;
 MObject newNode = dagMod.MDGModifier::createNode("Node Name")
 dagMod.doIt()

或者

 MDagModifier dagMod;
 MObject newNode = dagMod.MDGModifier::createNode(Node::id)
 dagMod.doIt()

从那里你有一个 MObject,你可以把它做成其他东西。

 //Dag Node example.
 MFnDagNode new_MDagNode(newNode);

 //Dependency Node.
 MFnDependencyNode new_DependNode(newNode);

MPxNode 还具有 thisMObject() ,它将为您提供 MPxNode 中的当前 MObject。 http://download.autodesk.com/us/maya/2010help/API/class_m_px_node.html#9608c582da0945e792c3f9893661404d

同样,我不确定我是否完全理解这个问题,但我希望这会有所帮助。

于 2014-05-28T21:38:42.690 回答