//主界面 if(`window -ex mirror`){deleteUI mirror;} window -t "mirror v1.1 by Wu" -w 200 -h 500 mirror; columnLayout -adjustableColumn 1; // text -l " "; text -l "Arm only"; text -l " "; button -l "Switch IK and FK (Arm)" -c "ArmIF"; text -l " "; text -l "---IK---" -bgc 1 1 1; text -l " "; button -l "Right >>> Left" -c "Right_to_Left_Arm"; text -l " "; button -l "Right <<< Left" -c "Left_to_Right_Arm"; text -l " "; text -l "---FK---" -bgc 1 1 1; text -l " "; button -l "Right >>> Left" -c "Right_to_Left_Arm_FK"; text -l " "; button -l "Right <<< Left" -c "Left_to_Right_Arm_FK"; text -l " "; text -l "---------------------------" -bgc 0.6 0.6 0.6; text -l " "; text -l "Lge only"; text -l " "; button -l "Switch IK and FK (Lge)" -c "LegIF"; text -l " "; text -l "---IK---" -bgc 1 1 1; text -l " "; button -l "Right >>> Left" -c "Right_to_Left_Leg"; text -l " "; button -l "Right <<< Left" -c "Left_to_Right_Leg"; text -l " "; text -l "---FK---" -bgc 1 1 1; text -l " "; button -l "Right >>> Left" -c "Right_to_Left_Leg_FK"; text -l " "; button -l "Right <<< Left" -c "Left_to_Right_Leg_FK"; text -l " "; text -l "---------------------------" -bgc 0.6 0.6 0.6; text -l " "; text -l "Hand only (IK)"; text -l " "; button -l "Right >>> Left" -c "Right_to_Left_Hand"; text -l " "; button -l "Right <<< Left" -c "Left_to_Right_Hand"; text -l " "; // window -e -w 350 -h 300 mirror; showWindow; //函数 //切换IF和FK global proc ArmIF() { int $FK=`getAttr Bony_rArmSwitchC.SwitchIkFk`; if($FK==1) { setAttr "Bony_rArmSwitchC.SwitchIkFk" 0; setAttr "Bony_lArmSwitchC.SwitchIkFk" 0; } else { setAttr "Bony_rArmSwitchC.SwitchIkFk" 1; setAttr "Bony_lArmSwitchC.SwitchIkFk" 1; } } // global proc LegIF() { int $FK=`getAttr Bony_rLegSwitchC.SwitchIkFk`; if($FK==1) { setAttr "Bony_rLegSwitchC.SwitchIkFk" 0; setAttr "Bony_lLegSwitchC.SwitchIkFk" 0; } else { setAttr "Bony_rLegSwitchC.SwitchIkFk" 1; setAttr "Bony_lLegSwitchC.SwitchIkFk" 1; } } //手 右 >>> 左 global proc Right_to_Left_Arm_FK() { //位移 float $A1; $A1=-`getAttr Bony_rWristIKC.translateX`; setAttr "Bony_lWristIKC.translateX" $A1; // $A1=-`getAttr Bony_rWristIKC.translateY`; setAttr "Bony_lWristIKC.translateY" $A1; // $A1=-`getAttr Bony_rWristIKC.translateZ`; setAttr "Bony_lWristIKC.translateZ" $A1; //旋转 $A1=`getAttr Bony_rWristIKC.rotateX`; setAttr "Bony_lWristIKC.rotateX" $A1; // $A1=`getAttr Bony_rWristIKC.rotateY`; setAttr "Bony_lWristIKC.rotateY" $A1; // $A1=`getAttr Bony_rWristIKC.rotateZ`; setAttr "Bony_lWristIKC.rotateZ" $A1; //胳膊肘 $A1=-`getAttr Bony_rElbowIKC.translateX`; setAttr "Bony_lElbowIKC.translateX" $A1; // $A1=`getAttr Bony_rElbowIKC.translateY`; setAttr "Bony_lElbowIKC.translateY" $A1; // $A1=`getAttr Bony_rElbowIKC.translateZ`; setAttr "Bony_lElbowIKC.translateZ" $A1; // } //手 左 >>> 右 global proc Left_to_Right_Arm_FK() { //位移 float $A1; $A1=-`getAttr Bony_lWristIKC.translateX`; setAttr "Bony_rWristIKC.translateX" $A1; // $A1=-`getAttr Bony_lWristIKC.translateY`; setAttr "Bony_rWristIKC.translateY" $A1; // $A1=-`getAttr Bony_lWristIKC.translateZ`; setAttr "Bony_rWristIKC.translateZ" $A1; //旋转 $A1=`getAttr Bony_lWristIKC.rotateX`; setAttr "Bony_rWristIKC.rotateX" $A1; // $A1=`getAttr Bony_lWristIKC.rotateY`; setAttr "Bony_rWristIKC.rotateY" $A1; // $A1=`getAttr Bony_lWristIKC.rotateZ`; setAttr "Bony_rWristIKC.rotateZ" $A1; //胳膊肘 $A1=-`getAttr Bony_lElbowIKC.translateX`; setAttr "Bony_rElbowIKC.translateX" $A1; // $A1=`getAttr Bony_lElbowIKC.translateY`; setAttr "Bony_rElbowIKC.translateY" $A1; // $A1=`getAttr Bony_lElbowIKC.translateZ`; setAttr "Bony_rElbowIKC.translateZ" $A1; // } //胳膊 右 >>> 左 global proc Right_to_Left_Arm() { //肩膀 float $A1; $A1=`getAttr Bony_rClavicleC.rotateX`; setAttr "Bony_lClavicleC.rotateX" $A1; // $A1=`getAttr Bony_rClavicleC.rotateY`; setAttr "Bony_lClavicleC.rotateY" $A1; // $A1=`getAttr Bony_rClavicleC.rotateZ`; setAttr "Bony_lClavicleC.rotateZ" $A1; // //手臂第一个关节 $A1=`getAttr Bony_rShoulderFKC.rotateX`; setAttr "Bony_lShoulderFKC.rotateX" $A1; // $A1=`getAttr Bony_rShoulderFKC.rotateY`; setAttr "Bony_lShoulderFKC.rotateY" $A1; // $A1=`getAttr Bony_rShoulderFKC.rotateZ`; setAttr "Bony_lShoulderFKC.rotateZ" $A1; // //手臂第二个关节 $A1=`getAttr Bony_rElbowFKC.rotateY`; setAttr "Bony_lElbowFKC.rotateY" $A1; // //手腕 $A1=`getAttr Bony_rWristFKC.rotateX`; setAttr "Bony_lWristFKC.rotateX" $A1; // $A1=`getAttr Bony_rWristFKC.rotateY`; setAttr "Bony_lWristFKC.rotateY" $A1; // $A1=`getAttr Bony_rWristFKC.rotateZ`; setAttr "Bony_lWristFKC.rotateZ" $A1; // } //胳膊 左 >>> 右 global proc Left_to_Right_Arm() { //肩膀 float $A1; $A1=`getAttr Bony_lClavicleC.rotateX`; setAttr "Bony_rClavicleC.rotateX" $A1; // $A1=`getAttr Bony_lClavicleC.rotateY`; setAttr "Bony_rClavicleC.rotateY" $A1; // $A1=`getAttr Bony_lClavicleC.rotateZ`; setAttr "Bony_rClavicleC.rotateZ" $A1; // //手臂第一个关节 $A1=`getAttr Bony_lShoulderFKC.rotateX`; setAttr "Bony_rShoulderFKC.rotateX" $A1; // $A1=`getAttr Bony_lShoulderFKC.rotateY`; setAttr "Bony_rShoulderFKC.rotateY" $A1; // $A1=`getAttr Bony_lShoulderFKC.rotateZ`; setAttr "Bony_rShoulderFKC.rotateZ" $A1; // //手臂第二个关节 $A1=`getAttr Bony_lElbowFKC.rotateY`; setAttr "Bony_rElbowFKC.rotateY" $A1; // //手腕 $A1=`getAttr Bony_lWristFKC.rotateX`; setAttr "Bony_rWristFKC.rotateX" $A1; // $A1=`getAttr Bony_lWristFKC.rotateY`; setAttr "Bony_rWristFKC.rotateY" $A1; // $A1=`getAttr Bony_lWristFKC.rotateZ`; setAttr "Bony_rWristFKC.rotateZ" $A1; // } //腿 右 >>> 左 global proc Right_to_Left_Leg() { //大腿 float $A2; $A2=`getAttr Bony_rHipFKC.rotateX`; setAttr "Bony_lHipFKC.rotateX" $A2; // $A2=`getAttr Bony_rHipFKC.rotateY`; setAttr "Bony_lHipFKC.rotateY" $A2; // $A2=`getAttr Bony_rHipFKC.rotateZ`; setAttr "Bony_lHipFKC.rotateZ" $A2; // //小腿 $A2=`getAttr Bony_rKneeFKC.rotateZ`; setAttr "Bony_lKneeFKC.rotateZ" $A2; //脚踝 $A2=`getAttr Bony_rAnkleFKC.rotateX`; setAttr "Bony_lAnkleFKC.rotateX" $A2; // $A2=`getAttr Bony_rAnkleFKC.rotateY`; setAttr "Bony_lAnkleFKC.rotateY" $A2; // $A2=`getAttr Bony_rAnkleFKC.rotateZ`; setAttr "Bony_lAnkleFKC.rotateZ" $A2; // //脚掌 $A2=`getAttr Bony_rBallFKC.rotateX`; setAttr "Bony_lBallFKC.rotateX" $A2; // $A2=`getAttr Bony_rBallFKC.rotateY`; setAttr "Bony_lBallFKC.rotateY" $A2; // $A2=`getAttr Bony_rBallFKC.rotateZ`; setAttr "Bony_lBallFKC.rotateZ" $A2; // } //腿 左 >>> 右 global proc Left_to_Right_Leg() { //大腿 float $A2; $A2=`getAttr Bony_lHipFKC.rotateX`; setAttr "Bony_rHipFKC.rotateX" $A2; // $A2=`getAttr Bony_lHipFKC.rotateY`; setAttr "Bony_rHipFKC.rotateY" $A2; // $A2=`getAttr Bony_lHipFKC.rotateZ`; setAttr "Bony_rHipFKC.rotateZ" $A2; // //小腿 $A2=`getAttr Bony_lKneeFKC.rotateZ`; setAttr "Bony_rKneeFKC.rotateZ" $A2; //脚踝 $A2=`getAttr Bony_lAnkleFKC.rotateX`; setAttr "Bony_rAnkleFKC.rotateX" $A2; // $A2=`getAttr Bony_lAnkleFKC.rotateY`; setAttr "Bony_rAnkleFKC.rotateY" $A2; // $A2=`getAttr Bony_lAnkleFKC.rotateZ`; setAttr "Bony_rAnkleFKC.rotateZ" $A2; // //脚掌 $A2=`getAttr Bony_lBallFKC.rotateX`; setAttr "Bony_rBallFKC.rotateX" $A2; // $A2=`getAttr Bony_lBallFKC.rotateY`; setAttr "Bony_rBallFKC.rotateY" $A2; // $A2=`getAttr Bony_lBallFKC.rotateZ`; setAttr "Bony_rBallFKC.rotateZ" $A2; // } //手掌 右 >>> 左 global proc Right_to_Left_Hand() { //手掌 $A1=`getAttr Bony_rPalmC.rotateX`; setAttr "Bony_lPalmC.rotateX" $A1; // $A1=`getAttr Bony_rPalmC.rotateY`; setAttr "Bony_lPalmC.rotateY" $A1; // $A1=`getAttr Bony_rPalmC.rotateZ`; setAttr "Bony_lPalmC.rotateZ" $A1; // //中指&无名指&小指 第一节 $A1=`getAttr Bony_rFinger2J1C.rotateX`; setAttr "Bony_lFinger2J1C.rotateX" $A1; // $A1=`getAttr Bony_rFinger2J1C.rotateY`; setAttr "Bony_lFinger2J1C.rotateY" $A1; // $A1=`getAttr Bony_rFinger2J1C.rotateZ`; setAttr "Bony_lFinger2J1C.rotateZ" $A1; // //中指&无名指&小指 第二节 $A1=`getAttr Bony_rFinger2J2C.rotateX`; setAttr "Bony_lFinger2J2C.rotateX" $A1; // $A1=`getAttr Bony_rFinger2J2C.rotateY`; setAttr "Bony_lFinger2J2C.rotateY" $A1; // $A1=`getAttr Bony_rFinger2J2C.rotateZ`; setAttr "Bony_lFinger2J2C.rotateZ" $A1; // //中指&无名指&小指 第三节 $A1=`getAttr Bony_rFinger2J3C.rotateX`; setAttr "Bony_lFinger2J3C.rotateX" $A1; // $A1=`getAttr Bony_rFinger2J3C.rotateY`; setAttr "Bony_lFinger2J3C.rotateY" $A1; // $A1=`getAttr Bony_rFinger2J3C.rotateZ`; setAttr "Bony_lFinger2J3C.rotateZ" $A1; // //食指 第一节 $A1=`getAttr Bony_rFinger1J1C.rotateX`; setAttr "Bony_lFinger1J1C.rotateX" $A1; // $A1=`getAttr Bony_rFinger1J1C.rotateY`; setAttr "Bony_lFinger1J1C.rotateY" $A1; // $A1=`getAttr Bony_rFinger1J1C.rotateZ`; setAttr "Bony_lFinger1J1C.rotateZ" $A1; // //食指 第二节 $A1=`getAttr Bony_rFinger1J2C.rotateX`; setAttr "Bony_lFinger1J2C.rotateX" $A1; // $A1=`getAttr Bony_rFinger1J2C.rotateY`; setAttr "Bony_lFinger1J2C.rotateY" $A1; // $A1=`getAttr Bony_rFinger1J2C.rotateZ`; setAttr "Bony_lFinger1J2C.rotateZ" $A1; // //食指 第三节 $A1=`getAttr Bony_rFinger1J3C.rotateX`; setAttr "Bony_lFinger1J3C.rotateX" $A1; // $A1=`getAttr Bony_rFinger1J3C.rotateY`; setAttr "Bony_lFinger1J3C.rotateY" $A1; // $A1=`getAttr Bony_rFinger1J3C.rotateZ`; setAttr "Bony_lFinger1J3C.rotateZ" $A1; // //拇指 第一节 $A1=`getAttr Bony_rThumbJ1C.rotateX`; setAttr "Bony_lThumbJ1C.rotateX" $A1; // $A1=`getAttr Bony_rThumbJ1C.rotateY`; setAttr "Bony_lThumbJ1C.rotateY" $A1; // $A1=`getAttr Bony_rThumbJ1C.rotateZ`; setAttr "Bony_lThumbJ1C.rotateZ" $A1; // //拇指 第二节 $A1=`getAttr Bony_rThumbJ2C.rotateX`; setAttr "Bony_lThumbJ2C.rotateX" $A1; // $A1=`getAttr Bony_rThumbJ2C.rotateY`; setAttr "Bony_lThumbJ2C.rotateY" $A1; // $A1=`getAttr Bony_rThumbJ2C.rotateZ`; setAttr "Bony_lThumbJ2C.rotateZ" $A1; // //拇指 第三节 $A1=`getAttr Bony_rThumbJ3C.rotateX`; setAttr "Bony_lThumbJ3C.rotateX" $A1; // $A1=`getAttr Bony_rThumbJ3C.rotateY`; setAttr "Bony_lThumbJ3C.rotateY" $A1; // $A1=`getAttr Bony_rThumbJ3C.rotateZ`; setAttr "Bony_lThumbJ3C.rotateZ" $A1; // } //手掌 左 >>> 右 global proc Left_to_Right_Hand() { //手掌 $A1=`getAttr Bony_lPalmC.rotateX`; setAttr "Bony_rPalmC.rotateX" $A1; // $A1=`getAttr Bony_lPalmC.rotateY`; setAttr "Bony_rPalmC.rotateY" $A1; // $A1=`getAttr Bony_lPalmC.rotateZ`; setAttr "Bony_rPalmC.rotateZ" $A1; // //中指&无名指&小指 第一节 $A1=`getAttr Bony_lFinger2J1C.rotateX`; setAttr "Bony_rFinger2J1C.rotateX" $A1; // $A1=`getAttr Bony_lFinger2J1C.rotateY`; setAttr "Bony_rFinger2J1C.rotateY" $A1; // $A1=`getAttr Bony_lFinger2J1C.rotateZ`; setAttr "Bony_rFinger2J1C.rotateZ" $A1; // //中指&无名指&小指 第二节 $A1=`getAttr Bony_lFinger2J2C.rotateX`; setAttr "Bony_rFinger2J2C.rotateX" $A1; // $A1=`getAttr Bony_lFinger2J2C.rotateY`; setAttr "Bony_rFinger2J2C.rotateY" $A1; // $A1=`getAttr Bony_lFinger2J2C.rotateZ`; setAttr "Bony_rFinger2J2C.rotateZ" $A1; // //中指&无名指&小指 第三节 $A1=`getAttr Bony_lFinger2J3C.rotateX`; setAttr "Bony_rFinger2J3C.rotateX" $A1; // $A1=`getAttr Bony_lFinger2J3C.rotateY`; setAttr "Bony_rFinger2J3C.rotateY" $A1; // $A1=`getAttr Bony_lFinger2J3C.rotateZ`; setAttr "Bony_rFinger2J3C.rotateZ" $A1; // //食指 第一节 $A1=`getAttr Bony_lFinger1J1C.rotateX`; setAttr "Bony_rFinger1J1C.rotateX" $A1; // $A1=`getAttr Bony_lFinger1J1C.rotateY`; setAttr "Bony_rFinger1J1C.rotateY" $A1; // $A1=`getAttr Bony_lFinger1J1C.rotateZ`; setAttr "Bony_rFinger1J1C.rotateZ" $A1; // //食指 第二节 $A1=`getAttr Bony_lFinger1J2C.rotateX`; setAttr "Bony_rFinger1J2C.rotateX" $A1; // $A1=`getAttr Bony_lFinger1J2C.rotateY`; setAttr "Bony_rFinger1J2C.rotateY" $A1; // $A1=`getAttr Bony_lFinger1J2C.rotateZ`; setAttr "Bony_rFinger1J2C.rotateZ" $A1; // //食指 第三节 $A1=`getAttr Bony_lFinger1J3C.rotateX`; setAttr "Bony_rFinger1J3C.rotateX" $A1; // $A1=`getAttr Bony_lFinger1J3C.rotateY`; setAttr "Bony_rFinger1J3C.rotateY" $A1; // $A1=`getAttr Bony_lFinger1J3C.rotateZ`; setAttr "Bony_rFinger1J3C.rotateZ" $A1; // //拇指 第一节 $A1=`getAttr Bony_lThumbJ1C.rotateX`; setAttr "Bony_rThumbJ1C.rotateX" $A1; // $A1=`getAttr Bony_lThumbJ1C.rotateY`; setAttr "Bony_rThumbJ1C.rotateY" $A1; // $A1=`getAttr Bony_lThumbJ1C.rotateZ`; setAttr "Bony_rThumbJ1C.rotateZ" $A1; // //拇指 第二节 $A1=`getAttr Bony_lThumbJ2C.rotateX`; setAttr "Bony_rThumbJ2C.rotateX" $A1; // $A1=`getAttr Bony_lThumbJ2C.rotateY`; setAttr "Bony_rThumbJ2C.rotateY" $A1; // $A1=`getAttr Bony_lThumbJ2C.rotateZ`; setAttr "Bony_rThumbJ2C.rotateZ" $A1; // //拇指 第三节 $A1=`getAttr Bony_lThumbJ3C.rotateX`; setAttr "Bony_rThumbJ3C.rotateX" $A1; // $A1=`getAttr Bony_lThumbJ3C.rotateY`; setAttr "Bony_rThumbJ3C.rotateY" $A1; // $A1=`getAttr Bony_lThumbJ3C.rotateZ`; setAttr "Bony_rThumbJ3C.rotateZ" $A1; // } //腿 右 >>> 左 global proc Right_to_Left_Leg_FK() { //脚底 float $A1; $A1=-`getAttr Bony_rFootIKC.translateX`; setAttr "Bony_lFootIKC.translateX" $A1; // $A1=-`getAttr Bony_rFootIKC.translateY`; setAttr "Bony_lFootIKC.translateY" $A1; // $A1=-`getAttr Bony_rFootIKC.translateZ`; setAttr "Bony_lFootIKC.translateZ" $A1; // $A1=`getAttr Bony_rFootIKC.rotateX`; setAttr "Bony_lFootIKC.rotateX" $A1; // $A1=`getAttr Bony_rFootIKC.rotateY`; setAttr "Bony_lFootIKC.rotateY" $A1; // $A1=`getAttr Bony_rFootIKC.rotateZ`; setAttr "Bony_lFootIKC.rotateZ" $A1; //脚尖 $A1=`getAttr Bony_rToeIKC.rotateX`; setAttr "Bony_lToeIKC.rotateX" $A1; // $A1=`getAttr Bony_rToeIKC.rotateY`; setAttr "Bony_lToeIKC.rotateY" $A1; // $A1=`getAttr Bony_rToeIKC.rotateZ`; setAttr "Bony_lToeIKC.rotateZ" $A1; //膝盖 $A1=-`getAttr Bony_rKneeIKC.translateX`; setAttr "Bony_lKneeIKC.translateX" $A1; // $A1=`getAttr Bony_rKneeIKC.translateY`; setAttr "Bony_lKneeIKC.translateY" $A1; // $A1=`getAttr Bony_rKneeIKC.translateZ`; setAttr "Bony_lKneeIKC.translateZ" $A1; } //腿 左 >>> 右 global proc Left_to_Right_Leg_FK() { //脚底 float $A1; $A1=-`getAttr Bony_lFootIKC.translateX`; setAttr "Bony_rFootIKC.translateX" $A1; // $A1=-`getAttr Bony_lFootIKC.translateY`; setAttr "Bony_rFootIKC.translateY" $A1; // $A1=-`getAttr Bony_lFootIKC.translateZ`; setAttr "Bony_rFootIKC.translateZ" $A1; // $A1=`getAttr Bony_lFootIKC.rotateX`; setAttr "Bony_rFootIKC.rotateX" $A1; // $A1=`getAttr Bony_lFootIKC.rotateY`; setAttr "Bony_rFootIKC.rotateY" $A1; // $A1=`getAttr Bony_lFootIKC.rotateZ`; setAttr "Bony_rFootIKC.rotateZ" $A1; //脚尖 $A1=`getAttr Bony_lToeIKC.rotateX`; setAttr "Bony_rToeIKC.rotateX" $A1; // $A1=`getAttr Bony_lToeIKC.rotateY`; setAttr "Bony_rToeIKC.rotateY" $A1; // $A1=`getAttr Bony_lToeIKC.rotateZ`; setAttr "Bony_rToeIKC.rotateZ" $A1; //膝盖 $A1=-`getAttr Bony_lKneeIKC.translateX`; setAttr "Bony_rKneeIKC.translateX" $A1; // $A1=`getAttr Bony_lKneeIKC.translateY`; setAttr "Bony_rKneeIKC.translateY" $A1; // $A1=`getAttr Bony_lKneeIKC.translateZ`; setAttr "Bony_rKneeIKC.translateZ" $A1; }