Community
Maya Animation and Rigging
Welcome to Autodesk’s Maya Forums. Share your knowledge, ask questions, and explore popular Maya animation topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

humanIK how to add reverse foot????!!!

2 REPLIES 2
SOLVED
Reply
Message 1 of 3
Kmthrong
2303 Views, 2 Replies

humanIK how to add reverse foot????!!!

Hi guys I'm an animator it's easier for me to use reverse foot rather than usuing foot control which is terrible so why HumanIk this great rigger shouldn't have reverse foot feature it's too bad for it.Ok is there any way to add it on maya here's the script does it for normal bones and ik systems but I can't find any ik handle on HumanIk so what should I do now??? //////////////////////nnReverseFoot/////////////////// //---------This script automate the process of Reverse foot setup-------------- // // // /////////////////////////////////////////////////////////////////////////////// //-------------------------------STEPS--------------------------------------// /////////////////////////////////////////////////////////////////////////////// //--------------------------Making UI for nnReverseFoot----------------------- if(`window -exists "nnReverseFootUI"`) deleteUI nnReverseFootUI; window -t "Reverse Foot Maker" -h 400 -w 400 -mxb 0 nnReverseFootUI; columnLayout -adj 1; text -l "Fill the required nputs" -align "center"; frameLayout -l "Leg Control" -cll 1 -borderStyle "etchedIn"; columnLayout; textScrollList -h 20 -w 100 legControlTSL; button -l "<< Get Leg Control" -h 30 -w 100 -command ("addControl ()"); setParent..; setParent..; frameLayout -l "Leg IK" -cll 1 -borderStyle "etchedIn"; columnLayout; textScrollList -h 20 -w 100 legIKTSL; button -l "<< Get Leg IK" -h 30 -w 80 -command ("addLegIK ()"); setParent..; setParent..; frameLayout -l "Foot IK" -cll 1 -borderStyle "etchedIn"; columnLayout; textScrollList -h 20 -w 100 footIKTSL; button -l "<< Get Foot IK" -h 30 -w 80 -command ("addFootIK ()"); setParent..; setParent..; frameLayout -l "Toe IK" -cll 1 -borderStyle "etchedIn"; columnLayout; textScrollList -h 20 -w 100 toeIKTSL; button -l "<< Get Toe IK" -h 30 -w 80 -command ("addToeIK ()"); setParent..; setParent..; frameLayout -l "Heel Pivot" -cll 1 -borderStyle "etchedIn"; columnLayout; button -l "Get Heel Pivot using Locator" -c ("addLoc ()"); setParent..; setParent..; frameLayout -l "Finalize" -cll 1 -borderStyle "etchedIn"; columnLayout; button -l "<< Build the Reverse Foot>> " -h 30 -w 150 -command ("reverseFoot ()"); setParent..; setParent..; text -l " Scripted by - Nilesh Jadhav"; text -l " Last uodated 5/4/2010"; showWindow nnReverseFootUI; ////////////////////////////////////////////////////////////////////////////////////////// ////////--------We are now make the procedures------------------------------------------// global proc addControl () { textScrollList -e -ra legControlTSL; $selLegControl =`ls -sl`; textScrollList -e -a $selLegControl legControlTSL; } global proc addLegIK () { textScrollList -e -ra legIKTSL; $selLegIK =`ls -sl`; textScrollList -e -a $selLegIK legIKTSL; } global proc addFootIK () { textScrollList -e -ra footIKTSL; $selFootIK =`ls -sl`; textScrollList -e -a $selFootIK footIKTSL; } global proc addToeIK () { textScrollList -e -ra toeIKTSL; $selToeIK =`ls -sl`; textScrollList -e -a $selToeIK toeIKTSL; } global proc addLoc () { $spaceLoc =`spaceLocator`; rename $spaceLoc heelPivotLocator; } //----------------------------------------------------------------------------------- //---Now we are going to get objects in TSL and Store them and their position in Variable-- global proc reverseFoot () { $control =`textScrollList -q -ai legControlTSL`; $controlPos =`xform -q -ws -t $control [0]`; $legIK =`textScrollList -q -ai legIKTSL`; $legIKPos =`xform -q -ws -t $legIK [0] `; $footIK =`textScrollList -q -ai footIKTSL`; $footIKPos = `xform -q -ws -t $footIK [0]`; $toeIK =`textScrollList -q -ai toeIKTSL`; $toeIKPos = `xform -q -ws -t $toeIK [0]`; $locPos = `xform -q -ws -t heelPivotLocator`; //-----------------------yet procedure not ends here !! ------------------// ////So we have all the position data////////////////////////// // Now make the groups and move their pivots to respective ik's// select $legIK; select -add $footIK; $grpBallRoll =`group -n "Ball Roll"`; move $footIKPos [0] $footIKPos [1] $footIKPos [2] ($grpBallRoll +".scalePivot") ($grpBallRoll +".rotatePivot"); select $toeIK; $grpToeTap =`group -n "Toe Tap"`; move $footIKPos [0] $footIKPos [1] $footIKPos [2] ($grpToeTap +".scalePivot") ($grpToeTap +".rotatePivot"); select $grpBallRoll; select -add $grpToeTap; $grpToeRoll =`group -n "Toe roll"`; move $toeIKPos [0] $toeIKPos [1] $toeIKPos [2] ($grpToeRoll +".scalePivot") ($grpToeRoll +".rotatePivot"); select $grpToeRoll; $grpBallPivot =`group -n "Ball Pivot"`; move $footIKPos [0] $footIKPos [1] $footIKPos [2] ($grpBallPivot +".scalePivot") ($grpBallPivot +".rotatePivot"); select $grpBallPivot; $grpHeelPivot =`group -n "Heel Pivot"`; move $locPos [0] $locPos [1] $locPos [2] ($grpHeelPivot +".scalePivot") ($grpHeelPivot +".rotatePivot"); parent $grpHeelPivot $control; //----------------------------------------------------------------------------------------------------------------- //Now we are adding attributs to control select $control [0]; addAttr -ln "n_Ball_Roll" -at double -dv 0 -keyable true; addAttr -ln "nToe_Roll" -at double -dv 0 -keyable true; //setAttr -e-keyable true ($control [0] +".nToe_Roll"); addAttr -ln "nHeel_Roll" -at double -dv 0 -keyable true ; //setAttr -e-keyable true ($control [0] +".nHeel_Roll"); addAttr -ln "nBall_Pivot" -at double -dv 0 -keyable true; //setAttr -e-keyable true ($control [0] +".nBall_Pivot"); addAttr -ln "nToe_Pivot" -at double -dv 0 -keyable true; //setAttr -e-keyable true ($control [0] +".nToe_Pivot"); addAttr -ln "nHeel_Pivot" -at double -dv 0 -keyable true ; //setAttr -e-keyable true ($control [0] +".nHeel_Pivot"); addAttr -ln "nToe_Tap" -at double -dv 0 -keyable true; //setAttr -e-keyable true ($control [0] +".nToe_Tap"); addAttr -ln "nFoot_Bank" -at double -dv 0 -keyable true; //setAttr -e-keyable true ($control [0] +".nFoot_Bank"); ////////////////////////////////////////////////////////////////////////// // connecting Attributes to groups roate Values connectAttr -f ($control [0] +".n_Ball_Roll") ($grpBallRoll +".rotateX"); connectAttr -f ($control [0] +".nToe_Roll") ($grpToeRoll +".rotateX"); connectAttr -f ($control [0] +".nHeel_Roll") ($grpHeelPivot +".rotateX"); connectAttr -f ($control [0] +".nBall_Pivot") ($grpBallPivot +".rotateY"); connectAttr -f ($control [0] +".nToe_Pivot") ($grpToeRoll +".rotateY"); connectAttr -f ($control [0] +".nHeel_Pivot") ($grpHeelPivot +".rotateY"); connectAttr -f ($control [0] +".nToe_Tap") ($grpToeTap +".rotateX"); connectAttr -f ($control [0] +".nFoot_Bank") ($grpBallRoll +".rotateZ"); connectAttr -f ($control [0] +".nFoot_Bank") ($grpToeRoll +".rotateZ"); delete heelPivotLocator; rename $grpBallRoll ($control [0] +".Ball Roll"); rename $grpToeTap ($control [0] +".Toe Tap"); rename $grpToeRoll ($control [0] +".Toe Roll"); rename $grpBallPivot ($control [0] +".BAll Pivot"); rename $grpHeelPivot ($control [0] +".Heel Pivot");
2 REPLIES 2
Message 2 of 3
Cagetron
in reply to: Kmthrong

Right click on the Ankle control and create an Aux Pivot.  Hit insert to go into pivot mode and move the Aux Pivot to the ball of the foot.  Pin the rotation of the Toe Base control.  Now you can use the Aux Pivot as a ball roll control.  You can add more pivots as needed for the heel, side of the foot etc.  This probably isn't exactly what you're used to on your other rig, but it should function pretty close.  

Message 3 of 3
Kmthrong
in reply to: Kmthrong

Sorry for the delay almost works tnx buddy.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report