//变量|variable global int $link[]={0,0,0,0}; // if(`window -ex Ark`){deleteUI Ark;} //主界面|Main panel window -t "圆狐v1.0 Beta | Arc v1.0 Beta" -w 200 -h 500 Ark; columnLayout -adjustableColumn 1; //UI元素|UIelements //单选|Single choice attrFieldSliderGrp -l "第一个关节|First joint" -min -90.0 -max 90.0 -at ("CTRL_kuyruk_01"+".rx");//第一个关节 button -l "复位第一个关节|Reset the first joint" -c "setAttr CTRL_kuyruk_01.rotateX 0"; text -l " ";//空格 attrFieldSliderGrp -l "第二个关节|Second joint" -min -90.0 -max 90.0 -at ("CTRL_kuyruk_02"+".rx");//第二个关节 button -l "复位第二个关节|Reset the second joint" -c "setAttr CTRL_kuyruk_02.rotateX 0"; text -l " ";//空格 attrFieldSliderGrp -l "第三个关节|Third joint" -min -90.0 -max 90.0 -at ("CTRL_kuyruk_03"+".rx");//第三个关节 button -l "复位第三个关节|Reset the second joint" -c "setAttr CTRL_kuyruk_03.rotateX 0"; text -l " ";//空格 attrFieldSliderGrp -l "第四个关节|Fourth joint" -min -90.0 -max 90.0 -at ("CTRL_kuyruk_04"+".rx");//第四个关节 button -l "复位第四个关节|Reset the second joint" -c "setAttr CTRL_kuyruk_04.rotateX 0"; text -l " ";//空格 //多选 button -l "复位全部关节|Reset all joints" -c "Reset4"; //选择框 checkBox -label "第一个关节|First joint" -onc "$link[0]=1" -ofc "$link[0]=0"; checkBox -label "第二个关节|Second joint" -onc "$link[1]=1" -ofc "$link[1]=0"; checkBox -label "第三个关节|Third joint" -onc "$link[2]=1" -ofc "$link[2]=0"; checkBox -label "第四个关节|Fourth joint" -onc "$link[3]=1" -ofc "$link[3]=0"; text -l "负数向上翘,正数向下弯|Left for up & Right gor down"; // floatSliderGrp -label "勾选关节增减角度|Select joints" -field true -minValue -30.0 -maxValue 30.0 -fieldMinValue -90.0 -fieldMaxValue 90.0 -value 0 R_a; button -l "应用角度增减|Apply" -c Add_Sub; //记忆动作 text " "; button -l "储存当前尾巴姿态|Remember current action" -c storage; button -l "调整至储存的尾巴姿态|Adjust to saved action" -c apply; // window -e -w 200 -h 500 Ark; showWindow; //函数 //复位全部关节 global proc Reset4() { setAttr CTRL_kuyruk_01.rotateX 0; setAttr CTRL_kuyruk_02.rotateX 0; setAttr CTRL_kuyruk_03.rotateX 0; setAttr CTRL_kuyruk_04.rotateX 0; } //增减 global proc Add_Sub() { global int $link[]; float $RX_1=`getAttr CTRL_kuyruk_01.rotateX`; float $RX_2=`getAttr CTRL_kuyruk_02.rotateX`; float $RX_3=`getAttr CTRL_kuyruk_03.rotateX`; float $RX_4=`getAttr CTRL_kuyruk_04.rotateX`; float $R_a=`floatSliderGrp -q -v R_a`; setAttr "CTRL_kuyruk_01.rotateX" ($RX_1+$R_a*$link[0]); setAttr "CTRL_kuyruk_02.rotateX" ($RX_2+$R_a*$link[1]); setAttr "CTRL_kuyruk_03.rotateX" ($RX_3+$R_a*$link[2]); setAttr "CTRL_kuyruk_04.rotateX" ($RX_4+$R_a*$link[3]); } //储存当前尾巴姿态 global proc storage() { global float $RX_A=0; global float $RX_B=0; global float $RX_C=0; global float $RX_D=0; $RX_A=`getAttr CTRL_kuyruk_01.rotateX`; $RX_B=`getAttr CTRL_kuyruk_02.rotateX`; $RX_c=`getAttr CTRL_kuyruk_03.rotateX`; $RX_D=`getAttr CTRL_kuyruk_04.rotateX`; } //调整至储存的尾巴姿态 global proc apply() { global float $RX_A; global float $RX_B; global float $RX_C; global float $RX_D; setAttr "CTRL_kuyruk_01.rotateX" $RX_A; setAttr "CTRL_kuyruk_02.rotateX" $RX_B; setAttr "CTRL_kuyruk_03.rotateX" $RX_C; setAttr "CTRL_kuyruk_04.rotateX" $RX_D; }