Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }