Добавьте пользовательскую фигуру в сцену Maya из C++

Я нахожусь в процессе создания пользовательского плагина импорта для Maya. Я уже написал некоторый код импорта и создал кастом MPxSurfaceShape класс (я в основном заинтересован в рисовании поверхности из области просмотра).

Форма создается MPxCommand который читает файл с диска. Теперь я хотел бы добавить этот объект в мою сцену майя из плагина. Но, к сожалению, я не могу найти функцию, которая принимает MPxNode/MPxSurfaceShape и добавляет его в Maya, чтобы его можно было отобразить.

Во всех примерах, которые я видел, создается экземпляр узла из mel. Но я хочу связать этот экземпляр с файлом. Что мешает мне просто создать узел и затем отредактировать его.

Аналогичное решение может быть найдено либо в apiMeshShape Пример в папке плагина maya или здесь: https://github.com/ADN-DevTech/Maya-Locator/ (также поддерживает загрузку внешних данных).

1 ответ

Решение

Вот кое-что, я надеюсь, поможет.

 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(), который даст вам текущий MObject в MPxNode. http://download.autodesk.com/us/maya/2010help/API/class_m_px_node.html

Опять же, я не уверен, что полностью понимаю вопрос, но надеюсь, что это поможет.

Другие вопросы по тегам