public static List <CommandData> GetCommandDatas() { List <CommandData> cmdList = new List <CommandData>(); cmdList.Add(new CommandData("骨骼", cmdStr, "add", "沿骨骼生成曲线", () => { CreateJointsCurve(BasicFunc.GetSelectedList()); })); cmdList.Add(new CommandData("骨骼", cmdStr, "clearRotation", "清除层级下骨骼旋转", () => { ClearHierachyJointsRotation(); })); cmdList.Add(new CommandData("骨骼/优雅极向量", cmdStr, "beautifulPole_x", "极向量清除X", () => { BeautifulPole(null, true, false, false); })); cmdList.Add(new CommandData("骨骼/优雅极向量", cmdStr, "beautifulPole_y", "极向量清除Y", () => { BeautifulPole(null, false, true, false); })); cmdList.Add(new CommandData("骨骼/优雅极向量", cmdStr, "beautifulPole_z", "极向量清除Z", () => { BeautifulPole(null, false, false, true); })); cmdList.Add(new CommandData("骨骼/优雅极向量", cmdStr, "beautifulPole_xy", "极向量清除XY", () => { BeautifulPole(null, true, true, false); })); cmdList.Add(new CommandData("骨骼/优雅极向量", cmdStr, "beautifulPole_xz", "极向量清除XZ", () => { BeautifulPole(null, true, false); })); cmdList.Add(new CommandData("骨骼/优雅极向量", cmdStr, "beautifulPole_yz", "极向量清除YZ", () => { BeautifulPole(null, false); })); cmdList.Add(new CommandData("骨骼/优雅极向量", cmdStr, "beautifulPole_xyz", "极向量清除XYZ", () => { BeautifulPole(null); })); cmdList.Add(new CommandData("骨骼", cmdStr, "manyBeautifulPole", "为很多漂亮的极向量铺路", () => { BasicFunc.IterateSelectedDags((dag) => { BeautifulPole(dag, true); }); })); cmdList.Add(new CommandData("骨骼", "过渡骨")); cmdList.Add(new CommandData("骨骼", cmdStr, "lerpJoints", "过渡骨编辑器", () => { JointProcessWindow jpw = new JointProcessWindow(); jpw.Topmost = true; jpw.Show(); })); return(cmdList); }
private static List <MFnIkJoint> GetSelectedJoints(MSelectionList selectedList = null) { if (selectedList == null) { selectedList = BasicFunc.GetSelectedList(); } List <MFnIkJoint> joints = new List <MFnIkJoint>(); BasicFunc.IterateSelectedDags((dag) => { joints.Add(new MFnIkJoint(dag)); }, MFn.Type.kJoint, selectedList); return(joints); }