我正在学习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
但我也得到了崩溃。我哪里错了? 谢谢。
答案 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);