//*********************************************************************************************************** // // createFBIK_Skeleton.mel // 2005.08.16 Takayuki Kondo // Some Procedures(*_FR) is based on the "FINAL RIG" by RadiantSquare. // //***********************************************************************************************************
//************************************************************************************************************ // proc string _getShape(string $node) { string $ret; string $tmp[] = `listRelatives -s -ni $node`; $ret = $tmp[0]; return $ret; }
//*********************************************************************************************************** // proc _LockAndHide_FR(string $node,int $keyTX,int $keyTY,int $keyTZ,int $keyRX,int $keyRY,int $keyRZ,int $keySX,int $keySY,int $keySZ,int $keyV,int $LockTX,int $LockTY,int $LockTZ,int $LockRX,int $LockRY,int $LockRZ,int $LockSX,int $LockSY,int $LockSZ,int $LockV) {
setAttr ($node+".tx") -k $keyTX; setAttr ($node+".ty") -k $keyTY; setAttr ($node+".tz") -k $keyTZ; setAttr ($node+".rx") -k $keyRX; setAttr ($node+".ry") -k $keyRY; setAttr ($node+".rz") -k $keyRZ; setAttr ($node+".sx") -k $keySX; setAttr ($node+".sy") -k $keySY; setAttr ($node+".sz") -k $keySZ; setAttr ($node+".v") -k $keyV; setAttr ($node+".tx") -l $LockTX; setAttr ($node+".ty") -l $LockTY; setAttr ($node+".tz") -l $LockTZ; setAttr ($node+".rx") -l $LockRX; setAttr ($node+".ry") -l $LockRY; setAttr ($node+".rz") -l $LockRZ; setAttr ($node+".sx") -l $LockSX; setAttr ($node+".sy") -l $LockSY; setAttr ($node+".sz") -l $LockSZ; setAttr ($node+".v") -l $LockV; }
//************************************************************************************************************ // proc string _createCurveFromGuideData(string $prefix, string $data[]) { string $crv = ""; if ( !`size $data` ) return $crv;
// FORMAT ---- parts, degree, cvnum, [x,y,z], [x,y,z], ... @ string $name = $data[0]; int $degree = $data[1]; int $cvNum = $data[2];
string $com = "curve -d " + $degree + " "; int $ct = 3; for ( $i = 0; $i < $cvNum; $i++ ) { $com += "-p " + $data[$ct] + " " + $data[$ct+1] + " " + $data[$ct+2] + " "; $ct += 3; } if ( $degree == 1 ) { for ( $i = 0; $i < $cvNum; $i++ ) $com += "-k " + $i + " "; } else { $com += "-k 0 -k 0 "; for ( $i = 0; $i < ($cvNum - 2); $i++ ) $com += "-k " + $i + " "; $com += "-k " + ($cvNum - 3) + " -k " + ($cvNum - 3) + " "; } $com += "-n (\"" + $prefix + $name + "\");\n"; $crv = `eval $com`;
_LockAndHide_FR($crv, 0,0,0, 0,0,0, 0,0,0, 0, 1,1,1, 1,1,1, 1,1,1, 1);
return $crv; }
//*********************************************************************************************************** // proc string _ClusterRefCreation_FR (string $parent, string $prefix, string $curve,int $startLoop,int $endLoop,float $scale){ int $i; string $dummy = "Ctrl"; string $curveHandle[]; string $curveSphere = ($curve+$dummy); string $curveRef = ($curve+"Refbox"); float $clusPos[];
// ========= get CV (CV's = degree + spans) string $shape = _getShape($curve); int $curveDegree = `getAttr ($shape+".degree")`; int $curveSpans = `getAttr ($shape+".spans")`; int $CV = $curveDegree + $curveSpans;
// ========= if ( objExists($parent) ) parent $curve $parent;
// ========= for ( $i = $startLoop ; $i < $CV - $endLoop ; $i++ ) {
// ========= get the position $clusPos = `xform -q -ws -t ($curve+".cv["+$i+"]")`;
// ========= create a cluster on it $curveHandle = `cluster -n ($curve)($curve+".cv["+$i+"]")`; rename ($curve+$i+"Handle");
// ========= Blue Sphere sphere -ax 0 1 0 -ssw 0 -esw 360 -r 0.1 -d 3 -ut 0 -tol 0.01 -s 2 -nsp 2 -ch 1 -n ($curveSphere+$i); move $clusPos[0] $clusPos[1] $clusPos[2]; xform -cp ($curveSphere+$i); displaySmoothness -divisionsU 3 -divisionsV 3 -pointsWire 16 -pointsShaded 4; DisplayShaded; float $RefSpherePos[] = `xform -q -ws -piv ($curveSphere+$i)`; move -rpr 0 0 0 ($curveSphere+$i); makeIdentity -apply true -t 1 -r 1 -s 1 ($curveSphere+$i); xform -ws -t $RefSpherePos[0] $RefSpherePos[1] $RefSpherePos[2] ($curveSphere+$i); if ( objExists(($prefix+"RigSpheres")) ) parent ($curveSphere+$i) ($prefix+"RigSpheres"); _LockAndHide_FR($curveSphere+$i, 1,1,1, 0,0,0, 0,0,0, 0, 0,0,0, 0,0,0, 0,0,0, 0); delete -ch ($curveSphere+$i); // delete history
// ========= Outline Sphere sphere -ax 0 1 0 -ssw 0 -esw 360 -r 0.12 -d 3 -ut 0 -tol 0.01 -s 2 -nsp 2 -ch 1 -n ($curveRef+$i); move $clusPos[0] $clusPos[1] $clusPos[2]; parent ($curveRef+$i) ($curveSphere+$i);
if ( objExists("RIG_ShaderSG") ) { select ($curveSphere+$i); sets -e -forceElement RIG_ShaderSG; setAttr ($curveRef+$i+".template") 1; }
// ========= hide cluster setAttr ($curve+$i+"Handle.visibility") 0; parent ($curve+$i+"Handle") ($curveSphere+$i);
scale $scale $scale $scale ($curveSphere+$i);
// ========= point constraint the cluster handle under the parent sphere pointConstraint -offset 0 0 0 -weight 1 ($curveSphere+$i) ($curve+$i+"Handle") ; }
return ($curveSphere+$startLoop); }
//*********************************************************************************************************** // proc string _RefCreation_FR (string $prefix, string $curve,string $cluster,float $scale,int $CtrlNum){ float $clusPos[]; string $dummy = "Ctrl";
// ========= $clusPos = `xform -q -ws -rp $cluster`; sphere -ax 0 1 0 -ssw 0 -esw 360 -r 0.1 -d 3 -ut 0 -tol 0.01 -s 2 -nsp 2 -ch 1 -n ($prefix+$curve+$dummy+$CtrlNum); move $clusPos[0] $clusPos[1] $clusPos[2]; CenterPivot; delete -ch ($prefix+$curve+$dummy+$CtrlNum); displaySmoothness -divisionsU 3 -divisionsV 3 -pointsWire 16 -pointsShaded 4; DisplayShaded; float $RefSpherePos[] = `xform -q -ws -piv ($prefix+$curve+$dummy+$CtrlNum)`; move -rpr 0 0 0 ($prefix+$curve+$dummy+$CtrlNum); makeIdentity -apply true -t 1 -r 1 -s 1 ($prefix+$curve+$dummy+$CtrlNum); xform -ws -t $RefSpherePos[0] $RefSpherePos[1] $RefSpherePos[2] ($prefix+$curve+$dummy+$CtrlNum); select ($prefix+$curve+$dummy+$CtrlNum); sets -e -forceElement RIG_ShaderSG;
// ========= parent ($prefix+$curve+$dummy+$CtrlNum) ($prefix+"RigSpheres"); _LockAndHide_FR($prefix+$curve+$dummy+$CtrlNum, 1,1,1, 0,0,0, 0,0,0, 0, 0,0,0, 0,0,0, 0,0,0, 0);
// ========= sphere -ax 0 1 0 -ssw 0 -esw 360 -r 0.12 -d 3 -ut 0 -tol 0.01 -s 2 -nsp 2 -ch 1 -n ($prefix+$curve+"Refbox"+$CtrlNum); move $clusPos[0] $clusPos[1] $clusPos[2]; setAttr ($prefix+$curve+"Refbox"+$CtrlNum+".template") 1; setAttr ($cluster+".visibility") 0;
parent ($prefix+$curve+"Refbox"+$CtrlNum) ($prefix+$curve+$dummy+$CtrlNum);
scale $scale $scale $scale ($prefix+$curve+$dummy+$CtrlNum);
// ========= parent $cluster ($prefix+$curve+$dummy+$CtrlNum);
return ($prefix+$curve+$dummy+$CtrlNum); }
//************************************************************************************************************ // proc string[] _JointOn1DCurve_FR (string $curve,int $startLoop,int $endLoop, int $split[]){ int $i; string $j[];
createNode curveInfo -n ($curve +"_curveLength"); string $curveShape[] = `listRelatives $curve`; if ( !`isConnected ($curveShape[0] + ".worldSpace[0]") ($curve +"_curveLength.inputCurve") ` ) connectAttr -f ($curveShape[0] + ".worldSpace[0]") ($curve +"_curveLength.inputCurve"); int $curveDegree = `getAttr ($curveShape[0] +".degree")`;
int $curveSpans = `getAttr ($curveShape[0] +".spans")`; int $curveCvNum = ($curveDegree + $curveSpans);
int $ct=0; for ($i =$startLoop;$i< $curveCvNum - $endLoop;$i++){ float $cvPos[] = `getAttr ($curve +"_curveLength.controlPoints["+$i+"]")`; $j[$ct++] = `joint -p $cvPos[0] $cvPos[1] $cvPos[2] -n ($curve +"Joint_"+$ct)`;
// split for ( $x = 0; $x < `size $split`; $x++ ) { if ( $split[$x] == $i && ($i+1) < ($curveCvNum - $endLoop) ) { float $nxtPos[] = `getAttr ($curve +"_curveLength.controlPoints["+ ($i+1) +"]")`; float $midPos[]; $midPos[0] = ($nxtPos[0] + $cvPos[0]) / 2.0; $midPos[1] = ($nxtPos[1] + $cvPos[1]) / 2.0; $midPos[2] = ($nxtPos[2] + $cvPos[2]) / 2.0; $j[$ct++] = `joint -p $midPos[0] $midPos[1] $midPos[2] -n ($curve +"Joint_"+$ct)`; } }
}
// reorient select -r $j[0]; joint -e -oj yzx -secondaryAxisOrient zdown -ch -zso;
return $j; }
//************************************************************************************************************ // proc _rotateLocalAxis(string $sels[], float $Axisx, float $Axisy, float $Axisz, int $rstJt) { global string $gMove;
for($sel in $sels){ select -r ($sel +".rotatePivot")( $sel +".scalePivot")( $sel +".rotatePivot")( $sel +".rotateAxis") ; rotate -r -os $Axisx $Axisy $Axisz; } setToolTo $gMove; if ( $rstJt ) { string $children[] = `listRelatives -c $sel`; parent -w $children; setAttr ($sel +".rotateAxis") 0 0 0; parent $children $sel; } }
//************************************************************************************************************ // proc string[] _getJoints(string $topJT) { string $joints[];
$tmp = `listRelatives -ad -path -type joint $topJT`; $joints[0] = $topJT; int $ct=1; for ($i = `size $tmp` - 1; $i >= 0; $i--) $joints[$ct++] = $tmp[$i]; return $joints; }
//************************************************************************************************************ // proc _setOneJointLabel(string $joint, string $label, string $side) { switch ( $side ) { case "Center": setAttr ($joint+".side") 0; break; case "Left": setAttr ($joint+".side") 1; break; case "Right": setAttr ($joint+".side") 2; break; case "None": setAttr ($joint+".side") 3; break; }
switch ( $label ) { case "None": setAttr ($joint+".type") 0; break; case "Root": setAttr ($joint+".type") 1; break; case "Hip": setAttr ($joint+".type") 2; break; case "Knee": setAttr ($joint+".type") 3; break; case "Foot": setAttr ($joint+".type") 4; break; case "Toe": setAttr ($joint+".type") 5; break; case "Spine": setAttr ($joint+".type") 6; break; case "Neck": setAttr ($joint+".type") 7; break; case "Head": setAttr ($joint+".type") 8; break; case "Collar": setAttr ($joint+".type") 9; break; case "Shoulder": setAttr ($joint+".type") 10; break; case "Elbow": setAttr ($joint+".type") 11; break; case "Hand": setAttr ($joint+".type") 12; break; case "Finger": setAttr ($joint+".type") 13; break; case "Thumb": setAttr ($joint+".type") 14; break; case "PropA": setAttr ($joint+".type") 15; break; case "PropB": setAttr ($joint+".type") 16; break; case "PropC": setAttr ($joint+".type") 17; break; case "Other": setAttr ($joint+".type") 18; break; case "IndexFinger": setAttr ($joint+".type") 19; break; case "MiddleFinger": setAttr ($joint+".type") 20; break; case "RingFinger": setAttr ($joint+".type") 21; break; case "PinkyFinger": setAttr ($joint+".type") 22; break; case "ExtraFinger": setAttr ($joint+".type") 23; break; case "BigToe": setAttr ($joint+".type") 24; break; case "IndexToe": setAttr ($joint+".type") 25; break; case "MiddleToe": setAttr ($joint+".type") 26; break; case "RingToe": setAttr ($joint+".type") 27; break; case "PinkyToe": setAttr ($joint+".type") 28; break; case "ExtraToe": setAttr ($joint+".type") 29; break; } }
//************************************************************************************************************ // proc _setJointLabels(string $topJT, string $labels[]) { string $jnts[] = _getJoints($topJT); int $ct=0;
string $markLabel = ""; int $maxJ = `size $jnts`; int $maxL = `size $labels`; for ($i = 0; $i < $maxJ; $i++) { if ( $i >= $maxL && $markLabel == "" ) break;
string $side; if ( gmatch($jnts[$i], "Left*") ) $side = "Left"; else if ( gmatch($jnts[$i], "Right*") ) $side = "Right"; else $side = "Center";
if ( $i < $maxL && $labels[$i] == "" ) { _setOneJointLabel($jnts[$i], "", $side); continue; }
if ( gmatch($labels[$i], "*\\*") && $markLabel == "" ) {
int $len = `size $labels[$i]`; $markLabel = `substring $labels[$i] 1 ($len-1)`;
_setOneJointLabel($jnts[$i], $markLabel, $side);
} else if ( $markLabel != "" ) { _setOneJointLabel($jnts[$i], $markLabel, $side);
} else { _setOneJointLabel($jnts[$i], $labels[$i], $side);
} } }
//************************************************************************************************************ // proc string[] _renameJoints(string $topJT, string $name[]) { string $new[]; string $jnts[] = _getJoints($topJT); int $ct=0;
int $start = 0; string $base; int $maxJ = `size $jnts`; int $maxN = `size $name`; for ($i = 0; $i < $maxJ; $i++) { if ( $i >= $maxN && !$start ) break; if ( gmatch($name[$i], "*\\*") && !$start ) {
int $len = `size $name[$i]`; $base = `substring $name[$i] 1 ($len-1)`;
$new[$ct++] = `rename $jnts[$i] ($base + ($start+1))`; $start++;
} else if ( $start ) {
$new[$ct++] = `rename $jnts[$i] ($base + ($start+1))`; $start++;
} else { $new[$ct++] = `rename $jnts[$i] $name[$i]`; } }
return $new; }
//************************************************************************************************************ // proc string _createGlobalScaleManipulator(int $shapeType, float $size) { string $tmp[]; string $ret;
$tmp = `circle -c 0 0 0 -nr 0 1 0 -sw 360 -r $size -d 3 -ut 0 -tol 0.01 -s 8 -ch 0`; $ret = $tmp[0]; return $ret; }
//*********************************************************************************************************** // proc _ParentingGuideCurves(string $prefix) {
// ========= the fingers spheres // pinky string $tmp[] = `ls -type transform ($prefix+"LpinkyCtrl*")`; for ($one in $tmp) parent $one ($prefix+"LfingerCtrl0"); string $tmp[] = `ls -type transform ($prefix+"RpinkyCtrl*")`; for ($one in $tmp) parent $one ($prefix+"RfingerCtrl0");
// ring string $tmp[] = `ls -type transform ($prefix+"LringCtrl*")`; for ($one in $tmp) parent $one ($prefix+"LfingerCtrl0"); string $tmp[] = `ls -type transform ($prefix+"RringCtrl*")`; for ($one in $tmp) parent $one ($prefix+"RfingerCtrl0");
// index string $tmp[] = `ls -type transform ($prefix+"LindexCtrl*")`; for ($one in $tmp) parent $one ($prefix+"LfingerCtrl0"); string $tmp[] = `ls -type transform ($prefix+"RindexCtrl*")`; for ($one in $tmp) parent $one ($prefix+"RfingerCtrl0");
// middle string $tmp[] = `ls -type transform ($prefix+"LmiddleCtrl*")`; for ($one in $tmp) parent $one ($prefix+"LfingerCtrl0"); string $tmp[] = `ls -type transform ($prefix+"RmiddleCtrl*")`; for ($one in $tmp) parent $one ($prefix+"RfingerCtrl0");
// Thumb string $tmp[] = `ls -type transform ($prefix+"LthumbCtrl*")`; for ($one in $tmp) parent $one ($prefix+"LfingerCtrl0"); string $tmp[] = `ls -type transform ($prefix+"RthumbCtrl*")`; for ($one in $tmp) parent $one ($prefix+"RfingerCtrl0");
// ========= Arm string $tmp[] = `ls -type transform ($prefix+"LarmCtrl*")`; for ($one in $tmp) { if ( $one != ($prefix+"LarmCtrl1") ) parent $one ($prefix+"LarmCtrl1"); } string $tmp[] = `ls -type transform ($prefix+"RarmCtrl*")`; for ($one in $tmp) { if ( $one != ($prefix+"RarmCtrl1") ) parent $one ($prefix+"RarmCtrl1"); }
// ========= Hand && Finger parent ($prefix+"LhandCtrl0") ($prefix+"LfingerCtrl0") ($prefix+"LarmCtrl1"); parent ($prefix+"RhandCtrl0") ($prefix+"RfingerCtrl0") ($prefix+"RarmCtrl1");
// ========= Leg string $tmp[] = `ls -type transform ($prefix+"LlegCtrl*")`; for ($one in $tmp) { if ( $one != ($prefix+"LlegCtrl0") ) parent $one ($prefix+"LlegCtrl0"); } string $tmp[] = `ls -type transform ($prefix+"RlegCtrl*")`; for ($one in $tmp) { if ( $one != ($prefix+"RlegCtrl0") ) parent $one ($prefix+"RlegCtrl0"); }
// ========= Foot parent ($prefix+"LFootCtrl0") ($prefix+"LlegCtrl0"); parent ($prefix+"RFootCtrl0") ($prefix+"RlegCtrl0");
// ========= the fingers Foot spheres // pinky Foot string $tmp[] = `ls -type transform ($prefix+"LpinkyFootCtrl*")`; for ($one in $tmp) parent $one ($prefix+"LFootCtrl0"); string $tmp[] = `ls -type transform ($prefix+"RpinkyFootCtrl*")`; for ($one in $tmp) parent $one ($prefix+"RFootCtrl0");
// ring Foot string $tmp[] = `ls -type transform ($prefix+"LringFootCtrl*")`; for ($one in $tmp) parent $one ($prefix+"LFootCtrl0"); string $tmp[] = `ls -type transform ($prefix+"RringFootCtrl*")`; for ($one in $tmp) parent $one ($prefix+"RFootCtrl0");
// index Foot string $tmp[] = `ls -type transform ($prefix+"LindexFootCtrl*")`; for ($one in $tmp) parent $one ($prefix+"LFootCtrl0"); string $tmp[] = `ls -type transform ($prefix+"RindexFootCtrl*")`; for ($one in $tmp) parent $one ($prefix+"RFootCtrl0");
// middle Foot string $tmp[] = `ls -type transform ($prefix+"LmiddleFootCtrl*")`; for ($one in $tmp) parent $one ($prefix+"LFootCtrl0"); string $tmp[] = `ls -type transform ($prefix+"RmiddleFootCtrl*")`; for ($one in $tmp) parent $one ($prefix+"RFootCtrl0");
// Thumb Foot string $tmp[] = `ls -type transform ($prefix+"LthumbFootCtrl*")`; for ($one in $tmp) parent $one ($prefix+"LFootCtrl0"); string $tmp[] = `ls -type transform ($prefix+"RthumbFootCtrl*")`; for ($one in $tmp) parent $one ($prefix+"RFootCtrl0"); }
//########################################################################################################### // // DATA BLOCK (START) // //########################################################################################################### //************************************************************************************************************ // proc string[] _getGuildeData_Quadruped(string $type, string $parts) { string $data[];
if ( $type == "Quadruped_Hoof" ) { switch ($parts) { case "spineRoot": $data = { "spineRoot", "1", "2", "-0.002094268799", "26.22555087", "-9.88815677", "-0.002094268799", "26.18165207", "-10.27954769", "@"}; break; case "Lcollar": $data = { "Lcollar", "1", "2", "1.553015947", "26.42442703", "4.494413376", "-0.007515927016", "26.52140521", "1.298793588", "@"}; break; case "Rcollar": $data = { "Rcollar", "1", "2", "-1.561343249", "26.42470824", "4.492804218", "0.000849717203", "26.52140521", "1.298793588", "@"}; break; case "LparHip": $data = { "LparHip", "1", "2", "-0.002094268799", "26.18165207", "-10.27954769", "2.139726814", "22.6293802", "-11.30679993", "@"}; break; case "RparHip": $data = { "RparHip", "1", "2", "-0.002094268799", "26.18165207", "-10.27954769", "-2.144100621", "22.62929002", "-11.30673588", "@"}; break; case "tail": $data = { "tail", "1", "4", "-0.002094268799", "26.18165207", "-10.27954769", "-0.002076586246", "26.19949903", "-12.08724564", "-0.002066734919", "26.19705807", "-13.81714685", "-0.002065459856", "26.19957482", "-15.72968342", "@"}; break; case "spine": $data = { "spine", "1", "5", "-0.002094268799", "26.22555087", "-9.88815677", "-0.002175405442", "26.56533933", "-6.153349168", "-0.002712724351", "26.55178921", "-2.53279462", "-0.007515927016", "26.52140521", "1.298793588", "-0.003485685089", "27.05054108", "6.845271941", "@"}; break; case "neck": $data = { "neck", "1", "3", "-0.003485685089", "27.05054108", "6.845271941", "0.01793573636", "29.32353414", "9.963734321", "0.05091977087", "31.14812273", "13.24767783", "@"}; break; case "head": $data = { "head", "1", "3", "0.05091977087", "31.14812273", "13.24767783", "-1.355159631e-026", "32.19550638", "16.12406277", "0", "28.06814415", "20.42257292", "@"}; break; case "jaw": $data = { "jaw", "1", "4", "0.05091977087", "31.14812273", "13.24767783", "0.05091977087", "31.34448882", "15.13005569", "0.05091977087", "29.62232939", "15.32395001", "0.05091977087", "26.99480143", "18.24707486", "@"}; break;
case "Lleg": $data = { "Lleg", "1", "4", "2.139726814", "22.6293802", "-11.30679993", "3.458326002", "15.32527674", "-10.92280643", "4.306119055", "6.084570051", "-14.43933879", "5.286395209", "1.775969048", "-14.04342452", "@"}; break; case "Rleg": $data = { "Rleg", "1", "4", "-2.144100621", "22.62929002", "-11.30673588", "-3.478024902", "15.34086588", "-11.03075866", "-4.364860174", "5.800929815", "-14.45717081", "-5.280331721", "1.809399688", "-14.04177298", "@"}; break; case "Larm": $data = { "Larm", "1", "4", "1.553015947", "26.42442703", "4.494413376", "3.533886194", "19.96917437", "7.880469223", "3.379193544", "13.40281868", "5.668196086", "4.006210496", "5.019853466", "5.600234129", "@"}; break; case "Rarm": $data = { "Rarm", "1", "4", "-1.561343249", "26.42470824", "4.492804218", "-3.544725895", "19.96994875", "7.87862291", "-3.386282476", "13.40423794", "5.663091571", "-4.059566227", "4.770795179", "5.65141516", "@"}; break;
case "LmiddleFoot": $data = { "LmiddleFoot", "1", "3", "5.286395209", "1.775969048", "-14.04342452", "5.293095642", "0.7826273608", "-12.97812566", "5.293095642", "0.469217971", "-11.24723789", "@"}; break; case "RmiddleFoot": $data = { "RmiddleFoot", "1", "3", "-5.280331721", "1.809399688", "-14.04177298", "-5.283765911", "0.7831909244", "-12.97573121", "-5.293095642", "0.469217971", "-11.24723789", "@"}; break; case "Lmiddle": $data = { "Lmiddle", "1", "4", "4.006210496", "5.019853466", "5.600234129", "4.742639091", "1.833972749", "6.734007335", "4.740997311", "1.034807617", "8.493651402", "4.740997311", "0.4667586986", "10.28373794", "@"}; break; case "Rmiddle": $data = { "Rmiddle", "1", "4", "-4.059566227", "4.770795179", "5.65141516", "-4.742680073", "1.833959103", "6.762999058", "-4.738838476", "1.035943743", "8.547481258", "-4.740997311", "0.4667586986", "10.28373794", "@"}; break;
} } else if ( $type == "Quadruped_Normal" ) { switch ($parts) { case "neck": $data = { "neck", "1", "3", "-0.003485685089", "18.59022568", "8.973105708", "0.01793573636", "19.82444245", "11.56202818", "0.05091977087", "21.1232691", "14.34917831", "@"}; break; case "head": $data = { "head", "1", "3", "0.05091977087", "21.1232691", "14.34917831", "-1.355159631e-026", "21.2927777", "19.36729739", "0", "17.43240579", "21.60063716", "@"}; break; case "jaw": $data = { "jaw", "1", "4", "0.05091977087", "21.1232691", "14.34917831", "0.05091977087", "19.5315837", "15.79562251", "0.05091977087", "18.02991042", "15.89447262", "0.05091977087", "15.62556183", "18.52002497", "@"}; break; case "spine": $data = { "spine", "1", "5", "-0.002094268799", "19.05168784", "-10.25292827", "-0.002175405442", "19.6346573", "-6.153349168", "-0.002712724351", "19.17163472", "-0.8913228565", "-0.007515927016", "18.25707344", "4.694552756", "-0.003485685089", "18.59022568", "8.973105708", "@"}; break; case "Lcollar": $data = { "Lcollar", "1", "2", "1.601331182", "19.23468415", "7.3932553", "-0.007515927016", "18.25707344", "4.694552756", "@"}; break; case "Rcollar": $data = { "Rcollar", "1", "2", "-1.609658484", "19.23496536", "7.391646142", "0.009215361422", "18.25707344", "4.694552756", "@"}; break; case "spineRoot": $data = { "spineRoot", "1", "2", "-0.002094268799", "19.05168784", "-10.25292827", "-0.002094268799", "19.00778904", "-10.64431919", "@"}; break; case "tail": $data = { "tail", "1", "7", "-0.002094268799", "19.00778904", "-10.64431919", "-0.00208618285", "17.30316801", "-13.13626825", "-0.002076586246", "14.27913505", "-14.7396817", "-0.00207133261", "10.16396416", "-15.15354483", "-0.002066734919", "6.836094689", "-16.26152649", "-0.002066055986", "4.754059115", "-17.65726699", "-0.002065459856", "6.048049983", "-19.49222794", "@"}; break; case "Lmiddle": $data = { "Lmiddle", "1", "6", "4.006210496", "5.019853466", "5.600234129", "4.742639091", "1.522273064", "7.30108822", "4.740997311", "1.034807617", "8.493651402", "4.706267092", "0.8815245755", "9.432569797", "4.683863701", "0.6700230724", "9.866316748", "4.662332833", "0.4667586986", "10.28317101", "@"}; break; case "Lindex": $data = { "Lindex", "1", "5", "4.742639091", "1.522273064", "7.30108822", "5.230946456", "1.034807617", "8.493651402", "5.244907803", "0.8815245755", "9.339475496", "5.172731744", "0.6654367896", "9.777309555", "5.106370743", "0.4667586986", "10.17986833", "@"}; break; case "Lring": $data = { "Lring", "1", "5", "4.742639091", "1.522273064", "7.30108822", "4.256075832", "1.034807617", "8.493651402", "4.234005375", "0.8815245755", "9.298573051", "4.257002234", "0.6654367896", "9.74171997", "4.27814629", "0.4667586986", "10.14916356", "@"}; break; case "Lpinky": $data = { "Lpinky", "1", "5", "4.742639091", "1.522273064", "7.30108822", "3.936520459", "1.034807617", "8.493651402", "3.87235014", "0.8815245755", "9.085527475", "3.939213993", "0.6654367896", "9.524204204", "4.000690779", "0.4667586986", "9.927537759", "@"}; break; case "Rmiddle": $data = { "Rmiddle", "1", "6", "-4.006210496", "5.019853466", "5.600234129", "-4.742639091", "1.522273064", "7.30108822", "-4.740997311", "1.034807617", "8.493651402", "-4.706267092", "0.8815245755", "9.432569797", "-4.683863701", "0.6700230724", "9.866316748", "-4.662332833", "0.4667586986", "10.28317101", "@"}; break; case "Rindex": $data = { "Rindex", "1", "5", "-4.742639091", "1.522273064", "7.30108822", "-5.230946456", "1.034807617", "8.493651402", "-5.244907803", "0.8815245755", "9.339475496", "-5.172731744", "0.6654367896", "9.777309555", "-5.106370743", "0.4667586986", "10.17986833", "@"}; break; case "Rring": $data = { "Rring", "1", "5", "-4.742639091", "1.522273064", "7.30108822", "-4.256075832", "1.034807617", "8.493651402", "-4.234005375", "0.8815245755", "9.298573051", "-4.257002234", "0.6654367896", "9.74171997", "-4.27814629", "0.4667586986", "10.14916356", "@"}; break; case "Rpinky": $data = { "Rpinky", "1", "5", "-4.742639091", "1.522273064", "7.30108822", "-3.936520459", "1.034807617", "8.493651402", "-3.87235014", "0.8815245755", "9.085527475", "-3.939213993", "0.6654367896", "9.524204204", "-4.000690779", "0.4667586986", "9.927537759", "@"}; break; case "LindexFoot": $data = { "LindexFoot", "1", "5", "4.633216754", "1.775969048", "-14.04342452", "5.130776817", "0.9822041405", "-13.01304353", "5.144738164", "0.8180066763", "-12.06991432", "5.072562105", "0.6019188904", "-11.63208026", "5.006201104", "0.4032407994", "-11.22952148", "@"}; break; case "LmiddleFoot": $data = { "LmiddleFoot", "1", "5", "4.633216754", "1.775969048", "-14.04342452", "4.639917187", "0.9946862515", "-13.00298261", "4.639917187", "0.874291302", "-12.04533241", "4.639917187", "0.6518925847", "-11.607152", "4.639917187", "0.469217971", "-11.24723789", "@"}; break; case "LringFoot": $data = { "LringFoot", "1", "5", "4.633216754", "1.775969048", "-14.04342452", "4.155906194", "0.9822041405", "-13.01304353", "4.133835736", "0.8180066763", "-12.11081677", "4.156832596", "0.6019188904", "-11.66766985", "4.177976652", "0.4032407994", "-11.26022626", "@"}; break; case "LpinkyFoot": $data = { "LpinkyFoot", "1", "5", "4.633216754", "1.775969048", "-14.04342452", "3.836350821", "0.9822041405", "-13.01304353", "3.772180501", "0.8180066763", "-12.32386234", "3.839044354", "0.6019188904", "-11.88518561", "3.900521141", "0.4032407994", "-11.48185206", "@"}; break; case "RpinkyFoot": $data = { "RpinkyFoot", "1", "5", "-4.662127339", "1.775969048", "-14.04342452", "-3.865261406", "0.9822041405", "-13.01304353", "-3.801091086", "0.8180066763", "-12.32386234", "-3.867954939", "0.6019188904", "-11.88518561", "-3.929431726", "0.4032407994", "-11.48185206", "@"}; break; case "RringFoot": $data = { "RringFoot", "1", "5", "-4.662127339", "1.775969048", "-14.04342452", "-4.184816779", "0.9822041405", "-13.01304353", "-4.162746321", "0.8180066763", "-12.11081677", "-4.185743181", "0.6019188904", "-11.66766985", "-4.206887237", "0.4032407994", "-11.26022626", "@"}; break; case "RmiddleFoot": $data = { "RmiddleFoot", "1", "5", "-4.662127339", "1.775969048", "-14.04342452", "-4.668827772", "0.9946862515", "-13.00298261", "-4.668827772", "0.874291302", "-12.04533241", "-4.668827772", "0.6518925847", "-11.607152", "-4.668827772", "0.469217971", "-11.24723789", "@"}; break; case "RindexFoot": $data = { "RindexFoot", "1", "5", "-4.662127339", "1.775969048", "-14.04342452", "-5.159687402", "0.9822041405", "-13.01304353", "-5.173648749", "0.8180066763", "-12.06991432", "-5.10147269", "0.6019188904", "-11.63208026", "-5.035111689", "0.4032407994", "-11.22952148", "@"}; break; case "LparHip": $data = { "LparHip", "1", "2", "-0.002094268799", "19.00778904", "-10.64431919", "2.336997801", "17.53785628", "-10.12013274", "@"}; break; case "RparHip": $data = { "RparHip", "1", "2", "-0.002094268799", "19.00778904", "-10.64431919", "-2.341371608", "17.5377661", "-10.12006869", "@"}; break; case "Lleg": $data = { "Lleg", "1", "4", "2.336997801", "17.53785628", "-10.12013274", "3.944068184", "11.36388724", "-11.0289537", "4.575876493", "5.575624382", "-13.91858692", "4.633216754", "1.775969048", "-14.04342452", "@"}; break; case "Rleg": $data = { "Rleg", "1", "4", "-2.341371608", "17.5377661", "-10.12006869", "-3.963767084", "11.37947638", "-11.03075866", "-4.634617612", "5.543943847", "-13.93641894", "-4.656063851", "1.809399688", "-14.04177298", "@"}; break; case "Larm": $data = { "Larm", "1", "4", "1.601331182", "19.23468415", "7.3932553", "3.533886194", "17.58859437", "7.880469223", "3.379193544", "11.8369195", "5.987266753", "4.006210496", "5.019853466", "5.600234129", "@"}; break; case "Rarm": $data = { "Rarm", "1", "4", "-1.609658484", "19.23496536", "7.391646142", "-3.544725895", "17.58936875", "7.87862291", "-3.386282476", "11.83833876", "5.982162238", "-4.059566227", "5.02275488", "5.609421876", "@"}; break; } }
return $data; }
//*********************************************************************************************************** // proc _createCurveAndRef_Quadruped(string $type, string $prefix, string $sym, int $fingerCount, int $thumbFingerNum, int $feetFingerCount, int $feetThumbFingerNum) { string $c;
// ========= leg and foot Curves $c = _createCurveFromGuideData($prefix,_getGuildeData_Quadruped($type,"Lleg")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,0,1, 2.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Rleg")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,0,1, 2.0);
// ========= arm Curves $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Larm")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,1, 2.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Rarm")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,1, 2.0);
// ========= Finger Curves // pinky if ( $fingerCount == 4){ $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Lpinky")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Rpinky")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); }
// ring if ( $fingerCount >= 3){ $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Lring")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Rring")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); }
// index if ( $fingerCount >= 2){ $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Lindex")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Rindex")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); }
// middle if ( $fingerCount >= 1){ $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Lmiddle")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,2,0, 1.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Rmiddle")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,2,0, 1.0); }
// ========= Foot // pinky Foot if ( $feetFingerCount == 4){ $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"LpinkyFoot")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"RpinkyFoot")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); }
// ring feet if ( $feetFingerCount >= 3){ $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"LringFoot")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"RringFoot")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); }
// index Foot if ( $feetFingerCount >= 2){ $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"LindexFoot")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"RindexFoot")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); }
// middle feet if ( $feetFingerCount >= 1){ $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"LmiddleFoot")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"RmiddleFoot")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 1.0); }
// ========= spine Curves $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"spine")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,1, 2.0);
// ========= Neck curve $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"neck")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c, 0,1, 2.0);
// ========= Head curve $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"head")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c, 0,0, 2.0);
// ========= colla curves $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Lcollar")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c, 0,1, 2.0); $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"Rcollar")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c, 0,1, 2.0);
// ========= spine Root Curves $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"spineRoot")); parent $c $sym;
// ========= hip curves $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"LparHip")); parent $c $sym; $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"RparHip")); parent $c $sym;
// ========= tail $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"tail")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c, 1,0, 2.0);
// ========= jaw $c = _createCurveFromGuideData($prefix, _getGuildeData_Quadruped($type,"jaw")); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c, 1,0, 2.0); }
//*********************************************************************************************************** // proc _addCluster_Quadruped(string $prefix, int $fingerCount, int $thumbFingerNum, int $feetFingerCount, int $feetThumbFingerNum) {
// ========= Spine Clusters $crvName = "spine"; cluster -n ($prefix+$crvName+"0") ($prefix+$crvName+".cv[0]")($prefix+"spineRoot.cv[0:1]") ($prefix+"LparHip.cv[0]") ($prefix+"RparHip.cv[0]") ($prefix+"tail.cv[0]"); toggle -state on -template; _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"), 2.0, 0);
// ========= head string $crvName = "neck"; sets -fe ($prefix+"head1Set") ($prefix+"jaw.cv[0]") ($prefix+"neck.cv[3]");
// ========= neck string $crvName = "neck"; sets -fe ($prefix+"neck1Set") ($prefix+"spine.cv[4]");
// ========= spine string $crvName = "spine"; sets -fe ($prefix+"spine3Set") ($prefix+"Lcollar.cv[1]") ($prefix+"Rcollar.cv[1]");
// ========= collar string $crvName = "Lcollar"; sets -fe ($prefix+"Lcollar1Set") ($prefix+"Larm.cv[0]"); string $crvName = "Rcollar"; sets -fe ($prefix+"Rcollar1Set") ($prefix+"Rarm.cv[0]");
// ========= leg string $crvName = "Lleg"; sets -fe ($prefix+"Lleg1Set") ($prefix+"LparHip.cv[1]"); string $crvName = "Rleg"; sets -fe ($prefix+"Rleg1Set") ($prefix+"RparHip.cv[1]");
// ========= Finger $crvName = "Lhand"; cluster -n ($prefix+$crvName+"0") ($prefix+"Larm.cv[5]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),2.0, 0); $crvName = "Rhand"; cluster -n ($prefix+$crvName+"0") ($prefix+"Rarm.cv[5]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),2.0, 0);
$crvName = "Lfinger"; cluster -n ($prefix+$crvName+"0") ($prefix+"Lmiddle.cv[1]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),2.0, 0); $crvName = "Rfinger"; cluster -n ($prefix+$crvName+"0") ($prefix+"Rmiddle.cv[1]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),2.0, 0);
switch ($fingerCount){ case 1: sets -fe ($prefix+"Lhand0Set") ($prefix+"Lmiddle.cv[0]"); sets -fe ($prefix+"Rhand0Set") ($prefix+"Rmiddle.cv[0]"); break; case 2: sets -fe ($prefix+"Lhand0Set") ($prefix+"Lmiddle.cv[0]"); sets -fe ($prefix+"Rhand0Set") ($prefix+"Rmiddle.cv[0]"); sets -fe ($prefix+"Lfinger0Set") ($prefix+"Lindex.cv[0]"); sets -fe ($prefix+"Rfinger0Set") ($prefix+"Rindex.cv[0]"); break; case 3: sets -fe ($prefix+"Lhand0Set") ($prefix+"Lmiddle.cv[0]"); sets -fe ($prefix+"Rhand0Set") ($prefix+"Rmiddle.cv[0]"); sets -fe ($prefix+"Lfinger0Set") ($prefix+"Lindex.cv[0]") ($prefix+"Lring.cv[0]"); sets -fe ($prefix+"Rfinger0Set") ($prefix+"Rindex.cv[0]") ($prefix+"Rring.cv[0]"); break; case 4: sets -fe ($prefix+"Lhand0Set") ($prefix+"Lmiddle.cv[0]"); sets -fe ($prefix+"Rhand0Set") ($prefix+"Rmiddle.cv[0]"); sets -fe ($prefix+"Lfinger0Set") ($prefix+"Lindex.cv[0]") ($prefix+"Lring.cv[0]") ($prefix+"Lpinky.cv[0]"); sets -fe ($prefix+"Rfinger0Set") ($prefix+"Rindex.cv[0]") ($prefix+"Rring.cv[0]") ($prefix+"Rpinky.cv[0]"); break; }
// ========= Thumb Clusters if ($thumbFingerNum == 1){ sets -fe ($prefix+"Lfinger0Set") ($prefix+"Lthumb.cv[0]"); sets -fe ($prefix+"Rfinger0Set") ($prefix+"Rthumb.cv[0]"); }
// ========= Finger Feet $crvName = "LFoot"; cluster -n ($prefix+$crvName+"0") ($prefix+"Lleg.cv[5]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),2.0, 0); $crvName = "RFoot"; cluster -n ($prefix+$crvName+"0") ($prefix+"Rleg.cv[5]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),2.0, 0);
switch ($fingerCount){ case 1: sets -fe ($prefix+"LFoot0Set") ($prefix+"LmiddleFoot.cv[0]"); sets -fe ($prefix+"RFoot0Set") ($prefix+"RmiddleFoot.cv[0]"); break; case 2: sets -fe ($prefix+"LFoot0Set") ($prefix+"LmiddleFoot.cv[0]") ($prefix+"LindexFoot.cv[0]"); sets -fe ($prefix+"RFoot0Set") ($prefix+"RmiddleFoot.cv[0]") ($prefix+"RindexFoot.cv[0]"); break; case 3: sets -fe ($prefix+"LFoot0Set") ($prefix+"LmiddleFoot.cv[0]") ($prefix+"LindexFoot.cv[0]") ($prefix+"LringFoot.cv[0]"); sets -fe ($prefix+"RFoot0Set") ($prefix+"RmiddleFoot.cv[0]") ($prefix+"RindexFoot.cv[0]") ($prefix+"RringFoot.cv[0]"); break; case 4: sets -fe ($prefix+"LFoot0Set") ($prefix+"LmiddleFoot.cv[0]") ($prefix+"LindexFoot.cv[0]") ($prefix+"LringFoot.cv[0]") ($prefix+"LpinkyFoot.cv[0]"); sets -fe ($prefix+"RFoot0Set") ($prefix+"RmiddleFoot.cv[0]") ($prefix+"RindexFoot.cv[0]") ($prefix+"RringFoot.cv[0]") ($prefix+"RpinkyFoot.cv[0]"); break; }
// ========= Thumb Foot Clusters if ($thumbFingerNum == 1){ sets -fe ($prefix+"LFoot0Set") ($prefix+"LthumbFoot.cv[0]"); sets -fe ($prefix+"RFoot0Set") ($prefix+"RthumbFoot.cv[0]"); } }
//************************************************************************************************************ // proc string[] _getGuildeData_Biped(string $parts) { string $data[];
// FORMAT ---- parts, degree, cvnum, [x,y,z], [x,y,z], ... @ switch ($parts) { case "neck": $data = { "neck", "1", "2", "-1.061547283e-006", "22.56460982", "-0.1846562255", "-1.905648e-006", "23.66006756", "-0.09851213341", "@"}; break; case "head": $data = { "head", "1", "2", "-1.905648e-006", "23.66006756", "-0.09851213341", "3.896081102e-006", "26.94649082", "-0.1014401603", "@"}; break; case "spineRoot": $data = { "spineRoot", "1", "2", "-8.583068848e-006", "15.60328388", "-0.3707689494", "0", "15.66811735", "-0.3679688544", "@"}; break; case "LparHip": $data = { "LparHip", "1", "2", "-8.583068848e-006", "15.60328388", "-0.3707689494", "1.585763209", "13.67045374", "-0.08288286231", "@"}; break; case "RparHip": $data = { "RparHip", "1", "2", "-8.583068848e-006", "15.60328388", "-0.3707689494", "-1.677080911", "13.67039106", "-0.08288318505", "@"}; break; case "Larm": $data = { "Larm", "1", "4", "1.251851343", "21.82074889", "4.74016617e-006", "3.282783866", "21.57271638", "-6.675085086e-007", "7.113148881", "21.56568543", "0.02774554118", "10.92177898", "21.56975576", "0.07771524343", "@"}; break; case "Rarm": $data = { "Rarm", "1", "4", "-1.251851343", "21.82074889", "4.74016617e-006", "-3.282783866", "21.57271638", "-6.675085086e-007", "-7.113148881", "21.56568543", "0.02774554118", "-10.92177898", "21.56975576", "0.07771524343", "@"}; break; case "Lpinky": $data = { "Lpinky", "1", "6", "11.46435344", "21.61424586", "0.07351637709", "11.94968171", "21.57891615", "-0.2885644895", "12.43278736", "21.61980531", "-0.414706923", "12.95630168", "21.54410257", "-0.457393434", "13.26004616", "21.48692815", "-0.4585406482", "13.44238405", "21.45287206", "-0.4583193806", "@"}; break; case "Lring": $data = { "Lring", "1", "6", "11.46435344", "21.61424586", "0.07351637709", "11.99193177", "21.59862217", "-0.08679484333", "12.51507885", "21.64033576", "-0.1873345222", "13.15633478", "21.61876294", "-0.1972916075", "13.47718779", "21.59192942", "-0.1979145069", "13.71084744", "21.55960835", "-0.1892338968", "@"}; break; case "Lindex": $data = { "Lindex", "1", "6", "11.46435344", "21.61424586", "0.07351637709", "12.0178501", "21.60744068", "0.3287224713", "12.49545535", "21.62707676", "0.436506674", "13.20634882", "21.65960172", "0.4695823628", "13.52076062", "21.64341594", "0.4786757978", "13.7553252", "21.62172366", "0.4884196476", "@"}; break; case "Lmiddle": $data = { "Lmiddle", "1", "7", "10.92177898", "21.56975576", "0.07771524343", "11.46435344", "21.61424586", "0.07351637709", "12.02601371", "21.6172028", "0.1081331061", "12.50689129", "21.66223528", "0.1243379442", "13.2622716", "21.67263107", "0.1352367191", "13.58303598", "21.67832692", "0.140483104", "13.85200599", "21.65523515", "0.1347773582", "@"}; break; case "Rpinky": $data = { "Rpinky", "1", "6", "-11.46435344", "21.61424586", "0.07351637709", "-11.94968171", "21.57891615", "-0.2885644895", "-12.43278736", "21.61980531", "-0.414706923", "-12.95630168", "21.54410257", "-0.457393434", "-13.26004616", "21.48692815", "-0.4585406482", "-13.44238405", "21.45287206", "-0.4583193806", "@"}; break; case "Rring": $data = { "Rring", "1", "6", "-11.46435344", "21.61424586", "0.07351637709", "-11.99193177", "21.59862217", "-0.08679484333", "-12.51507885", "21.64033576", "-0.1873345222", "-13.15633478", "21.61876294", "-0.1972916075", "-13.47718779", "21.59192942", "-0.1979145069", "-13.71084744", "21.55960835", "-0.1892338968", "@"}; break; case "Rindex": $data = { "Rindex", "1", "6", "-11.46435344", "21.61424586", "0.07351637709", "-12.0178501", "21.60744068", "0.3287224713", "-12.49545535", "21.62707676", "0.436506674", "-13.20634882", "21.65960172", "0.4695823628", "-13.52076062", "21.64341594", "0.4786757978", "-13.7553252", "21.62172366", "0.4884196476", "@"}; break; case "Rmiddle": $data = { "Rmiddle", "1", "7", "-10.92177898", "21.56975576", "0.07771524343", "-11.46435344", "21.61424586", "0.07351637709", "-12.02601371", "21.6172028", "0.1081331061", "-12.50689129", "21.66223528", "0.1243379442", "-13.2622716", "21.67263107", "0.1352367191", "-13.58303598", "21.67832692", "0.140483104", "-13.85200599", "21.65523515", "0.1347773582", "@"}; break; case "LmiddleFoot": $data = { "LmiddleFoot", "1", "6", "1.634822696", "0.131693852", "1.082053552", "1.63598331", "0.1023611085", "1.654311608", "1.63643803", "0.09086874093", "1.806117534", "1.6368638", "0.08010805614", "1.943648922", "1.637113484", "0.07379768074", "2.066759232", "1.637409576", "0.06631439174", "2.17655171", "@"}; break; case "LringFoot": $data = { "LringFoot", "1", "6", "1.634822696", "0.131693852", "1.082053552", "1.725063633", "0.1023611085", "1.60541118", "1.746321236", "0.09086874093", "1.756068691", "1.760644742", "0.08010805614", "1.863181569", "1.780411428", "0.07379768074", "1.986088525", "1.794492151", "0.06631439174", "2.095130604", "@"}; break; case "LpinkyFoot": $data = { "LpinkyFoot", "1", "6", "1.634822696", "0.131693852", "1.082053552", "1.840204173", "0.1023611085", "1.561320407", "1.872649776", "0.09086874093", "1.683445521", "1.889471406", "0.08010805614", "1.791341967", "1.899336094", "0.07379768074", "1.914056672", "1.911034338", "0.06631439174", "2.023380013", "@"}; break; case "LindexFoot": $data = { "LindexFoot", "1", "6", "1.634822696", "0.131693852", "1.082053552", "1.537960002", "0.1023611085", "1.655447986", "1.523846624", "0.09086874093", "1.806597112", "1.511074091", "0.08010805614", "1.943534786", "1.499510008", "0.07379768074", "2.066101024", "1.489269986", "0.06631439174", "2.175415332", "@"}; break; case "LthumbFoot": $data = { "LthumbFoot", "1", "6", "1.634822696", "0.131693852", "1.082053552", "1.387494807", "0.1023611085", "1.683288657", "1.367581294", "0.09086874093", "1.835084512", "1.369231953", "0.08010805614", "1.972606653", "1.370578093", "0.07379768074", "2.095709857", "1.371852027", "0.06631439174", "2.205495343", "@"}; break; case "RmiddleFoot": $data = { "RmiddleFoot", "1", "6", "-1.634822696", "0.131693852", "1.082053552", "-1.63598331", "0.1023611085", "1.654311608", "-1.63643803", "0.09086874093", "1.806117534", "-1.6368638", "0.08010805614", "1.943648922", "-1.637113484", "0.07379768074", "2.066759232", "-1.637409576", "0.06631439174", "2.17655171", "@"}; break; case "RringFoot": $data = { "RringFoot", "1", "6", "-1.634822696", "0.131693852", "1.082053552", "-1.725063633", "0.1023611085", "1.60541118", "-1.746321236", "0.09086874093", "1.756068691", "-1.760644742", "0.08010805614", "1.863181569", "-1.780411428", "0.07379768074", "1.986088525", "-1.794492151", "0.06631439174", "2.095130604", "@"}; break; case "RpinkyFoot": $data = { "RpinkyFoot", "1", "6", "-1.634822696", "0.131693852", "1.082053552", "-1.840204173", "0.1023611085", "1.561320407", "-1.872649776", "0.09086874093", "1.683445521", "-1.889471406", "0.08010805614", "1.791341967", "-1.899336094", "0.07379768074", "1.914056672", "-1.911034338", "0.06631439174", "2.023380013", "@"}; break; case "RindexFoot": $data = { "RindexFoot", "1", "6", "-1.634822696", "0.131693852", "1.082053552", "-1.537960002", "0.1023611085", "1.655447986", "-1.523846624", "0.09086874093", "1.806597112", "-1.511074091", "0.08010805614", "1.943534786", "-1.499510008", "0.07379768074", "2.066101024", "-1.489269986", "0.06631439174", "2.175415332", "@"}; break; case "RthumbFoot": $data = { "RthumbFoot", "1", "6", "-1.634822696", "0.131693852", "1.082053552", "-1.387494807", "0.1023611085", "1.683288657", "-1.367581294", "0.09086874093", "1.835084512", "-1.369231953", "0.08010805614", "1.972606653", "-1.370578093", "0.07379768074", "2.095709857", "-1.371852027", "0.06631439174", "2.205495343", "@"}; break; case "Lthumb": $data = { "Lthumb", "1", "6", "11.46435344", "21.61424586", "0.07351637709", "11.41547928", "21.42893243", "0.3150927544", "11.70747829", "21.32146697", "0.5976843102", "11.97467605", "21.2231292", "0.8562736532", "12.42215539", "21.15985895", "1.06381518", "12.85117451", "21.09262459", "1.215340563", "@"}; break; case "Rthumb": $data = { "Rthumb", "1", "6", "-11.46435344", "21.61424586", "0.07351637709", "-11.41547928", "21.42893243", "0.3150927544", "-11.70747829", "21.32146697", "0.5976843102", "-11.97467605", "21.2231292", "0.8562736532", "-12.42215539", "21.15985895", "1.06381518", "-12.85117451", "21.09262459", "1.215340563", "@"}; break; case "Lleg": $data = { "Lleg", "1", "4", "1.584853111", "13.67091089", "-0.08229536231", "1.625593906", "7.593278517", "-0.2120170299", "1.585408602", "0.9780621891", "-0.4409845984", "1.634793334", "0.1324359426", "1.067575966", "@"}; break; case "Rleg": $data = { "Rleg", "1", "4", "-1.584853111", "13.67091089", "-0.08229536231", "-1.625593906", "7.593278517", "-0.2120170299", "-1.585408602", "0.9780621891", "-0.4409845984", "-1.634793334", "0.1324359426", "1.067575966", "@"}; break; case "Rcollar": $data = { "Rcollar", "1", "2", "-1.251851343", "21.82074889", "4.74016617e-006", "5.955456106e-006", "21.01701915", "-0.3963340977", "@"}; break; case "Lcollar": $data = { "Lcollar", "1", "2", "1.251851343", "21.82074889", "4.74016617e-006", "-5.955456106e-006", "21.01701915", "-0.3963340977", "@"}; break; case "spine": $data = { "spine", "1", "6", "-7.979571819e-006", "15.60106087", "-0.3707162142", "-1.315443641e-005", "16.64271082", "-0.1489751196", "-1.060370583e-005", "18.14008978", "-0.251463457", "-8.011098294e-006", "19.62314348", "-0.3775034082", "-5.608615424e-006", "21.01402383", "-0.3962398218", "-8.014599544e-007", "22.56139373", "-0.1845669331", "@"}; break; } return $data; }
//*********************************************************************************************************** // proc _createCurveAndRef_Biped(string $prefix, string $sym, int $fingerCount, int $thumbFingerNum, int $feetFingerCount, int $feetThumbFingerNum) { string $c;
// ========= leg and foot Curves $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Lleg")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,0,1, 1.0); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Rleg")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,0,1, 1.0);
// ========= arm Curves $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Larm")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,1, 1.0); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Rarm")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,1, 1.0);
// ========= Fingers // pinky if ( $fingerCount == 4){ $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Lpinky")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Rpinky")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); }
// ring if ( $fingerCount >= 3){ $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Lring")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Rring")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); }
// index if ( $fingerCount >= 2){ $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Lindex")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Rindex")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); }
// middle if ( $fingerCount >= 1){ $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Rmiddle")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,2,0, 0.4); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Lmiddle")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,2,0, 0.4); }
//Thumb Curves if ($thumbFingerNum == 1){ $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Lthumb")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Rthumb")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); }
// ========= Foot // pinky Foot if ( $feetFingerCount == 4){ $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("LpinkyFoot")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("RpinkyFoot")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); }
// ring feet if ( $feetFingerCount >= 3){ $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("LringFoot")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("RringFoot")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); }
// index Foot if ( $feetFingerCount >= 2){ $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("LindexFoot")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("RindexFoot")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); }
// middle feet if ( $feetFingerCount >= 1){ $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("LmiddleFoot")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("RmiddleFoot")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); }
//Thumb Curves if ($feetThumbFingerNum == 1){ $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("LthumbFoot")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("RthumbFoot")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,0, 0.4); }
// ========= spine Curves $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("spine")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c,1,1, 1.0);
// ========= Neck curve $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("neck")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c, 0,1, 1.0);
// ========= Head curve $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("head")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c, 0,0, 1.0);
// ========= colla curves $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Lcollar")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c, 0,1, 1.0); $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("Rcollar")`); _ClusterRefCreation_FR(($prefix+"RigCurves"), $prefix, $c, 0,1, 1.0);
// ========= spine Root Curves $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("spineRoot")`); parent $c $sym;
// ========= hip curves $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("LparHip")`); parent $c $sym; $c = _createCurveFromGuideData($prefix, `_getGuildeData_Biped("RparHip")`); parent $c $sym; }
//*********************************************************************************************************** // proc _addCluster_Biped(string $prefix, int $fingerCount, int $thumbFingerNum, int $feetFingerCount, int $feetThumbFingerNum) {
// ========= Spine Clusters $crvName = "spine"; cluster -n ($prefix+$crvName+"0") ($prefix+$crvName+".cv[0]")($prefix+"spineRoot.cv[0:1]") ($prefix+"LparHip.cv[0]") ($prefix+"RparHip.cv[0]"); toggle -state on -template; _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"), 1.5, 0);
// ========= neck string $crvName = "neck"; sets -fe ($prefix+"neck1Set") ($prefix+"spine.cv[5]");
// ========= head string $crvName = "neck"; sets -fe ($prefix+"head1Set") ($prefix+"neck.cv[1]");
// ========= spine string $crvName = "spine"; sets -fe ($prefix+"spine4Set") ($prefix+"Lcollar.cv[1]") ($prefix+"Rcollar.cv[1]");
// ========= collar string $crvName = "Lcollar"; sets -fe ($prefix+"Lcollar1Set") ($prefix+"Larm.cv[0]"); string $crvName = "Rcollar"; sets -fe ($prefix+"Rcollar1Set") ($prefix+"Rarm.cv[0]");
// ========= leg string $crvName = "Lleg"; sets -fe ($prefix+"Lleg1Set") ($prefix+"LparHip.cv[1]"); string $crvName = "Rleg"; sets -fe ($prefix+"Rleg1Set") ($prefix+"RparHip.cv[1]");
// ========= Finger $crvName = "Lhand"; cluster -n ($prefix+$crvName+"0") ($prefix+"Larm.cv[5]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),1.0, 0); $crvName = "Rhand"; cluster -n ($prefix+$crvName+"0") ($prefix+"Rarm.cv[5]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),1.0, 0);
$crvName = "Lfinger"; cluster -n ($prefix+$crvName+"0") ($prefix+"Lmiddle.cv[1]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),1.0, 0); $crvName = "Rfinger"; cluster -n ($prefix+$crvName+"0") ($prefix+"Rmiddle.cv[1]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),1.0, 0);
switch ($fingerCount){ case 1: sets -fe ($prefix+"Lhand0Set") ($prefix+"Lmiddle.cv[0]"); sets -fe ($prefix+"Rhand0Set") ($prefix+"Rmiddle.cv[0]"); break; case 2: sets -fe ($prefix+"Lhand0Set") ($prefix+"Lmiddle.cv[0]"); sets -fe ($prefix+"Rhand0Set") ($prefix+"Rmiddle.cv[0]"); sets -fe ($prefix+"Lfinger0Set") ($prefix+"Lindex.cv[0]"); sets -fe ($prefix+"Rfinger0Set") ($prefix+"Rindex.cv[0]"); break; case 3: sets -fe ($prefix+"Lhand0Set") ($prefix+"Lmiddle.cv[0]"); sets -fe ($prefix+"Rhand0Set") ($prefix+"Rmiddle.cv[0]"); sets -fe ($prefix+"Lfinger0Set") ($prefix+"Lindex.cv[0]") ($prefix+"Lring.cv[0]"); sets -fe ($prefix+"Rfinger0Set") ($prefix+"Rindex.cv[0]") ($prefix+"Rring.cv[0]"); break; case 4: sets -fe ($prefix+"Lhand0Set") ($prefix+"Lmiddle.cv[0]"); sets -fe ($prefix+"Rhand0Set") ($prefix+"Rmiddle.cv[0]"); sets -fe ($prefix+"Lfinger0Set") ($prefix+"Lindex.cv[0]") ($prefix+"Lring.cv[0]") ($prefix+"Lpinky.cv[0]"); sets -fe ($prefix+"Rfinger0Set") ($prefix+"Rindex.cv[0]") ($prefix+"Rring.cv[0]") ($prefix+"Rpinky.cv[0]"); break; }
// ========= Thumb Clusters if ($thumbFingerNum == 1){ sets -fe ($prefix+"Lfinger0Set") ($prefix+"Lthumb.cv[0]"); sets -fe ($prefix+"Rfinger0Set") ($prefix+"Rthumb.cv[0]"); }
// ========= Finger Feet $crvName = "LFoot"; cluster -n ($prefix+$crvName+"0") ($prefix+"Lleg.cv[5]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),1.0, 0); $crvName = "RFoot"; cluster -n ($prefix+$crvName+"0") ($prefix+"Rleg.cv[5]"); _RefCreation_FR ($prefix, $crvName,($prefix+$crvName+"0Handle"),1.0, 0);
switch ($feetFingerCount){ case 1: sets -fe ($prefix+"LFoot0Set") ($prefix+"LmiddleFoot.cv[0]"); sets -fe ($prefix+"RFoot0Set") ($prefix+"RmiddleFoot.cv[0]"); break; case 2: sets -fe ($prefix+"LFoot0Set") ($prefix+"LmiddleFoot.cv[0]") ($prefix+"LindexFoot.cv[0]"); sets -fe ($prefix+"RFoot0Set") ($prefix+"RmiddleFoot.cv[0]") ($prefix+"RindexFoot.cv[0]"); break; case 3: sets -fe ($prefix+"LFoot0Set") ($prefix+"LmiddleFoot.cv[0]") ($prefix+"LindexFoot.cv[0]") ($prefix+"LringFoot.cv[0]"); sets -fe ($prefix+"RFoot0Set") ($prefix+"RmiddleFoot.cv[0]") ($prefix+"RindexFoot.cv[0]") ($prefix+"RringFoot.cv[0]"); break; case 4: sets -fe ($prefix+"LFoot0Set") ($prefix+"LmiddleFoot.cv[0]") ($prefix+"LindexFoot.cv[0]") ($prefix+"LringFoot.cv[0]") ($prefix+"LpinkyFoot.cv[0]"); sets -fe ($prefix+"RFoot0Set") ($prefix+"RmiddleFoot.cv[0]") ($prefix+"RindexFoot.cv[0]") ($prefix+"RringFoot.cv[0]") ($prefix+"RpinkyFoot.cv[0]"); break; }
// ========= Thumb Foot Clusters if ($feetThumbFingerNum == 1){ sets -fe ($prefix+"LFoot0Set") ($prefix+"LthumbFoot.cv[0]"); sets -fe ($prefix+"RFoot0Set") ($prefix+"RthumbFoot.cv[0]"); } }
//************************************************************************************************************ // proc _BoneCreation( string $type, int $fingerCount, int $thumbFingerNum, int $addRoll ) {
string $tmp[]; string $prefix = ""; int $split[];
string $curveSelection[] = `listRelatives -c -type transform "RigCurves"`; int $selectionSize = size ($curveSelection);
// ========= for ( $i = 0 ; $i < $selectionSize ; $i++ ){ if ( `objExists $curveSelection[$i]` ){
// ========= string $shape = _getShape( $curveSelection[$i] ); int $curveDegree = `getAttr ($shape+".degree")`; int $curveSpans = `getAttr ($shape+".spans")`; int $num = $curveDegree + $curveSpans; string $curve = $curveSelection[$i];
// ========= degree3 if ($curveDegree == 3){ //
// ========= degree1 } else if ($curveDegree == 1){
// Head ---------------- if ($curveSelection[$i] == ($prefix+"head")){ string $jnts[] = _JointOn1DCurve_FR ($curve, 0, 0, {}); $jnts = _renameJoints($jnts[0], {"Head", "ForeHead"}); _setJointLabels($jnts[0], {"Head*"}); }
// Neck ---------------- if ($curveSelection[$i] == ($prefix+"neck")){ string $jnts[] = _JointOn1DCurve_FR ($curve, 0, 0, {}); $jnts = _renameJoints($jnts[0], {"Neck", "Neck*"}); _setJointLabels($jnts[0], {"Neck*"}); }
// Leg (L) ---------------- if ($curveSelection[$i] == ($prefix+"Lleg")){ string $jnts[]; if ( $addRoll ) { $split = {0,1}; $jnts = _JointOn1DCurve_FR ($curve,0,0, $split); $jnts = _renameJoints($jnts[0], {"LeftUpLeg","LeftUpLegRoll","LeftLeg","LeftLegRoll","LeftFoot", "LeftToeBase"}); } else { $jnts = _JointOn1DCurve_FR ($curve,0,0, $split); $jnts = _renameJoints($jnts[0], {"LeftUpLeg","LeftLeg","LeftFoot", "LeftToeBase"}); } _setJointLabels($jnts[0], {"Hip", "Hip", "Knee", "Knee", "Foot", "Toe"}); }
// Leg (R) ---------------- if ($curveSelection[$i] == ($prefix+"Rleg")){ string $jnts[]; if ( $addRoll ) { $split = {0,1}; $jnts = _JointOn1DCurve_FR ($curve,0,0, $split); $jnts = _renameJoints($jnts[0], {"RightUpLeg","RightUpLegRoll","RightLeg","RightLegRoll","RightFoot", "RightToeBase"}); } else { $jnts = _JointOn1DCurve_FR ($curve,0,0, $split); $jnts = _renameJoints($jnts[0], {"RightUpLeg","RightLeg","RightFoot", "RightToeBase"}); } _setJointLabels($jnts[0], {"Hip", "Hip", "Knee", "Knee", "Foot", "Toe"}); }
// Arm (L) ---------------- if ($curveSelection[$i] == ($prefix+"Larm")){ string $jnts[]; if ( $addRoll ) { $split = {1,2}; $jnts = _JointOn1DCurve_FR ($curve,0,0, $split); $jnts = _renameJoints($jnts[0], {"LeftShoulder", "LeftArm", "LeftArmRoll", "LeftForeArm","LeftForeArmRoll", "LeftHand"}); } else { $jnts = _JointOn1DCurve_FR ($curve,0,0, $split); $jnts = _renameJoints($jnts[0], {"LeftShoulder", "LeftArm", "LeftForeArm","LeftHand"}); } _setJointLabels($jnts[0], {"Collar", "Shoulder", "Shoulder", "Elbow", "Elbow", "Hand"}); }
// Arm (R) ---------------- if ($curveSelection[$i] == ($prefix+"Rarm")){ string $jnts[]; if ( $addRoll ) { $split = {1,2}; $jnts = _JointOn1DCurve_FR ($curve,0,0, $split); $jnts = _renameJoints($jnts[0], {"RightShoulder", "RightArm", "RightArmRoll", "RightForeArm","RightForeArmRoll", "RightHand"}); } else { $jnts = _JointOn1DCurve_FR ($curve,0,0, $split); $jnts = _renameJoints($jnts[0], {"RightShoulder", "RightArm", "RightForeArm", "RightHand"}); } _setJointLabels($jnts[0], {"Collar", "Shoulder", "Shoulder", "Elbow", "Elbow", "Hand"}); }
// Spine ---------------- if ($curveSelection[$i] == ($prefix+"spine")){ string $jnts[] = _JointOn1DCurve_FR ($curve,0,1, {}); $jnts = _renameJoints($jnts[0], {"Hips", "Spine", "Spine*"}); _setJointLabels($jnts[0], {"Root", "Spine*"}); }
// Jaw ---------------- if ($curveSelection[$i] == ($prefix+"jaw")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"Jaw*"}); _setJointLabels($jnts[0], {""}); }
// Tail ---------------- if ($curveSelection[$i] == ($prefix+"tail")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"Tail*"}); _setJointLabels($jnts[0], {""}); }
// Fingers ---------------- if ($curveSelection[$i] == ($prefix+"Lmiddle")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"LeftFingerBase", "LeftInHandMiddle", "LeftHandMiddle*"}); _setJointLabels($jnts[0], {"Finger", "", "MiddleFinger*"}); } if ($curveSelection[$i] == ($prefix+"Rmiddle")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"RightFingerBase", "RightInHandMiddle", "RightHandMiddle*"}); _setJointLabels($jnts[0], {"Finger", "", "MiddleFinger*"}); } if ($curveSelection[$i] == ($prefix+"Lindex")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"LeftInHandIndex", "LeftHandIndex*"}); _setJointLabels($jnts[0], {"", "IndexFinger*"}); } if ($curveSelection[$i] == ($prefix+"Rindex")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"RightInHandIndex", "RightHandIndex*"}); _setJointLabels($jnts[0], {"", "IndexFinger*"}); } if ($curveSelection[$i] == ($prefix+"Lring")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"LeftInHandRing", "LeftHandRing*"}); _setJointLabels($jnts[0], {"", "RingFinger*"}); } if ($curveSelection[$i] == ($prefix+"Rring")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"RightInHandRing", "RightHandRing*"}); _setJointLabels($jnts[0], {"", "RingFinger*"}); } if ($curveSelection[$i] == ($prefix+"Lpinky")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"LeftInHandPinky", "LeftHandPinky*"}); _setJointLabels($jnts[0], {"", "PinkyFinger*"}); } if ($curveSelection[$i] == ($prefix+"Rpinky")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"RightInHandPinky", "RightHandPinky*"}); _setJointLabels($jnts[0], {"", "PinkyFinger*"}); }
// Thumb ---------------- if ($thumbFingerNum == 1){ if ($curveSelection[$i] == ($prefix+"Lthumb")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"LeftInHandThumb", "LeftHandThumb*"}); _setJointLabels($jnts[0], {"Finger", "", "Thumb*"}); } if ($curveSelection[$i] == ($prefix+"Rthumb")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"RightInHandThumb", "RightHandThumb*"}); _setJointLabels($jnts[0], {"Finger", "", "Thumb*"}); } }
// Fingers Foots ---------------- if ($curveSelection[$i] == ($prefix+"LmiddleFoot")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"LeftInFootMiddle", "LeftFootMiddle*"}); _setJointLabels($jnts[0], {"", "MiddleToe*"}); } if ($curveSelection[$i] == ($prefix+"RmiddleFoot")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"RightInFootMiddle", "RightFootMiddle*"}); _setJointLabels($jnts[0], {"", "MiddleToe*"}); } if ($curveSelection[$i] == ($prefix+"LindexFoot")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"LeftInFootIndex", "LeftFootIndex*"}); _setJointLabels($jnts[0], {"", "IndexToe*"}); } if ($curveSelection[$i] == ($prefix+"RindexFoot")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"RightInFootIndex", "RightFootIndex*"}); _setJointLabels($jnts[0], {"", "IndexToe*"}); } if ($curveSelection[$i] == ($prefix+"LringFoot")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"LeftInFootRing", "LeftFootRing*"}); _setJointLabels($jnts[0], {"", "RingToe*"}); } if ($curveSelection[$i] == ($prefix+"RringFoot")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"RightInFootRing", "RightFootRing*"}); _setJointLabels($jnts[0], {"", "RingToe*"}); } if ($curveSelection[$i] == ($prefix+"LpinkyFoot")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"LeftInFootPinky", "LeftFootPinky*"}); _setJointLabels($jnts[0], {"", "PinkyToe*"}); } if ($curveSelection[$i] == ($prefix+"RpinkyFoot")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"RightInFootPinky", "RightFootPinky*"}); _setJointLabels($jnts[0], {"", "PinkyToe*"}); }
// Thumb Foots ---------------- if ($thumbFingerNum == 1){ if ($curveSelection[$i] == ($prefix+"LthumbFoot")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"LeftInFootThumb", "LeftFootThumb*"}); _setJointLabels($jnts[0], {"", "Thumb*"}); } if ($curveSelection[$i] == ($prefix+"RthumbFoot")){ string $jnts[] = _JointOn1DCurve_FR ($curve,1,0, {}); $jnts = _renameJoints($jnts[0], {"RightInFootThumb", "RightFootThumb*"}); _setJointLabels($jnts[0], {"", "Thumb*"}); } }
} } }
// ========= string $necks[] = `ls -type joint "Neck*"`; string $spines[] = `ls -type joint "Spine*"`;
parent Head $necks[`size $necks` - 2]; delete $necks[`size $necks` - 1];
parent Neck LeftShoulder RightShoulder $spines[`size $spines` - 1];
parent LeftUpLeg RightUpLeg Hips;
if ( objExists("Jaw1") ) parent Jaw1 Head; if ( objExists("Tail1") ) parent Tail1 Hips;
if ( objExists("LeftInHandPinky") ) parent LeftInHandPinky LeftFingerBase; if ( objExists("LeftInHandRing") ) parent LeftInHandRing LeftFingerBase; if ( objExists("LeftInHandIndex") ) parent LeftInHandIndex LeftFingerBase; if ( objExists("LeftInHandThumb") ) parent LeftInHandThumb LeftFingerBase; if ( objExists("LeftFingerBase") ) parent LeftFingerBase LeftHand;
if ( objExists("RightInHandPinky") ) parent RightInHandPinky RightFingerBase; if ( objExists("RightInHandRing") ) parent RightInHandRing RightFingerBase; if ( objExists("RightInHandIndex") ) parent RightInHandIndex RightFingerBase; if ( objExists("RightInHandThumb") ) parent RightInHandThumb RightFingerBase; if ( objExists("RightFingerBase") ) parent RightFingerBase RightHand;
if ( objExists("LeftInFootPinky") ) parent LeftInFootPinky LeftToeBase; if ( objExists("LeftInFootRing") ) parent LeftInFootRing LeftToeBase; if ( objExists("LeftInFootMiddle") ) parent LeftInFootMiddle LeftToeBase; if ( objExists("LeftInFootIndex") ) parent LeftInFootIndex LeftToeBase; if ( objExists("LeftInFootThumb") ) parent LeftInFootThumb LeftToeBase;
if ( objExists("RightInFootPinky") ) parent RightInFootPinky RightToeBase; if ( objExists("RightInFootRing") ) parent RightInFootRing RightToeBase; if ( objExists("RightInFootMiddle") ) parent RightInFootMiddle RightToeBase; if ( objExists("RightInFootIndex") ) parent RightInFootIndex RightToeBase; if ( objExists("RightInFootThumb") ) parent RightInFootThumb RightToeBase;
// Orient Joint switch ($type) { case "Biped_Normal": select -r LeftHand RightHand; joint -e -oj yxz -secondaryAxisOrient yup -ch -zso; select -r LeftFoot RightFoot; joint -e -oj yzx -secondaryAxisOrient yup -ch -zso;
$tmp = `ls "LeftInHandThumb" "LeftHandThumb*"`; _rotateLocalAxis($tmp, 0, -60, 0, 0);
$tmp = `ls "RightInHandThumb" "RightHandThumb*"`; _rotateLocalAxis($tmp, 0, -60, 0, 0); break; case "Quadruped_Hoof": case "Quadruped_Normal":$ManiSize = 20; break; select -r LeftFoot RightFoot LeftHand RightHand; joint -e -oj yzx -secondaryAxisOrient yup -ch -zso; break; }
select -cl; }
//########################################################################################################### // // DATA BLOCK (END) // //###########################################################################################################
//************************************************************************************************************ // global proc CreateTemplateRigCurves() { string $prefix = ""; string $type = `radioCollection -q -select FBIK_SkelRB`;
if ( `objExists ($prefix+"Guide_Skeleton")` ) { warning "Please Delete Old Guide_Skeleton."; return; }
int $fingerNum = `radioButtonGrp -q -sl FBIK_fingerNumRB`; int $thumbFingerNum = `checkBox -q -v FBIK_thumbFingerNumCB`; int $feetFingerCount = `radioButtonGrp -q -sl FBIK_FeetFingerNumRB`; int $feetThumbFingerNum = `checkBox -q -v FBIK_thumbFeetFingerNumCB`;
// ========= string $sys = `group -em -n ($prefix+"Guide_Skeleton")`; string $box = `group -em -n ($prefix+"RigSpheres") -p ($prefix+"Guide_Skeleton")`; string $sym = `group -em -n ($prefix+"RigCurves") -p ($prefix+"Guide_Skeleton")`; toggle -state on -template;
// ========= float $ManiSize; switch ( $type ) { case "Biped_Normal": $ManiSize = 8; break; case "Quadruped_Hoof": case "Quadruped_Normal":$ManiSize = 20; break; } string $tmp = _createGlobalScaleManipulator(8, $ManiSize); rename $tmp ($prefix + "GlobalScale"); FreezeTransformations; parent ($prefix + "GlobalScale") ($prefix+"Guide_Skeleton");
connectAttr ($prefix+"GlobalScale.translateX") ($prefix+"RigSpheres.tx"); connectAttr ($prefix+"GlobalScale.translateY") ($prefix+"RigSpheres.ty"); connectAttr ($prefix+"GlobalScale.translateZ") ($prefix+"RigSpheres.tz");
connectAttr ($prefix+"GlobalScale.scaleX") ($prefix+"RigSpheres.sx"); connectAttr ($prefix+"GlobalScale.scaleY") ($prefix+"RigSpheres.sy"); connectAttr ($prefix+"GlobalScale.scaleZ") ($prefix+"RigSpheres.sz");
// ========= addAttr -w 1 -ln "type" -dt "string" ($prefix+"Guide_Skeleton"); addAttr -w 1 -ln "prefix" -dt "string" ($prefix+"Guide_Skeleton"); setAttr -l 1 -type "string" ($prefix+"Guide_Skeleton.type") $type; setAttr -l 1 -type "string" ($prefix+"Guide_Skeleton.prefix") $prefix;
// ========= shader if( !`objExists "RIG_Shader"`){ shadingNode -asShader lambert -n "RIG_Shader"; sets -renderable true -noSurfaceShader true -empty -name "RIG_ShaderSG"; connectAttr -f RIG_Shader.outColor RIG_ShaderSG.surfaceShader; setAttr RIG_Shader.color 0 0 1; }
waitCursor -state on; // ========= switch ( $type ) { case "Biped_Normal": _createCurveAndRef_Biped($prefix, $sym, $fingerNum, $thumbFingerNum, $feetFingerCount, $feetThumbFingerNum); _addCluster_Biped($prefix, $fingerNum, $thumbFingerNum, $feetFingerCount, $feetThumbFingerNum); _ParentingGuideCurves($prefix); break; case "Quadruped_Hoof": $fingerNum = 1; $feetFingerCount = 1; case "Quadruped_Normal": $thumbFingerNum = 0; $feetThumbFingerNum = 0; _createCurveAndRef_Quadruped($type, $prefix, $sym, $fingerNum, $thumbFingerNum, $feetFingerCount, $feetThumbFingerNum); _addCluster_Quadruped($prefix, $fingerNum, $thumbFingerNum, $feetFingerCount, $feetThumbFingerNum); _ParentingGuideCurves($prefix); break; } waitCursor -state off; select -cl; }
//************************************************************************************************************ // global proc CreateSkeletonFBIK() { string $prefix = ""; string $tmp[] = `ls ($prefix+"*Guide_Skeleton")`; if ( !`size $tmp` ) { warning "Not Found Guide_Skeleton."; return; } string $guide = $tmp[0];
int $RollCB = `checkBox -q -v FBIK_addRollCB`;
if ( objExists($guide+".type") ) { string $type = `getAttr ($guide+".type")`; switch ( $type ) { case "Biped_Normal": _BoneCreation( $type, 4, 1, $RollCB ); break; case "Quadruped_Hoof": case "Quadruped_Normal": _BoneCreation( $type, 4, 1, $RollCB ); break; } } }
//************************************************************************************************************ // global proc FBIK_GuideMatchL2R(string $prefix){ string $dummy = "Ctrl"; string $characterName = ""; string $ref[], $tmp[]; string $toMove[]; float $refPos[]; float $refRot[];
//select the spheres on the right side $tmp = `ls ($prefix+"R*Ctrl*")`; if ( !`size $tmp` ) return; select ($prefix+"R*Ctrl*"); $ref = `ls -sl -type "transform"`;
//select the spheres on the left side select ($prefix+"L*Ctrl*"); $toMove = `ls -sl -type "transform"`;
//clear the selection and match the left side to the right side select -cl; for ($j=0;$j<(size($ref));$j++){ $refPos = `xform -q -t $ref[$j]`; $refRot = `xform -q -os -ro $ref[$j]`; $refScl = `getAttr ($ref[$j]+".s")`; select -r $toMove[$j]; move -ls ($refPos[0]*-1) $refPos[1] $refPos[2] ; rotate $refRot[0] ($refRot[1]*-1) ($refRot[2]*-1); scale $refScl[0] $refScl[1] $refScl[2]; } select -cl; } //************************************************************************************************************ // global proc FBIK_GuideMatchR2L(string $prefix){ string $dummy = "Ctrl"; string $characterName = ""; string $ref[], $tmp[]; string $toMove[]; float $refPos[]; float $refRot[];
//select the spheres on the left side $tmp = `ls ($prefix+"L*Ctrl*")`; if ( !`size $tmp` ) return; select ($prefix+"L*Ctrl*"); $ref = `ls -sl -type "transform"`;
//select the spheres on the right side select ($prefix+"R*Ctrl*"); $toMove = `ls -sl -type "transform"`;
//clear the selection and match the right side to the left side select -cl; for ($j=0;$j<(size($ref));$j++){ $refPos = `xform -q -t $ref[$j]`; $refRot = `xform -q -os -ro $ref[$j]`; $refScl = `getAttr ($ref[$j]+".s")`; $toMovePos = `xform -q -t $toMove[$j]`; $toMoveRot = `xform -q -ro $toMove[$j]`;
select -r $toMove[$j]; move -ls ($refPos[0]*-1) $refPos[1] $refPos[2] ; rotate $refRot[0] ($refRot[1]*-1) ($refRot[2]*-1) ; scale $refScl[0] $refScl[1] $refScl[2]; } select -cl; }
global proc FBIK_setStatus() { string $type = `radioCollection -q -select FBIK_SkelRB`; switch ($type) { case "Biped_Normal": if ( `frameLayout -q -ex FBIK_FRM_HANDS` ) frameLayout -e -en 1 FBIK_FRM_HANDS; if ( `frameLayout -q -ex FBIK_FRM_FEET` ) frameLayout -e -en 1 FBIK_FRM_FEET; if ( `checkBox -q -ex FBIK_thumbFingerNumCB` ) checkBox -e -en 1 FBIK_thumbFingerNumCB; if ( `checkBox -q -ex FBIK_thumbFeetFingerNumCB` ) checkBox -e -en 1 FBIK_thumbFeetFingerNumCB; break; case "Quadruped_Hoof": if ( `frameLayout -q -ex FBIK_FRM_HANDS` ) frameLayout -e -en 0 FBIK_FRM_HANDS; if ( `frameLayout -q -ex FBIK_FRM_FEET` ) frameLayout -e -en 0 FBIK_FRM_FEET; break; case "Quadruped_Normal": if ( `frameLayout -q -ex FBIK_FRM_HANDS` ) frameLayout -e -en 1 FBIK_FRM_HANDS; if ( `frameLayout -q -ex FBIK_FRM_FEET` ) frameLayout -e -en 1 FBIK_FRM_FEET; if ( `checkBox -q -ex FBIK_thumbFingerNumCB` ) checkBox -e -en 0 FBIK_thumbFingerNumCB; if ( `checkBox -q -ex FBIK_thumbFeetFingerNumCB` ) checkBox -e -en 0 FBIK_thumbFeetFingerNumCB; break; } }
//************************************************************************************************************ // proc string _createInnerUI() {
float $c1[] = {1.0, 1.0, 0.9}; float $c2[] = {1.0, 0.8, 1.0};
string $ret = `frameLayout -borderStyle "etchedIn" -collapsable false -collapse false -lv 0`; columnLayout -adj 1 ; frameLayout -borderStyle "etchedOut" -collapsable 0 -collapse 0 -l " Type of skeleton :"; columnLayout; radioCollection FBIK_SkelRB; rowColumnLayout -nc 3 -cw 1 70 -cw 2 60 -cw 3 90 -cal 1 "left" ; text -h 16 -l " Biped: "; radioButton -h 16 -label "Human" -onc "FBIK_setStatus" Biped_Normal; setParent ..; rowColumnLayout -nc 3 -cw 1 70 -cw 2 60 -cw 3 90 -cal 1 "left" ; text -h 16 -l " Quadruped: "; radioButton -h 16 -label "Hoof" -onc "FBIK_setStatus" Quadruped_Hoof; radioButton -h 16 -label "Finger" -onc "FBIK_setStatus" Quadruped_Normal; setParent ..; radioCollection -e -select "Biped_Normal" FBIK_SkelRB; setParent ..; setParent ..;
frameLayout -borderStyle "etchedOut" -collapsable 0 -collapse 0 -cc "FB_resizeWin;FB_resizeWin" -ec "FB_resizeWin;FB_resizeWin" -l "Hands" FBIK_FRM_HANDS; columnLayout; rowColumnLayout -nc 1 -cw 1 230 -cal 1 "left"; radioButtonGrp -ann "Choose The Number of Fingers Included in Character Hand" -numberOfRadioButtons 4 -cw5 100 35 35 35 35 -sl 4 -label " Number of Fingers" -labelArray4 "1" "2" "3" "4" FBIK_fingerNumRB; setParent ..; rowColumnLayout -nc 2 -cw 1 100 -cal 1 "left"; text -ann "Choose to Add a Thumb Finger in Character Hand" -l " Thumb Finger"; checkBox -ann "Choose to Add a Thumb Finger in Character Hand" -l "" -v 1 FBIK_thumbFingerNumCB; setParent ..; setParent ..; setParent ..;
frameLayout -borderStyle "etchedOut" -collapsable 0 -collapse 0 -cc "FB_resizeWin;FB_resizeWin" -ec "FB_resizeWin;FB_resizeWin" -l "Foots" FBIK_FRM_FEET; columnLayout; rowColumnLayout -nc 1 -cw 1 230 -cal 1 "left"; radioButtonGrp -ann "Choose The Number of Fingers Included in Character Foot" -numberOfRadioButtons 4 -cw5 100 35 35 35 35 -sl 4 -label " Number of Fingers" -labelArray4 "1" "2" "3" "4" FBIK_FeetFingerNumRB; setParent ..; rowColumnLayout -nc 2 -cw 1 100 -cal 1 "left"; text -ann "Choose to Add a Thumb Finger in Character Foot" -l " Thumb Finger"; checkBox -ann "Choose to Add a Thumb Finger in Character Foot" -l "" -v 1 FBIK_thumbFeetFingerNumCB; setParent ..; setParent ..; setParent ..;
button -w 180 -h 20 -bgc $c1[0] $c1[1] $c1[2] -label "Create TemplateCurves" -c "CreateTemplateRigCurves()";
rowColumnLayout -nc 3 -cw 1 85 -cw 2 75 -cw 3 85; button -h 16 -bgc 0.9 0.95 0.89 -ann "Match The Character Guides Left Side to The Right Side" -label "Mirror >>>>" -c "FBIK_GuideMatchL2R(\"\")"; text -h 16 -label "Symmetry" -align "center"; button -h 16 -bgc 0.9 0.95 0.89 -ann "Match The Character Guides Right Side to The Left Side" -label "<<<< Mirror" -c "FBIK_GuideMatchR2L(\"\")"; setParent ..;
separator -w 290 -h 5 -vis 1 -st "none"; frameLayout -borderStyle "etchedOut" -collapsable 0 -collapse 0 -lv 0 FBIK_FRM_ETC; columnLayout; rowColumnLayout -nc 2 -cw 1 130 -cal 1 "left"; text -ann "Choose to Add a Roll Joints in Character Arm & Foot" -l " Add Roll Joints (Arm, Leg)"; checkBox -ann "Choose to Add a Roll Joints in Character Arm & Foot" -l "" -v 1 FBIK_addRollCB; setParent ..; setParent ..; setParent ..;
button -w 180 -h 20 -bgc $c2[0] $c2[1] $c2[2] -label "Create Skeleton" -c "CreateSkeletonFBIK()"; setParent ..; setParent ..;
global string $gFBFrames; $gFBFrames = $gFBFrames + "," + $ret;
return $ret; }
//************************************************************************************************************ // global proc FB_resizeWin() { global string $gFBFrames; int $title = 25; int $menu = 0; //25 int $layout = 5;
string $osv = `system ver`; if ( gmatch($osv, "*XP*") ) $title += 10; // for WinXP
string $buff[], $tmp[]; $num = `tokenize $gFBFrames "," $buff`; int $height; for ( $one in $buff ) { if (`frameLayout -q -ex $one`) { tokenize $one "|" $tmp; $height += `frameLayout -q -h $one`; } } $height += $title + $menu + $layout;
int $width = 260; window -e -width $width -height $height FBIK_SkelWin; }
//************************************************************************************************************ // global proc FB_minMaxWin(int $init) { int $h = `formLayout -q -h FB_FORM`; if ( $init == 1 || $h < 10 ) FB_resizeWin; else window -e -width 155 -height 1 FBIK_SkelWin; }
//************************************************************************************************************ // proc createFBIK_Skeleton() {
if (( `window -ex FBIK_SkelWin`) == true) deleteUI FBIK_SkelWin;
// initialize global variables. global string $gFBFrames; $gFBFrames = "";
window -title ("createFBIK_Skeleton v1.2") -tlb 1 -mxb 0 -mnb 0 -height 285 FBIK_SkelWin;
$form=`formLayout FB_FORM`;
button -h 5 -l "" -c ("FB_minMaxWin(0)") FB_MIN; string $bl1 = _createInnerUI(); setParent $form;
formLayout -e -attachForm FB_MIN "top" 0 -attachNone FB_MIN "bottom" -attachForm FB_MIN "left" 0 -attachForm FB_MIN "right" 0
-attachControl $bl1 "top" 2 FB_MIN -attachNone $bl1 "bottom" -attachForm $bl1 "left" 2 -attachForm $bl1 "right" 2 $form;
showWindow FBIK_SkelWin; FB_resizeWin(); } createFBIK_Skeleton;
|