我正在为maya创建自定义导入插件。我已经编写了一些导入代码并创建了一个自定义MPxSurfaceShape
类(我主要对从视口中绘制曲面感兴趣)。
形状由MPxCommand
创建,它从磁盘读取文件。现在我想从插件中将这个对象添加到我的maya场景中。但遗憾的是,我无法找到一个带MPxNode
/ MPxSurfaceShape
的函数并将其添加到Maya中,以便可以显示它。
在所有示例中,我已经看到节点是从mel内部实例化的。但我想将此实例链接到一个文件。这使我无法创建节点然后进行编辑。
可以在maya插件文件夹中的apiMeshShape
示例或此处找到类似的解决方案:https://github.com/ADN-DevTech/Maya-Locator/(也支持加载外部数据)。
答案 0 :(得分: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
我再也不确定我完全理解这个问题,但我希望这会有所帮助。