Maya c ++ API,将一个对象托管到另一个对象?

时间:2018-02-17 15:53:30

标签: maya maya-api

我正在学习maya c ++ API,并坚持最简单的任务。

我有一个对象(定位器):

//root loc
MObject locatorObj2 = dagModifier.createNode("transform");
MObject locShapeObj2 = dagModifier.createNode("locator", locatorObj);
dagModifier.renameNode(locatorObj2, "root2");
dagModifier.renameNode(locShapeObj2, "root2Shape");

和另一个:

//parent t
MStatus status;
MFnDagNode fnRoot(locatorObj);

status = fnRoot.addChild(locatorObj2, MFnDagNode::kNextPos, true);

我希望在第一个下面加上第二个。我试过了:

MFnDagNode

但是当我跑它时,玛雅崩溃了。我在这里使用MFnTransform rootTransform (locatorObj); status = rootTransform.addChild(locatorObj2, MFnDagNode::kNextPos, true); 是对的吗?我也尝试过:

git filter-branch

但我也得到了崩溃。我哪里错了? 谢谢。

1 个答案:

答案 0 :(得分:0)

我最终使用关节而不是定位器。这有效:

MFnIkJoint* rootJoint = new MFnIkJoint();
MObject rootTransform = rootJoint->create(MObject::kNullObj, &status);

MFnIkJoint* Joint = new MFnIkJoint();
MObject Transform = Joint->create(MObject::kNullObj, &status);

MStatus status = rootJoint ->addChild(Transform , MFnDagNode::kNextPos, false);