EwanRigTool (part 5)
Thu Sep 12 2024 07:13:14 GMT+0000 (Coordinated Universal Time)
Saved by @eugene98
list = [('%s_arm_01_length_jnt.worldMatrix'%(side),'%s_upr_arm_dist.inMatrix1'%(side)),('%s_arm_02_length_jnt.worldMatrix'%(side),'%s_upr_arm_dist.inMatrix2'%(side)),('%s_arm_02_length_jnt.worldMatrix'%(side),'%s_lwr_arm_dist.inMatrix1'%(side)),('%s_arm_03_length_jnt.worldMatrix'%(side),'%s_lwr_arm_dist.inMatrix2'%(side)),('%s_upr_arm_dist.distance'%(side),'%s_arm_full_dist.input1'%(side)),('%s_lwr_arm_dist.distance'%(side),'%s_arm_full_dist.input2'%(side)),('%s_arm_start_dist_loc.worldMatrix'%(side),'%s_arm_stretch_dist.inMatrix1'%(side)),('%s_arm_end_dist_loc.worldMatrix'%(side),'%s_arm_stretch_dist.inMatrix2'%(side)),('%s_arm_stretch_dist.distance'%(side),'%s_arm_stretch_cond.firstTerm'%(side)),('%s_arm_full_dist.output'%(side),'%s_arm_stretch_cond.secondTerm'%(side)),('%s_arm_stretch_dist.distance'%(side),'%s_arm_stretch_mult.input1X'%(side)),('%s_arm_full_dist.output'%(side),'%s_arm_stretch_mult.input2X'%(side)),('%s_arm_stretch_mult.outputX'%(side),'%s_arm_stretch_cond.colorIfTrue.colorIfTrueR'%(side)),('%s_arm_stretch_cond.outColor.outColorR'%(side),'%s_lwr_arm_strecth_mult.input1X'%(side)),('%s_arm_stretch_cond.outColor.outColorR'%(side),'%s_upr_arm_strecth_mult.input1X'%(side)),('%s_arm_02_setup.translateX'%(side),'%s_upr_arm_strecth_mult.input2X'%(side)),('%s_arm_03_setup.translateX'%(side),'%s_lwr_arm_strecth_mult.input2X'%(side)),('%s_upr_arm_strecth_mult.outputX'%(side),'%s_ik_02_jnt.translateX'%(side)),('%s_lwr_arm_strecth_mult.outputX'%(side),'%s_ik_03_jnt.translateX'%(side)),('%s_ik_arm_ctrl.stretch'%(side),'%s_arm_strecth_option_mult.input1X'%(side)),('%s_arm_strecth_option_mult.outputX'%(side),'%s_arm_stretch_cond.operation'%(side))]
for each in list:
cmds.connectAttr(each[0],each[1])
# the command to change the progress bar
cmds.progressBar('EugenesProgressBar', edit=True, step=1)
ArmStretchSetup('l')
ArmStretchSetup('r')
def armGroup():
list = ['l_arm_jnt_grp','r_arm_jnt_grp','arm_jnt_grp']
for each in list:
cmds.group(n=each,em=True)
list = [('r_shoulder_jnt','r_arm_jnt_grp'),('l_shoulder_jnt','l_arm_jnt_grp'),('l_fk_arm_01_jnt','l_arm_jnt_grp'),('r_fk_arm_01_jnt','r_arm_jnt_grp'),('l_ik_arm_jnt_grp','l_arm_jnt_grp'),('r_ik_arm_jnt_grp','r_arm_jnt_grp'),('l_arm_bln_jnt_grp','l_arm_jnt_grp'),('r_arm_bln_jnt_grp','r_arm_jnt_grp'),('l_arm_length_jnt_grp','l_arm_jnt_grp'),('r_arm_length_jnt_grp','r_arm_jnt_grp'),('l_arm_jnt_grp','arm_jnt_grp'),('r_arm_jnt_grp','arm_jnt_grp')]
for each in list:
cmds.parent(each[0],each[1])
armGroup()
bendyArmlabel = cmds.checkBox('bendyArm', q=1,label=1)
bendyArmlabel = cmds.checkBox('bendyArm', q=1,v=1 )
if bendyArmlabel == 1:
print(buildBendyArm())
elif bendyArmlabel == 0:
print(noBendyArm())
def FingersSetup(side):
nameOfFingersCtrl = [('%s_thumb_01_ctrl'%(side),'%s_thumb_01_ctrl_SDK_grp'%(side),'%s_thumb_01_ctrl_grp'%(side)),('%s_thumb_02_ctrl'%(side),'%s_thumb_02_ctrl_SDK_grp'%(side),'%s_thumb_02_ctrl_grp'%(side)),('%s_thumb_03_ctrl'%(side),'%s_thumb_03_ctrl_SDK_grp'%(side),'%s_thumb_03_ctrl_grp'%(side)),('%s_index_01_ctrl'%(side),'%s_index_01_ctrl_SDK_grp'%(side),'%s_index_01_ctrl_grp'%(side)),('%s_index_02_ctrl'%(side),'%s_index_02_ctrl_SDK_grp'%(side),'%s_index_02_ctrl_grp'%(side)),('%s_index_03_ctrl'%(side),'%s_index_03_ctrl_SDK_grp'%(side),'%s_index_03_ctrl_grp'%(side)),('%s_index_04_ctrl'%(side),'%s_index_04_ctrl_SDK_grp'%(side),'%s_index_04_ctrl_grp'%(side)),('%s_middle_01_ctrl'%(side),'%s_middle_01_ctrl_SDK_grp'%(side),'%s_middle_01_ctrl_grp'%(side)),('%s_middle_02_ctrl'%(side),'%s_middle_02_ctrl_SDK_grp'%(side),'%s_middle_02_ctrl_grp'%(side)),('%s_middle_03_ctrl'%(side),'%s_middle_03_ctrl_SDK_grp'%(side),'%s_middle_03_ctrl_grp'%(side)),('%s_middle_04_ctrl'%(side),'%s_middle_04_ctrl_SDK_grp'%(side),'%s_middle_04_ctrl_grp'%(side)),('%s_ring_01_ctrl'%(side),'%s_ring_01_ctrl_SDK_grp'%(side),'%s_ring_01_ctrl_grp'%(side)),('%s_ring_02_ctrl'%(side),'%s_ring_02_ctrl_SDK_grp'%(side),'%s_ring_02_ctrl_grp'%(side)),('%s_ring_03_ctrl'%(side),'%s_ring_03_ctrl_SDK_grp'%(side),'%s_ring_03_ctrl_grp'%(side)),('%s_ring_04_ctrl'%(side),'%s_ring_04_ctrl_SDK_grp'%(side),'%s_ring_04_ctrl_grp'%(side)),('%s_pinky_01_ctrl'%(side),'%s_pinky_01_ctrl_SDK_grp'%(side),'%s_pinky_01_ctrl_grp'%(side)),('%s_pinky_02_ctrl'%(side),'%s_pinky_02_ctrl_SDK_grp'%(side),'%s_pinky_02_ctrl_grp'%(side)),('%s_pinky_03_ctrl'%(side),'%s_pinky_03_ctrl_SDK_grp'%(side),'%s_pinky_03_ctrl_grp'%(side)),('%s_pinky_04_ctrl'%(side),'%s_pinky_04_ctrl_SDK_grp'%(side),'%s_pinky_04_ctrl_grp'%(side))]
for each in nameOfFingersCtrl:
ctrl = cmds.curve(p=[(0.0, 0.2933861509942573, -1.0949320217706984), (0.0, 0.2553661889653451, -0.9530395916863047), (0.0, -0.2553664856172229, -0.9530403074142204), (0.0, -0.29334365303393356, -1.094772361168278), (0.0, -0.8014288496022626, -0.801429236145214), (0.0, -0.6976738742806887, -0.6976740175622989), (0.0, -0.9530395916863047, -0.2553661889653451), (0.0, -1.0949320217706984, -0.2933861509942573), (0.0, -1.094772361168278, 0.29334365303393356), (0.0, -0.9530403074142204, 0.2553664856172229), (0.0, -0.6976740175622989, 0.6976738742806887), (0.0, -0.801429236145214, 0.8014288496022626), (0.0, -0.2933861509942573, 1.0949320217706984), (0.0, -0.2553661889653451, 0.9530395916863047), (0.0, 0.2553664856172229, 0.9530403074142204), (0.0, 0.29334365303393356, 1.094772361168278), (0.0, 0.8014288496022626, 0.801429236145214), (0.0, 0.6976738742806887, 0.6976740175622989), (0.0, 0.9530395916863047, 0.2553661889653451), (0.0, 1.0949320217706984, 0.2933861509942573), (0.0, 1.094772361168278, -0.29334365303393356), (0.0, 0.9530403074142204, -0.2553664856172229), (0.0, 0.6976740175622989, -0.6976738742806887), (0.0, 0.801429236145214, -0.8014288496022626), (0.0, 0.2933861509942573, -1.0949320217706984)], d=1, k=[0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0],per=False)
cmds.rename(each[0])
cmds.group(n=each[1])
cmds.group(n=each[2])
nameOfFingersJnt = ['%s_thumb_01_jnt'%(side),'%s_thumb_02_jnt'%(side),'%s_thumb_03_jnt'%(side),'%s_index_01_jnt'%(side),'%s_index_02_jnt'%(side),'%s_index_03_jnt'%(side),'%s_index_04_jnt'%(side),'%s_middle_01_jnt'%(side),'%s_middle_02_jnt'%(side),'%s_middle_03_jnt'%(side),'%s_middle_04_jnt'%(side),'%s_ring_01_jnt'%(side),'%s_ring_02_jnt'%(side),'%s_ring_03_jnt'%(side),'%s_ring_04_jnt'%(side),'%s_pinky_01_jnt'%(side),'%s_pinky_02_jnt'%(side),'%s_pinky_03_jnt'%(side),'%s_pinky_04_jnt'%(side)]
for each in nameOfFingersJnt:
cmds.joint(n=each)
listToGetPos = [('%s_thumb_01_setup'%(side),'%s_thumb_01_ctrl_grp'%(side)),('%s_thumb_02_setup'%(side),'%s_thumb_02_ctrl_grp'%(side)),('%s_thumb_03_setup'%(side),'%s_thumb_03_ctrl_grp'%(side)),('%s_index_01_setup'%(side),'%s_index_01_ctrl_grp'%(side)),('%s_index_02_setup'%(side),'%s_index_02_ctrl_grp'%(side)),('%s_index_03_setup'%(side),'%s_index_03_ctrl_grp'%(side)),('%s_index_04_setup'%(side),'%s_index_04_ctrl_grp'%(side)),('%s_middle_01_setup'%(side),'%s_middle_01_ctrl_grp'%(side)),('%s_middle_02_setup'%(side),'%s_middle_02_ctrl_grp'%(side)),('%s_middle_03_setup'%(side),'%s_middle_03_ctrl_grp'%(side)),('%s_middle_04_setup'%(side),'%s_middle_04_ctrl_grp'%(side)),('%s_ring_01_setup'%(side),'%s_ring_01_ctrl_grp'%(side)),('%s_ring_02_setup'%(side),'%s_ring_02_ctrl_grp'%(side)),('%s_ring_03_setup'%(side),'%s_ring_03_ctrl_grp'%(side)),('%s_ring_04_setup'%(side),'%s_ring_04_ctrl_grp'%(side)),('%s_pinky_01_setup'%(side),'%s_pinky_01_ctrl_grp'%(side)),('%s_pinky_02_setup'%(side),'%s_pinky_02_ctrl_grp'%(side)),('%s_pinky_03_setup'%(side),'%s_pinky_03_ctrl_grp'%(side)),('%s_pinky_04_setup'%(side),'%s_pinky_04_ctrl_grp'%(side)),('%s_thumb_01_setup'%(side),'%s_thumb_01_jnt'%(side)),('%s_thumb_02_setup'%(side),'%s_thumb_02_jnt'%(side)),('%s_thumb_03_setup'%(side),'%s_thumb_03_jnt'%(side)),('%s_index_01_setup'%(side),'%s_index_01_jnt'%(side)),('%s_index_02_setup'%(side),'%s_index_02_jnt'%(side)),('%s_index_03_setup'%(side),'%s_index_03_jnt'%(side)),('%s_index_04_setup'%(side),'%s_index_04_jnt'%(side)),('%s_middle_01_setup'%(side),'%s_middle_01_jnt'%(side)),('%s_middle_02_setup'%(side),'%s_middle_02_jnt'%(side)),('%s_middle_03_setup'%(side),'%s_middle_03_jnt'%(side)),('%s_middle_04_setup'%(side),'%s_middle_04_jnt'%(side)),('%s_ring_01_setup'%(side),'%s_ring_01_jnt'%(side)),('%s_ring_02_setup'%(side),'%s_ring_02_jnt'%(side)),('%s_ring_03_setup'%(side),'%s_ring_03_jnt'%(side)),('%s_ring_04_setup'%(side),'%s_ring_04_jnt'%(side)),('%s_pinky_01_setup'%(side),'%s_pinky_01_jnt'%(side)),('%s_pinky_02_setup'%(side),'%s_pinky_02_jnt'%(side)),('%s_pinky_03_setup'%(side),'%s_pinky_03_jnt'%(side)),('%s_pinky_04_setup'%(side),'%s_pinky_04_jnt'%(side))]
for each in listToGetPos:
forDel = cmds.parentConstraint(each[0],each[1],mo=False)
cmds.delete(forDel)
list = [('multiplyDivide','%s_thumb_mult'%(side)),('multiplyDivide','%s_index_mult'%(side)),('multiplyDivide','%s_middle_mult'%(side)),('multiplyDivide','%s_ring_mult'%(side)),('multiplyDivide','%s_pinky_mult'%(side))]
for each in list:
cmds.shadingNode(each[0],n=each[1],asUtility=1)
list = [('%s_thumb_mult.input2X'%(side),10),('%s_index_mult.input2X'%(side),10),('%s_middle_mult.input2X'%(side),10),('%s_ring_mult.input2X'%(side),10),('%s_pinky_mult.input2X'%(side),10)]
for each in list:
cmds.setAttr(each[0],each[1])
list = [('%s_ik_fk_switch.thumbCurl'%(side),'%s_thumb_mult.input1X'%(side)),('%s_thumb_mult.outputX'%(side),'%s_thumb_02_ctrl_SDK_grp.rotateZ'%(side)),('%s_thumb_mult.outputX'%(side),'%s_thumb_03_ctrl_SDK_grp.rotateZ'%(side)),('%s_ik_fk_switch.indexCurl'%(side),'%s_index_mult.input1X'%(side)),('%s_index_mult.outputX'%(side),'%s_index_02_ctrl_SDK_grp.rotateZ'%(side)),('%s_index_mult.outputX'%(side),'%s_index_03_ctrl_SDK_grp.rotateZ'%(side)),('%s_index_mult.outputX'%(side),'%s_index_04_ctrl_SDK_grp.rotateZ'%(side)),('%s_ik_fk_switch.middleCurl'%(side),'%s_middle_mult.input1X'%(side)),('%s_middle_mult.outputX'%(side),'%s_middle_02_ctrl_SDK_grp.rotateZ'%(side)),('%s_middle_mult.outputX'%(side),'%s_middle_03_ctrl_SDK_grp.rotateZ'%(side)),('%s_middle_mult.outputX'%(side),'%s_middle_04_ctrl_SDK_grp.rotateZ'%(side)),('%s_ik_fk_switch.ringCurl'%(side),'%s_ring_mult.input1X'%(side)),('%s_ring_mult.outputX'%(side),'%s_ring_02_ctrl_SDK_grp.rotateZ'%(side)),('%s_ring_mult.outputX'%(side),'%s_ring_03_ctrl_SDK_grp.rotateZ'%(side)),('%s_ring_mult.outputX'%(side),'%s_ring_04_ctrl_SDK_grp.rotateZ'%(side)),('%s_ik_fk_switch.pinkyCurl'%(side),'%s_pinky_mult.input1X'%(side)),('%s_pinky_mult.outputX'%(side),'%s_pinky_02_ctrl_SDK_grp.rotateZ'%(side)),('%s_pinky_mult.outputX'%(side),'%s_pinky_03_ctrl_SDK_grp.rotateZ'%(side)),('%s_pinky_mult.outputX'%(side),'%s_pinky_04_ctrl_SDK_grp.rotateZ'%(side))]
for each in list:
cmds.connectAttr(each[0],each[1])
cmds.group(n='%s_fingers_jnt_grp'%(side),em = True)
cmds.group(n='%s_fingers_ctrl_grp'%(side),em = True)
cmds.parentConstraint('%s_arm_03_bln_jnt'%(side),'%s_fingers_ctrl_grp'%(side))
toParent = [('%s_thumb_01_ctrl_grp'%(side),'%s_fingers_ctrl_grp'%(side)),('%s_fingers_ctrl_grp'%(side),'world_ctrl'),('%s_thumb_02_ctrl_grp'%(side),'%s_thumb_01_ctrl'%(side)),('%s_index_01_ctrl_grp'%(side),'%s_fingers_ctrl_grp'%(side)),('%s_index_02_ctrl_grp'%(side),'%s_index_01_ctrl'%(side)),('%s_index_03_ctrl_grp'%(side),'%s_index_02_ctrl'%(side)),('%s_index_04_ctrl_grp'%(side),'%s_index_03_ctrl'%(side)),('%s_thumb_03_ctrl_grp'%(side),'%s_thumb_02_ctrl'%(side)),('%s_middle_01_ctrl_grp'%(side), '%s_fingers_ctrl_grp'%(side)),('%s_middle_02_ctrl_grp'%(side), '%s_middle_01_ctrl'%(side)),('%s_middle_03_ctrl_grp'%(side), '%s_middle_02_ctrl'%(side)),('%s_middle_04_ctrl_grp'%(side), '%s_middle_03_ctrl'%(side)),('%s_ring_01_ctrl_grp'%(side), '%s_fingers_ctrl_grp'%(side)),('%s_ring_02_ctrl_grp'%(side), '%s_ring_01_ctrl'%(side)),('%s_ring_03_ctrl_grp'%(side), '%s_ring_02_ctrl'%(side)),('%s_ring_04_ctrl_grp'%(side), '%s_ring_03_ctrl'%(side)),('%s_pinky_01_ctrl_grp'%(side), '%s_fingers_ctrl_grp'%(side)),('%s_pinky_02_ctrl_grp'%(side), '%s_pinky_01_ctrl'%(side)),('%s_pinky_03_ctrl_grp'%(side), '%s_pinky_02_ctrl'%(side)),('%s_pinky_04_ctrl_grp'%(side), '%s_pinky_03_ctrl'%(side)),('%s_thumb_01_jnt'%(side), '%s_fingers_jnt_grp'%(side)),('%s_index_01_jnt'%(side), '%s_fingers_jnt_grp'%(side)),('%s_middle_01_jnt'%(side), '%s_fingers_jnt_grp'%(side)),('%s_ring_01_jnt'%(side), '%s_fingers_jnt_grp'%(side)),('%s_pinky_01_jnt'%(side), '%s_fingers_jnt_grp'%(side)),('%s_fingers_jnt_grp'%(side),'%s_arm_jnt_grp'%(side))]
for each in toParent:
cmds.parent(each[0],each[1])
cmds.makeIdentity('%s_thumb_01_jnt'%(side),'%s_index_01_jnt'%(side),'%s_middle_01_jnt'%(side),'%s_ring_01_jnt'%(side),'%s_pinky_01_jnt'%(side),apply=True,rotate=True)
list = [('%s_thumb_01_ctrl'%(side),'%s_thumb_01_jnt'%(side)),('%s_thumb_02_ctrl'%(side),'%s_thumb_02_jnt'%(side)),('%s_thumb_03_ctrl'%(side),'%s_thumb_03_jnt'%(side)),('%s_index_01_ctrl'%(side),'%s_index_01_jnt'%(side)),('%s_index_02_ctrl'%(side),'%s_index_02_jnt'%(side)),('%s_index_03_ctrl'%(side),'%s_index_03_jnt'%(side)),('%s_index_04_ctrl'%(side),'%s_index_04_jnt'%(side)),('%s_middle_01_ctrl'%(side),'%s_middle_01_jnt'%(side)),('%s_middle_02_ctrl'%(side),'%s_middle_02_jnt'%(side)),('%s_middle_03_ctrl'%(side),'%s_middle_03_jnt'%(side)),('%s_middle_04_ctrl'%(side),'%s_middle_04_jnt'%(side)),('%s_ring_01_ctrl'%(side),'%s_ring_01_jnt'%(side)),('%s_ring_02_ctrl'%(side),'%s_ring_02_jnt'%(side)),('%s_ring_03_ctrl'%(side),'%s_ring_03_jnt'%(side)),('%s_ring_04_ctrl'%(side),'%s_ring_04_jnt'%(side)),('%s_pinky_01_ctrl'%(side),'%s_pinky_01_jnt'%(side)),('%s_pinky_02_ctrl'%(side),'%s_pinky_02_jnt'%(side)),('%s_pinky_03_ctrl'%(side),'%s_pinky_03_jnt'%(side)),('%s_pinky_04_ctrl'%(side),'%s_pinky_04_jnt'%(side))]
for each in list:
cmds.parentConstraint(each[0],each[1],mo=True)
toSetAttr = [('%s_thumb_01_ctrl'%(side)),('%s_thumb_02_ctrl'%(side)),('%s_thumb_03_ctrl'%(side)),('%s_index_01_ctrl'%(side)),('%s_index_02_ctrl'%(side)),('%s_index_03_ctrl'%(side)),('%s_index_04_ctrl'%(side)),('%s_middle_01_ctrl'%(side)),('%s_middle_02_ctrl'%(side)),('%s_middle_03_ctrl'%(side)),('%s_middle_04_ctrl'%(side)),('%s_ring_01_ctrl'%(side)),('%s_ring_02_ctrl'%(side)),('%s_ring_03_ctrl'%(side)),('%s_ring_04_ctrl'%(side)),('%s_pinky_01_ctrl'%(side)),('%s_pinky_02_ctrl'%(side)),('%s_pinky_03_ctrl'%(side)),('%s_pinky_04_ctrl'%(side))]
for each in toSetAttr:
cmds.setAttr (each +'.visibility',keyable = False, cb = False, lock = True)
cmds.setAttr (each +'.scaleX',keyable = False, cb = False, lock = True)
cmds.setAttr (each +'.scaleY',keyable = False, cb = False, lock = True)
cmds.setAttr (each +'.scaleZ',keyable = False, cb = False, lock = True)
cmds.setAttr (each + '.overrideEnabled' ,True)
cmds.setAttr (each + '.overrideColor' ,6)
# the command to change the progress bar
cmds.progressBar('EugenesProgressBar', edit=True, step=1)
FingersSetup('l')
FingersSetup('r')
def buildBendyLeg():
def FKlegSetup(side):
nameOfFKlegController = [('%s_fk_leg_01_ctrl'%(side),'%s_fk_leg_01_ctrl_grp'%(side)),('%s_fk_leg_02_ctrl'%(side),'%s_fk_leg_02_ctrl_grp'%(side)),('%s_fk_leg_03_ctrl'%(side),'%s_fk_leg_03_ctrl_grp'%(side)),('%s_fk_leg_04_ctrl'%(side),'%s_fk_leg_04_ctrl_grp'%(side))]
for each in nameOfFKlegController:
cmds.curve(d=1,p=[(0.0, 1.8457071003629746, -6.888272674590291),(0.0, 1.6065215981349992, -5.995620227271308),(0.0, -1.6065234643869502, -5.995624729951774),(0.0, -1.8454397435472047, -6.8872682416730004),(0.0, -5.041829388107622, -5.041831819868864),(0.0, -4.389101595742385, -4.389102497134237),(0.0, -5.995620227271308, -1.6065215981349992),(0.0, -6.888272674590291, -1.8457071003629746),(0.0, -6.8872682416730004, 1.8454397435472047),(0.0, -5.995624729951774, 1.6065234643869502),(0.0, -4.389102497134237, 4.389101595742385),(0.0, -5.041831819868864, 5.041829388107622),(0.0, -1.8457071003629746, 6.888272674590291),(0.0, -1.6065215981349992, 5.995620227271308),(0.0, 1.6065234643869502, 5.995624729951774),(0.0, 1.8454397435472047, 6.8872682416730004),(0.0, 5.041829388107622, 5.041831819868864),(0.0, 4.389101595742385, 4.389102497134237),(0.0, 5.995620227271308, 1.6065215981349992),(0.0, 6.888272674590291, 1.8457071003629746),(0.0, 6.8872682416730004, -1.8454397435472047),(0.0, 5.995624729951774, -1.6065234643869502),(0.0, 4.389102497134237, -4.389101595742385),(0.0, 5.041831819868864, -5.041829388107622),(0.0, 1.8457071003629746, -6.888272674590291)])
cmds.rename(each[0])
cmds.group(n=each[1])
createJoint = ['%s_fk_leg_01_jnt'%(side),'%s_fk_leg_02_jnt'%(side),'%s_fk_leg_03_jnt'%(side),'%s_fk_leg_04_jnt'%(side)]
for each in createJoint:
cmds.joint(n=each)
toGetFKlegPos = [('%s_leg_01_setup'%(side),'%s_fk_leg_01_ctrl_grp'%(side)),('%s_leg_02_setup'%(side),'%s_fk_leg_02_ctrl_grp'%(side)),('%s_leg_03_setup'%(side),'%s_fk_leg_03_ctrl_grp'%(side)),('%s_leg_04_setup'%(side),'%s_fk_leg_04_ctrl_grp'%(side)),('%s_leg_01_setup'%(side),'%s_fk_leg_01_jnt'%(side)),('%s_leg_02_setup'%(side),'%s_fk_leg_02_jnt'%(side)),('%s_leg_03_setup'%(side),'%s_fk_leg_03_jnt'%(side)),('%s_leg_04_setup'%(side),'%s_fk_leg_04_jnt'%(side))]
for each in toGetFKlegPos:
forDel = cmds.parentConstraint(each[0],each[1],mo=False)
cmds.delete(forDel)
cmds.makeIdentity('%s_fk_leg_01_jnt'%(side),apply=True,rotate=True)
toParentCon = [('%s_fk_leg_01_ctrl'%(side),'%s_fk_leg_01_jnt'%(side)),('%s_fk_leg_02_ctrl'%(side),'%s_fk_leg_02_jnt'%(side)),('%s_fk_leg_03_ctrl'%(side),'%s_fk_leg_03_jnt'%(side)),('%s_fk_leg_04_ctrl'%(side),'%s_fk_leg_04_jnt'%(side)),('spine_01_bln_jnt','%s_fk_leg_01_ctrl_grp'%(side))]
for each in toParentCon:
cmds.parentConstraint(each[0],each[1],mo=True)
toParent = [('%s_fk_leg_01_ctrl_grp'%(side),'world_ctrl'),('%s_fk_leg_02_ctrl_grp'%(side),'%s_fk_leg_01_ctrl'%(side)),('%s_fk_leg_03_ctrl_grp'%(side), '%s_fk_leg_02_ctrl'%(side)),('%s_fk_leg_04_ctrl_grp'%(side),'%s_fk_leg_03_ctrl'%(side))]
for each in toParent:
cmds.parent(each[0],each[1])
toSetAttr = [('%s_fk_leg_01_ctrl'%(side)),('%s_fk_leg_02_ctrl'%(side)),('%s_fk_leg_03_ctrl'%(side)),('%s_fk_leg_04_ctrl'%(side))]
for each in toSetAttr:
cmds.setAttr (each+'.visibility',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.scaleX',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.scaleY',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.scaleZ',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.overrideEnabled' ,True)
cmds.setAttr (each+'.overrideColor' ,6)
FKlegSetup('l')
FKlegSetup('r')
def IKlegSetup(side):
list = ['%s_ik_leg_01_jnt'%(side),'%s_ik_leg_02_jnt'%(side),'%s_ik_leg_03_jnt'%(side),'%s_ik_leg_04_jnt'%(side),'%s_ik_leg_05_jnt'%(side)]
for each in list:
cmds.joint(n=each)
list = [('%s_leg_01_setup'%(side),'%s_ik_leg_01_jnt'%(side)),('%s_leg_02_setup'%(side),'%s_ik_leg_02_jnt'%(side)),('%s_leg_03_setup'%(side),'%s_ik_leg_03_jnt'%(side)),('%s_leg_04_setup'%(side),'%s_ik_leg_04_jnt'%(side)),('%s_leg_05_setup'%(side),'%s_ik_leg_05_jnt'%(side))]
for each in list:
forDel = cmds.parentConstraint(each[0],each[1],mo=False)
cmds.delete(forDel)
cmds.makeIdentity('%s_ik_leg_01_jnt'%(side), apply=True, translate=True, rotate=True)
cmds.group(n='%s_ik_leg_jnt_grp'%(side),em=True)
cmds.parent('%s_ik_leg_01_jnt'%(side),'%s_ik_leg_jnt_grp'%(side))
cmds.scaleConstraint('world_ctrl','%s_ik_leg_jnt_grp'%(side))
cmds.ikHandle( n='%s_leg_01_ikh'%(side), sj='%s_ik_leg_01_jnt'%(side), ee='%s_ik_leg_03_jnt'%(side) )
cmds.ikHandle( n='%s_leg_02_ikh'%(side), sj='%s_ik_leg_03_jnt'%(side), ee='%s_ik_leg_04_jnt'%(side) )
cmds.ikHandle( n='%s_leg_03_ikh'%(side), sj='%s_ik_leg_04_jnt'%(side), ee='%s_ik_leg_05_jnt'%(side) )
cmds.parentConstraint('spine_01_bln_jnt','%s_ik_leg_01_jnt'%(side),mo = True)
cmds.curve(d=1, p=[(-5, -5, 5),(-5, 5, 5),(5, 5, 5),(5, -5, 5),(5, -5, -5),(5, 5, -5),(-5, 5, -5),(-5, -5, -5),(-5, -5, 5),(5, -5, 5),(5, 5, 5),(5, 5, -5),(5, -5, -5),(-5, -5, -5),(-5, 5, -5),(-5, 5, 5)])
cmds.rename('%s_ik_leg_ctrl'%(side))
ControllerAttr('%s_ik_leg_ctrl'%(side),False,False,False,False,True,True,True,True,True,True,True,False,False,False,True,6,True,True,True,False,False,False)
cmds.addAttr('%s_ik_leg_ctrl'%(side),sn='heelLift' ,k=1)
cmds.addAttr('%s_ik_leg_ctrl'%(side),sn='toeLift' ,k=1)
cmds.addAttr('%s_ik_leg_ctrl'%(side),sn='ballRoll' ,k=1)
cmds.addAttr('%s_ik_leg_ctrl'%(side),sn='toeRoll' ,k=1)
cmds.addAttr('%s_ik_leg_ctrl'%(side),sn='footRock' ,k=1)
cmds.addAttr('%s_ik_leg_ctrl'%(side),sn='stretch' ,k=1,at = 'bool')
cmds.addAttr('%s_ik_leg_ctrl'%(side), at = 'enum', keyable=True, en = 'string1:string2:', ln='follow')
cmds.addAttr('%s_ik_leg_ctrl'%(side)+'.follow', e=True, en = 'world:pelvis:')
cmds.group(n='%s_ik_leg_ctrl_grp'%(side))
forDel = cmds.parentConstraint('%s_leg_03_setup'%(side),'%s_ik_leg_ctrl_grp'%(side),mo = False)
deleteparent = cmds.delete(forDel)
cmds.parentConstraint('spine_01_bln_jnt','%s_ik_leg_ctrl_grp'%(side),mo = True)
cmds.connectAttr('%s_ik_leg_ctrl.follow'%(side),'%s_ik_leg_ctrl_grp_parentConstraint1.spine_01_bln_jntW0'%(side))
cmds.curve(d=1,p=[(0.0, 3.468342867164149, 0.0),(0.0, 3.468342867164149, 0.5221724371834184),(0.0, 4.967930096687364, 0.0),(0.5221724371834184, 3.468342867164149, 0.0),(-0.5221724371834184, 3.468342867164149, 0.0),(0.0, 4.967930096687364, 0.0),(0.0, 3.468342867164149, -0.5221724371834184),(0.0, 3.468342867164149, 0.0),(0.0, -3.468342867164149, 0.0),(-0.5221724371834184, -3.468342867164149, 0.0),(0.0, -4.967930096687364, 0.0),(0.0, -3.468342867164149, -0.5221724371834184),(0.0, -3.468342867164149, 0.5221724371834184),(0.0, -4.967930096687364, 0.0),(0.5221724371834184, -3.468342867164149, 0.0),(0.0, -3.468342867164149, 0.0),(0.0, 0.0, 0.0),(-3.468342867164149, 0.0, 0.0),(-3.468342867164149, 0.5221724371834184, 0.0),(-4.967930096687364, 0.0, 0.0),(-3.468342867164149, 0.0, -0.5221724371834184),(-3.468342867164149, 0.0, 0.5221724371834184),(-4.967930096687364, 0.0, 0.0),(-3.468342867164149, -0.5221724371834184, 0.0),(-3.468342867164149, 0.0, 0.0),(3.468342867164149, 0.0, 0.0),(3.468342867164149, 0.0, -0.5221724371834184),(4.967930096687364, 0.0, 0.0),(3.468342867164149, 0.5221724371834184, 0.0),(3.468342867164149, -0.5221724371834184, 0.0),(4.967930096687364, 0.0, 0.0),(3.468342867164149, 0.0, 0.5221724371834184),(3.468342867164149, 0.0, 0.0),(0.0, 0.0, 0.0),(0.0, 0.0, 3.468342867164149),(0.0, 0.5221724371834184, 3.468342867164149),(0.0, 0.0, 4.967930096687364),(0.5221724371834184, 0.0, 3.468342867164149),(-0.5221724371834184, 0.0, 3.468342867164149),(0.0, 0.0, 4.967930096687364),(0.0, -0.5221724371834184, 3.468342867164149),(0.0, 0.0, 3.468342867164149),(0.0, 0.0, -3.468342867164149),(0.0, 0.5221724371834184, -3.468342867164149),(0.0, 0.0, -4.967930096687364),(-0.5221724371834184, 0.0, -3.468342867164149),(0.5221724371834184, 0.0, -3.468342867164149),(0.0, 0.0, -4.967930096687364),(0.0, -0.5221724371834184, -3.468342867164149),(0.0, 0.0, -3.468342867164149),(0.0, 0.0, -3.468342867164149),(0.0, 0.0, -3.468342867164149),(0.0, 0.0, -3.468342867164149)])
cmds.rename('%s_knee_ctrl'%(side))
ControllerAttr('%s_knee_ctrl'%(side),False,False,False,False,False,False,False,True,True,True,True,True,True,True,True,6,True,True,True,False,False,False)
cmds.addAttr('%s_knee_ctrl'%(side),sn='follow', min = 0, max=1 ,k=1)
cmds.setAttr('%s_knee_ctrl.follow'%(side),1)
cmds.group(n='%s_knee_ctrl_grp'%(side))
cmds.parent('%s_knee_ctrl_grp'%(side),'world_ctrl')
forDel = cmds.pointConstraint('%s_knee_setup'%(side),'%s_knee_ctrl_grp'%(side))
cmds.delete(forDel)
cmds.poleVectorConstraint('%s_knee_ctrl'%(side),'%s_leg_01_ikh'%(side))
list = ['%s_knee_ctrl_aim_up_loc'%(side),'%s_knee_ctrl_aim_base_loc'%(side),'%s_knee_ctrl_aim_loc'%(side),'%s_knee_ctrl_aim_world_loc'%(side),'%s_heel_loc'%(side),'%s_roll_out_loc'%(side),'%s_roll_in_loc'%(side),'%s_toe_roll_loc'%(side),'%s_toe_end_loc'%(side),'%s_toe_lift_loc'%(side),'%s_ball_roll_loc'%(side),'%s_leg_ikHandle_loc'%(side),'%s_ball_ikHandle_loc'%(side)]
for each in list:
cmds.spaceLocator(n=each)
cmds.group(n='%s_knee_loc_grp'%(side),em=True)
cmds.scaleConstraint('world_ctrl','%s_knee_loc_grp'%(side),mo=True)
cmds.group(n='%s_foot_ikHandle_grp'%(side),em = True)
cmds.group(n='%s_knee_ctrl_aim_base_loc_grp'%(side),em=True)
list = [('pelvis_setup','%s_knee_ctrl_aim_up_loc'%(side)),('%s_leg_01_setup'%(side),'%s_knee_ctrl_aim_base_loc'%(side)),('%s_leg_03_setup'%(side),'%s_knee_ctrl_aim_loc'%(side))]
for each in list:
forDel = cmds.pointConstraint(each[0],each[1])
cmds.delete(forDel)
list = [('%s_leg_04_setup'%(side),'%s_toe_roll_loc'%(side)),('%s_leg_04_setup'%(side),'%s_ball_roll_loc'%(side)),('%s_knee_setup'%(side),'%s_knee_ctrl_aim_world_loc'%(side)),('%s_leg_heel_setup'%(side),'%s_heel_loc'%(side)),('%s_leg_roll_out_setup'%(side),'%s_roll_out_loc'%(side)),('%s_leg_roll_in_setup'%(side),'%s_roll_in_loc'%(side)),('%s_leg_05_setup'%(side),'%s_toe_end_loc'%(side)),('%s_leg_06_setup'%(side),'%s_toe_lift_loc'%(side)),('%s_leg_03_setup'%(side),'%s_leg_ikHandle_loc'%(side)),('%s_leg_04_setup'%(side),'%s_ball_ikHandle_loc'%(side)),('%s_leg_03_setup'%(side),'%s_foot_ikHandle_grp'%(side))]
for each in list:
forDel = cmds.parentConstraint(each[0],each[1],mo=False)
cmds.delete(forDel)
list = [('%s_heel_loc'%(side),'%s_toe_roll_loc'%(side)),('%s_heel_loc'%(side),'%s_ball_roll_loc'%(side)),('%s_heel_loc'%(side),'%s_foot_ikHandle_grp'%(side))]
for each in list:
forDel = cmds.orientConstraint(each[0],each[1],mo=False)
cmds.delete(forDel)
list = [('%s_toe_lift_loc'%(side),'%s_heel_loc'%(side)),('%s_roll_out_loc'%(side),'%s_toe_lift_loc'%(side)),('%s_roll_in_loc'%(side),'%s_roll_in_loc'%(side)),('%s_toe_roll_loc'%(side),'%s_roll_in_loc'%(side)),('%s_ball_roll_loc'%(side),'%s_roll_in_loc'%(side)),('%s_toe_end_loc'%(side),'%s_toe_roll_loc'%(side)),('%s_leg_ikHandle_loc'%(side),'%s_ball_roll_loc'%(side)),('%s_ball_ikHandle_loc'%(side),'%s_ball_roll_loc'%(side)),('%s_leg_02_ikh'%(side),'%s_ball_ikHandle_loc'%(side)),('%s_leg_03_ikh'%(side),'%s_toe_end_loc'%(side)),('%s_leg_01_ikh'%(side),'%s_leg_ikHandle_loc'%(side)),('%s_knee_ctrl_aim_world_loc'%(side),'%s_knee_loc_grp'%(side)),('%s_heel_loc'%(side),'%s_foot_ikHandle_grp'%(side)),('%s_ik_leg_ctrl_grp'%(side),'world_ctrl'),('%s_knee_ctrl_aim_base_loc'%(side),'%s_knee_ctrl_aim_base_loc_grp'%(side)),('%s_knee_ctrl_aim_up_loc'%(side),'%s_knee_loc_grp'%(side)),('%s_knee_ctrl_aim_base_loc_grp'%(side),'%s_knee_loc_grp'%(side)),('%s_knee_ctrl_aim_loc'%(side),'%s_knee_loc_grp'%(side)),('%s_knee_ctrl_aim_up_loc'%(side),'spine_01_bln_jnt')]
for each in list:
cmds.parent(each[0],each[1])
cmds.aimConstraint('%s_knee_ctrl_aim_loc'%(side),'%s_knee_ctrl_aim_base_loc'%(side),wut='object',wuo = '%s_knee_ctrl_aim_up_loc'%(side),mo = False)
list = [('%s_ik_leg_ctrl'%(side),'%s_knee_ctrl_aim_loc'%(side)),('world_ctrl','%s_knee_ctrl_aim_world_loc'%(side)),('%s_knee_ctrl_aim_base_loc'%(side),'%s_knee_ctrl_grp'%(side)),('%s_knee_ctrl_aim_world_loc'%(side),'%s_knee_ctrl_grp'%(side)),('%s_ik_leg_ctrl'%(side),'%s_foot_ikHandle_grp'%(side)),('%s_knee_ctrl_aim_up_loc'%(side),'%s_knee_ctrl_aim_base_loc_grp'%(side))]
for each in list:
cmds.parentConstraint(each[0],each[1],mo=True)
list = [('reverse','%s_knee_follow_rev'%(side)),('multiplyDivide','%s_foot_rock_mult'%(side)),('condition','%s_foot_rock_con'%(side))]
for each in list:
cmds.shadingNode(each[0],n = each[1],asUtility=1)
list = [('%s_knee_ctrl.follow'%(side),'%s_knee_ctrl_grp_parentConstraint1.%s_knee_ctrl_aim_base_locW0'%(side,side)),('%s_knee_ctrl.follow'%(side),'%s_knee_follow_rev.inputX'%(side)),('%s_knee_follow_rev.outputX'%(side),'%s_knee_ctrl_grp_parentConstraint1.%s_knee_ctrl_aim_world_locW1'%(side,side)),('%s_ik_leg_ctrl.heelLift'%(side),'%s_heel_loc.rotateZ'%(side)),('%s_ik_leg_ctrl.toeLift'%(side),'%s_toe_lift_loc.rotateZ'%(side)),('%s_ik_leg_ctrl.ballRoll'%(side),'%s_ball_roll_loc.rotateZ'%(side)),('%s_ik_leg_ctrl.toeRoll'%(side),'%s_toe_roll_loc.rotateZ'%(side)),('%s_ik_leg_ctrl.footRock'%(side),'%s_foot_rock_mult.input1X'%(side)),('%s_ik_leg_ctrl.footRock'%(side),'%s_foot_rock_mult.input1Y'%(side)),('%s_foot_rock_mult.outputX'%(side),'%s_foot_rock_con.colorIfFalse.colorIfFalseG'%(side)),('%s_foot_rock_mult.outputX'%(side),'%s_foot_rock_con.colorIfTrue.colorIfTrueR'%(side)),('%s_foot_rock_con.outColor.outColorR'%(side), '%s_roll_out_loc.rotate.rotateX'%(side)),('%s_foot_rock_con.outColor.outColorG'%(side), '%s_roll_in_loc.rotate.rotateX'%(side)),('%s_ik_leg_ctrl.footRock'%(side), '%s_foot_rock_con.firstTerm'%(side))]
for each in list:
cmds.connectAttr(each[0],each[1])
list = [('%s_foot_rock_mult.input2X'%(side),-1),('%s_foot_rock_con.operation'%(side),2),('%s_foot_rock_con.colorIfFalse.colorIfFalseR'%(side),0),('%s_foot_rock_con.colorIfFalse.colorIfFalseB'%(side),0)]
for each in list:
cmds.setAttr(each[0],each[1])
cmds.scaleConstraint('world_ctrl','%s_foot_ikHandle_grp'%(side),mo=True)
#IKlegPVcrv#
cmds.curve(d=1, p=[(0, 0, 0),(0, 10, 0)])
cmds.rename('%s_knee_direction_crv'%(side))
nameOfLoc = ['%s_knee_01_loc'%(side),'%s_knee_02_loc'%(side)]
for each in nameOfLoc:
cmds.spaceLocator(n=each)
toGetLocPos = [('%s_knee_01_loc.translateY'%(side),0),('%s_knee_02_loc.translateY'%(side),10)]
for each in toGetLocPos:
cmds.setAttr(each[0],each[1])
toConnectLoc = [('%s_knee_01_loc.worldPosition[0]'%(side),'%s_knee_direction_crvShape.controlPoints[0]'%(side)),('%s_knee_02_loc.worldPosition[0]'%(side),'%s_knee_direction_crvShape.controlPoints[4]'%(side))]
for each in toConnectLoc:
cmds.connectAttr(each[0],each[1])
toSetAttr = [('%s_knee_direction_crv.overrideEnabled'%(side),1),('%s_knee_direction_crv.overrideDisplayType'%(side),2),('%s_knee_01_loc.visibility'%(side),0),('%s_knee_02_loc.visibility'%(side),0)]
for each in toSetAttr:
cmds.setAttr(each[0],each[1])
toGetParent = [('%s_knee_ctrl'%(side),'%s_knee_01_loc'%(side)),('%s_ik_leg_02_jnt'%(side),'%s_knee_02_loc'%(side))]
for each in toGetParent:
cmds.parentConstraint(each[0],each[1],mo = False)
cmds.group(n='%s_knee_direction_crv_grp'%(side),em = True)
toGetParent = [('%s_knee_01_loc'%(side),'%s_knee_direction_crv_grp'%(side)),('%s_knee_02_loc'%(side),'%s_knee_direction_crv_grp'%(side)),('%s_knee_direction_crv'%(side),'%s_knee_direction_crv_grp'%(side))]
for each in toGetParent:
cmds.parent(each[0],each[1])
# the command to change the progress bar
cmds.progressBar('EugenesProgressBar', edit=True, step=1)
IKlegSetup('l')
IKlegSetup('r')
def IKFKlegSetup(side):
nameOfJoint = [('%s_leg_01_bln_jnt'%(side)),('%s_leg_02_bln_jnt'%(side)),('%s_leg_03_bln_jnt'%(side)),('%s_leg_04_bln_jnt'%(side))]
for each in nameOfJoint:
cmds.joint(n=each)
toGetJointPos = [('%s_leg_01_setup'%(side),'%s_leg_01_bln_jnt'%(side)),('%s_leg_02_setup'%(side),'%s_leg_02_bln_jnt'%(side)),('%s_leg_03_setup'%(side),'%s_leg_03_bln_jnt'%(side)),('%s_leg_04_setup'%(side),'%s_leg_04_bln_jnt'%(side))]
for each in toGetJointPos:
forDel = cmds.parentConstraint(each[0],each[1],mo = False)
cmds.delete(forDel)
toSetDrawStyle = [('%s_leg_01_bln_jnt.drawStyle'%(side)),('%s_leg_02_bln_jnt.drawStyle'%(side)),('%s_leg_03_bln_jnt.drawStyle'%(side))]
for each in toSetDrawStyle:
cmds.setAttr(each,2)
cmds.parent(w = True)
cmds.makeIdentity( '%s_leg_01_bln_jnt'%(side), apply=True, translate=True, rotate=True )
cmds.curve(d=1, p=[(1.25, 0, 7.5),(-1.25, 0, 7.5),(-1.25, 0, 1.25),(-7.5, 0, 1.25),(-7.5, 0, -1.25),(-1.25, 0, -1.25),(-1.25, 0, -7.5),(1.25, 0 ,-7.5),(1.25, 0, -1.25),(7.5, 0, -1.25),(7.5, 0, 1.25,),(1.25, 0 ,1.25),(1.25, 0, 7.5)])
cmds.rename('%s_leg_ik_fk_switch'%(side))
ControllerAttr('%s_leg_ik_fk_switch'%(side),False,False,False,False,False,False,False,True,True,True,True,True,True,True,True,15,False,False,False,True,True,True)
cmds.group(n='%s_leg_ik_fk_switch_grp'%(side))
cmds.parent('%s_leg_ik_fk_switch_grp'%(side), 'world_ctrl')
cmds.addAttr('%s_leg_ik_fk_switch'%(side),sn='IKFK', min = 0, max=1 ,k=1)
cmds.addAttr('%s_leg_ik_fk_switch'%(side),sn='bendyVis',at = 'bool',k=1)
parentCon = [('%s_leg_03_bln_jnt'%(side), '%s_leg_ik_fk_switch_grp'%(side)),('%s_fk_leg_01_jnt'%(side),'%s_leg_01_bln_jnt'%(side)),('%s_ik_leg_01_jnt'%(side),'%s_leg_01_bln_jnt'%(side)),('%s_fk_leg_02_jnt'%(side),'%s_leg_02_bln_jnt'%(side)),('%s_ik_leg_02_jnt'%(side),'%s_leg_02_bln_jnt'%(side)),('%s_fk_leg_03_jnt'%(side),'%s_leg_03_bln_jnt'%(side)),('%s_ik_leg_03_jnt'%(side),'%s_leg_03_bln_jnt'%(side)),('%s_fk_leg_04_jnt'%(side),'%s_leg_04_bln_jnt'%(side)),('%s_ik_leg_04_jnt'%(side),'%s_leg_04_bln_jnt'%(side))]
for each in parentCon:
cmds.parentConstraint(each[0],each[1],mo = False)
cmds.shadingNode('reverse',n = '%s_leg_ik_rev'%(side),asUtility=1)
toConnectAttr = [('%s_leg_ik_fk_switch.IKFK'%(side),'%s_leg_01_bln_jnt_parentConstraint1.%s_fk_leg_01_jntW0'%(side,side)),('%s_leg_ik_fk_switch.IKFK'%(side),'%s_leg_02_bln_jnt_parentConstraint1.%s_fk_leg_02_jntW0'%(side,side)),('%s_leg_ik_fk_switch.IKFK'%(side),'%s_leg_03_bln_jnt_parentConstraint1.%s_fk_leg_03_jntW0'%(side,side)),('%s_leg_ik_fk_switch.IKFK'%(side),'%s_leg_04_bln_jnt_parentConstraint1.%s_fk_leg_04_jntW0'%(side,side)),('%s_leg_ik_fk_switch.IKFK'%(side),'%s_leg_ik_rev.inputX'%(side)),('%s_leg_ik_rev.outputX'%(side),'%s_leg_01_bln_jnt_parentConstraint1.%s_ik_leg_01_jntW1'%(side,side)),('%s_leg_ik_rev.outputX'%(side),'%s_leg_02_bln_jnt_parentConstraint1.%s_ik_leg_02_jntW1'%(side,side)),('%s_leg_ik_rev.outputX'%(side),'%s_leg_03_bln_jnt_parentConstraint1.%s_ik_leg_03_jntW1'%(side,side)),('%s_leg_ik_rev.outputX'%(side),'%s_leg_04_bln_jnt_parentConstraint1.%s_ik_leg_04_jntW1'%(side,side)),('%s_leg_ik_fk_switch.IKFK'%(side),'%s_fk_leg_01_ctrl_grp.visibility'%(side)),('%s_leg_ik_rev.outputX'%(side),'%s_ik_leg_ctrl_grp.visibility'%(side)),('%s_leg_ik_rev.outputX'%(side),'%s_knee_ctrl_grp.visibility'%(side)),('%s_leg_ik_rev.outputX'%(side),'%s_knee_direction_crv_grp.visibility'%(side))]
for each in toConnectAttr:
cmds.connectAttr(each[0],each[1])
cmds.parent('%s_leg_01_bln_jnt'%(side),'spine_01_bln_jnt')
cmds.parent('%s_leg_04_bln_jnt'%(side),'%s_leg_03_bln_jnt'%(side))
# the command to change the progress bar
cmds.progressBar('EugenesProgressBar', edit=True, step=1)
IKFKlegSetup('l')
IKFKlegSetup('r')
def BendyLegSetup(side):
cmds.curve(d=3, p=[(0, 0, 0),(0, 2.5, 0),(0, 5, 0),(0, 7.5, 0),(0, 10, 0)])
cmds.rename('%s_upr_bendy_leg_crv'%(side))
cmds.curve(d=3, p=[(0, 0, 0),(0, 2.5, 0),(0, 5, 0),(0, 7.5, 0),(0, 10, 0)])
cmds.rename('%s_lwr_bendy_leg_crv'%(side))
nameOfLoc = ['%s_upr_bendy_leg_01_loc'%(side),'%s_upr_bendy_leg_02_loc'%(side),'%s_upr_bendy_leg_03_loc'%(side),'%s_upr_bendy_leg_04_loc'%(side),'%s_upr_bendy_leg_05_loc'%(side),'%s_lwr_bendy_leg_01_loc'%(side),'%s_lwr_bendy_leg_02_loc'%(side),'%s_lwr_bendy_leg_03_loc'%(side),'%s_lwr_bendy_leg_04_loc'%(side),'%s_lwr_bendy_leg_05_loc'%(side),'%s_upr_bendy_leg_aim_up_loc'%(side),'%s_lwr_bendy_leg_aim_up_loc'%(side)]
for each in nameOfLoc:
cmds.spaceLocator(n=each)
listToGetPos = [('%s_leg_01_bln_jnt'%(side),'%s_upr_bendy_leg_aim_up_loc'%(side)),('%s_leg_02_bln_jnt'%(side),'%s_lwr_bendy_leg_aim_up_loc'%(side))]
for each in listToGetPos:
forDel = cmds.parentConstraint(each[0],each[1],mo=False)
cmds.delete(forDel)
cmds.parent('%s_upr_bendy_leg_aim_up_loc'%(side),'%s_leg_01_bln_jnt'%(side))
cmds.parent('%s_lwr_bendy_leg_aim_up_loc'%(side),'%s_leg_02_bln_jnt'%(side))
cmds.setAttr('%s_upr_bendy_leg_aim_up_loc.translateY'%(side),50)
cmds.setAttr('%s_lwr_bendy_leg_aim_up_loc.translateY'%(side),50)
toGetLocPos = [('%s_upr_bendy_leg_01_loc.translateY'%(side),0),('%s_upr_bendy_leg_02_loc.translateY'%(side),2.5),('%s_upr_bendy_leg_03_loc.translateY'%(side),5),('%s_upr_bendy_leg_04_loc.translateY'%(side),7.5),('%s_upr_bendy_leg_05_loc.translateY'%(side),10),('%s_lwr_bendy_leg_01_loc.translateY'%(side),0),('%s_lwr_bendy_leg_02_loc.translateY'%(side),2.5),('%s_lwr_bendy_leg_03_loc.translateY'%(side),5),('%s_lwr_bendy_leg_04_loc.translateY'%(side),7.5),('%s_lwr_bendy_leg_05_loc.translateY'%(side),10),('%s_leg_ik_fk_switch.bendyVis'%(side),1)]
for each in toGetLocPos:
cmds.setAttr(each[0],each[1])
toConnectLoc = [('%s_upr_bendy_leg_01_loc.worldPosition[0]'%(side),'%s_upr_bendy_leg_crvShape.controlPoints[0]'%(side)),('%s_upr_bendy_leg_02_loc.worldPosition[0]'%(side),'%s_upr_bendy_leg_crvShape.controlPoints[1]'%(side)),('%s_upr_bendy_leg_03_loc.worldPosition[0]'%(side),'%s_upr_bendy_leg_crvShape.controlPoints[2]'%(side)),('%s_upr_bendy_leg_04_loc.worldPosition[0]'%(side),'%s_upr_bendy_leg_crvShape.controlPoints[3]'%(side)),('%s_upr_bendy_leg_05_loc.worldPosition[0]'%(side),'%s_upr_bendy_leg_crvShape.controlPoints[4]'%(side)),('%s_lwr_bendy_leg_01_loc.worldPosition[0]'%(side),'%s_lwr_bendy_leg_crvShape.controlPoints[0]'%(side)),('%s_lwr_bendy_leg_02_loc.worldPosition[0]'%(side),'%s_lwr_bendy_leg_crvShape.controlPoints[1]'%(side)),('%s_lwr_bendy_leg_03_loc.worldPosition[0]'%(side),'%s_lwr_bendy_leg_crvShape.controlPoints[2]'%(side)),('%s_lwr_bendy_leg_04_loc.worldPosition[0]'%(side),'%s_lwr_bendy_leg_crvShape.controlPoints[3]'%(side)),('%s_lwr_bendy_leg_05_loc.worldPosition[0]'%(side),'%s_lwr_bendy_leg_crvShape.controlPoints[4]'%(side))]
for each in toConnectLoc:
cmds.connectAttr(each[0],each[1])
listOfBendyLegController = [('%s_bendy_leg_01_ctrl'%(side),'%s_bendy_leg_01_ctrl_grp'%(side)),('%s_bendy_leg_02_ctrl'%(side),'%s_bendy_leg_02_ctrl_grp'%(side)),('%s_bendy_leg_03_ctrl'%(side),'%s_bendy_leg_03_ctrl_grp'%(side))]
for each in listOfBendyLegController:
cmds.curve(d=1,p=[(0, -3, 3),(0, -1, 2),(0, 0, 4),(0, 1, 2),(0, 3, 3),(0, 2, 1),(0, 4, 0),(0, 2, -1),(0, 3, -3),(0, 1, -2),(0, 0, -4),(0, -1, -2),(0, -3, -3),(0, -2, -1),(0, -4, 0),(0, -2, 1),(0, -3, 3)])
cmds.rename(each[0])
cmds.group(n=each[1])
cmds.delete('%s_bendy_leg_01_ctrl'%(side),'%s_bendy_leg_02_ctrl'%(side),'%s_bendy_leg_03_ctrl'%(side),constructionHistory = True)
uprBendyController01forDel = cmds.pointConstraint('%s_leg_01_setup'%(side),'%s_bendy_leg_01_ctrl_grp'%(side),mo=False)
uprBendyController01forDel = cmds.pointConstraint('%s_leg_02_setup'%(side),'%s_bendy_leg_01_ctrl_grp'%(side),mo=False)
uprBendyController02forDel = cmds.pointConstraint('%s_leg_02_setup'%(side),'%s_bendy_leg_02_ctrl_grp'%(side),mo=False)
uprBendyController03forDel = cmds.pointConstraint('%s_leg_02_setup'%(side),'%s_bendy_leg_03_ctrl_grp'%(side),mo=False)
uprBendyController03forDel = cmds.pointConstraint('%s_leg_03_setup'%(side),'%s_bendy_leg_03_ctrl_grp'%(side),mo=False)
uprBendyControllerForRotation01forDel = cmds.orientConstraint('%s_leg_01_setup'%(side),'%s_bendy_leg_01_ctrl_grp'%(side),mo=False)
uprBendyControllerForRotation02forDel = cmds.orientConstraint('%s_leg_02_setup'%(side),'%s_bendy_leg_02_ctrl_grp'%(side),mo=False)
uprBendyControllerForRotation03forDel = cmds.orientConstraint('%s_leg_02_setup'%(side),'%s_bendy_leg_03_ctrl_grp'%(side),mo=False)
cmds.delete(uprBendyController01forDel,uprBendyController02forDel,uprBendyController03forDel,uprBendyControllerForRotation01forDel,uprBendyControllerForRotation02forDel,uprBendyControllerForRotation03forDel)
listOfUprBendyJoint = ['%s_upr_bendy_leg_01_jnt'%(side),'%s_upr_bendy_leg_02_jnt'%(side),'%s_upr_bendy_leg_03_jnt'%(side),'%s_upr_bendy_leg_04_jnt'%(side),'%s_upr_bendy_leg_05_jnt'%(side),'%s_lwr_bendy_leg_01_jnt'%(side),'%s_lwr_bendy_leg_02_jnt'%(side),'%s_lwr_bendy_leg_03_jnt'%(side),'%s_lwr_bendy_leg_04_jnt'%(side),'%s_lwr_bendy_leg_05_jnt'%(side),'%s_upr_bendy_leg_01_length_jnt'%(side),'%s_upr_bendy_leg_02_length_jnt'%(side),'%s_upr_bendy_leg_03_length_jnt'%(side),'%s_upr_bendy_leg_04_length_jnt'%(side),'%s_upr_bendy_leg_05_length_jnt'%(side),'%s_lwr_bendy_leg_01_length_jnt'%(side),'%s_lwr_bendy_leg_02_length_jnt'%(side),'%s_lwr_bendy_leg_03_length_jnt'%(side),'%s_lwr_bendy_leg_04_length_jnt'%(side),'%s_lwr_bendy_leg_05_length_jnt'%(side),'%s_lwr_bendy_leg_start_length_jnt'%(side),'%s_lwr_bendy_leg_end_length_jnt'%(side),'%s_upr_bendy_leg_start_length_jnt'%(side),'%s_upr_bendy_leg_end_length_jnt'%(side)]
for each in listOfUprBendyJoint:
cmds.joint(n=each)
cmds.parent('%s_upr_bendy_leg_01_jnt'%(side),'%s_lwr_bendy_leg_01_jnt'%(side),'%s_upr_bendy_leg_01_length_jnt'%(side),'%s_lwr_bendy_leg_01_length_jnt'%(side),'%s_upr_bendy_leg_start_length_jnt'%(side),'%s_lwr_bendy_leg_start_length_jnt'%(side),w=True)
cmds.group(n='%s_upr_bendy_leg_jnt_grp'%(side),em=True)
cmds.group(n='%s_lwr_bendy_leg_jnt_grp'%(side),em=True)
cmds.parent('%s_upr_bendy_leg_01_jnt'%(side),'%s_upr_bendy_leg_jnt_grp'%(side))
cmds.parent('%s_lwr_bendy_leg_01_jnt'%(side),'%s_lwr_bendy_leg_jnt_grp'%(side))
cmds.orientConstraint('%s_leg_01_bln_jnt'%(side),'%s_upr_bendy_leg_jnt_grp'%(side),mo=True)
cmds.orientConstraint('%s_leg_02_bln_jnt'%(side),'%s_lwr_bendy_leg_jnt_grp'%(side),mo=True)
uprBendyJoint01forDel = cmds.pointConstraint('%s_leg_01_setup'%(side),'%s_upr_bendy_leg_01_jnt'%(side),mo=False)
uprBendyJoint02forDel = cmds.pointConstraint('%s_leg_01_setup'%(side),'%s_upr_bendy_leg_02_jnt'%(side),mo=False)
uprBendyJoint02forDel = cmds.pointConstraint('%s_bendy_leg_01_ctrl'%(side),'%s_upr_bendy_leg_02_jnt'%(side),mo=False)
uprBendyJoint03forDel = cmds.pointConstraint('%s_bendy_leg_01_ctrl'%(side),'%s_upr_bendy_leg_03_jnt'%(side),mo=False)
uprBendyJoint04forDel = cmds.pointConstraint('%s_bendy_leg_01_ctrl'%(side),'%s_upr_bendy_leg_04_jnt'%(side),mo=False)
uprBendyJoint04forDel = cmds.pointConstraint('%s_leg_02_setup'%(side),'%s_upr_bendy_leg_04_jnt'%(side),mo=False)
uprBendyJoint05forDel = cmds.pointConstraint('%s_leg_02_setup'%(side),'%s_upr_bendy_leg_05_jnt'%(side),mo=False)
lwrBendyJoint01forDel = cmds.pointConstraint('%s_leg_02_setup'%(side),'%s_lwr_bendy_leg_01_jnt'%(side),mo=False)
lwrBendyJoint02forDel = cmds.pointConstraint('%s_leg_02_setup'%(side),'%s_lwr_bendy_leg_02_jnt'%(side),mo=False)
lwrBendyJoint02forDel = cmds.pointConstraint('%s_bendy_leg_03_ctrl'%(side),'%s_lwr_bendy_leg_02_jnt'%(side),mo=False)
lwrBendyJoint03forDel = cmds.pointConstraint('%s_bendy_leg_03_ctrl'%(side),'%s_lwr_bendy_leg_03_jnt'%(side),mo=False)
lwrBendyJoint04forDel = cmds.pointConstraint('%s_bendy_leg_03_ctrl'%(side),'%s_lwr_bendy_leg_04_jnt'%(side),mo=False)
lwrBendyJoint04forDel = cmds.pointConstraint('%s_leg_03_setup'%(side),'%s_lwr_bendy_leg_04_jnt'%(side),mo=False)
lwrBendyJoint05forDel = cmds.pointConstraint('%s_leg_03_setup'%(side),'%s_lwr_bendy_leg_05_jnt'%(side),mo=False)
uprBendyJointForRatation01forDel = cmds.orientConstraint('%s_leg_01_setup'%(side),'%s_upr_bendy_leg_01_jnt'%(side),mo=False)
uprBendyJointForRatation02forDel = cmds.orientConstraint('%s_leg_01_setup'%(side),'%s_upr_bendy_leg_02_jnt'%(side),mo=False)
uprBendyJointForRatation03forDel = cmds.orientConstraint('%s_leg_01_setup'%(side),'%s_upr_bendy_leg_03_jnt'%(side),mo=False)
uprBendyJointForRatation04forDel = cmds.orientConstraint('%s_leg_01_setup'%(side),'%s_upr_bendy_leg_04_jnt'%(side),mo=False)
uprBendyJointForRatation05forDel = cmds.orientConstraint('%s_leg_01_setup'%(side),'%s_upr_bendy_leg_05_jnt'%(side),mo=False)
lwrBendyJointForRatation01forDel = cmds.orientConstraint('%s_leg_02_setup'%(side),'%s_lwr_bendy_leg_01_jnt'%(side),mo=False)
lwrBendyJointForRatation02forDel = cmds.orientConstraint('%s_leg_02_setup'%(side),'%s_lwr_bendy_leg_02_jnt'%(side),mo=False)
lwrBendyJointForRatation03forDel = cmds.orientConstraint('%s_leg_02_setup'%(side),'%s_lwr_bendy_leg_03_jnt'%(side),mo=False)
lwrBendyJointForRatation04forDel = cmds.orientConstraint('%s_leg_02_setup'%(side),'%s_lwr_bendy_leg_04_jnt'%(side),mo=False)
lwrBendyJointForRatation05forDel = cmds.orientConstraint('%s_leg_02_setup'%(side),'%s_lwr_bendy_leg_05_jnt'%(side),mo=False)
cmds.delete(uprBendyJoint01forDel,uprBendyJoint02forDel,uprBendyJoint03forDel,uprBendyJoint04forDel,uprBendyJoint05forDel,lwrBendyJoint01forDel,lwrBendyJoint02forDel,lwrBendyJoint03forDel,lwrBendyJoint04forDel,lwrBendyJoint05forDel,uprBendyJointForRatation01forDel,uprBendyJointForRatation02forDel,uprBendyJointForRatation03forDel,uprBendyJointForRatation04forDel,uprBendyJointForRatation05forDel,lwrBendyJointForRatation01forDel,lwrBendyJointForRatation02forDel,lwrBendyJointForRatation03forDel,lwrBendyJointForRatation04forDel,lwrBendyJointForRatation05forDel)
listOfBendyArmLenghtJointToGetPos = [('%s_upr_bendy_leg_01_jnt'%(side),'%s_upr_bendy_leg_01_length_jnt'%(side)),('%s_upr_bendy_leg_02_jnt'%(side),'%s_upr_bendy_leg_02_length_jnt'%(side)),('%s_upr_bendy_leg_03_jnt'%(side),'%s_upr_bendy_leg_03_length_jnt'%(side)),('%s_upr_bendy_leg_04_jnt'%(side),'%s_upr_bendy_leg_04_length_jnt'%(side)),('%s_upr_bendy_leg_05_jnt'%(side),'%s_upr_bendy_leg_05_length_jnt'%(side)),('%s_lwr_bendy_leg_01_jnt'%(side),'%s_lwr_bendy_leg_01_length_jnt'%(side)),('%s_lwr_bendy_leg_02_jnt'%(side),'%s_lwr_bendy_leg_02_length_jnt'%(side)),('%s_lwr_bendy_leg_03_jnt'%(side),'%s_lwr_bendy_leg_03_length_jnt'%(side)),('%s_lwr_bendy_leg_04_jnt'%(side),'%s_lwr_bendy_leg_04_length_jnt'%(side)),('%s_lwr_bendy_leg_05_jnt'%(side),'%s_lwr_bendy_leg_05_length_jnt'%(side)),('%s_upr_bendy_leg_01_jnt'%(side),'%s_upr_bendy_leg_start_length_jnt'%(side)),('%s_upr_bendy_leg_05_jnt'%(side),'%s_upr_bendy_leg_end_length_jnt'%(side)),('%s_lwr_bendy_leg_01_jnt'%(side),'%s_lwr_bendy_leg_start_length_jnt'%(side)),('%s_lwr_bendy_leg_05_jnt'%(side),'%s_lwr_bendy_leg_end_length_jnt'%(side))]
for each in listOfBendyArmLenghtJointToGetPos:
forDel = cmds.parentConstraint(each[0],each[1],mo=False)
cmds.delete(forDel)
cmds.makeIdentity('%s_upr_bendy_leg_01_jnt'%(side),'%s_lwr_bendy_leg_01_jnt'%(side),'%s_upr_bendy_leg_01_length_jnt'%(side),'%s_lwr_bendy_leg_01_length_jnt'%(side),'%s_upr_bendy_leg_start_length_jnt'%(side),'%s_lwr_bendy_leg_start_length_jnt'%(side),apply=True,rotate=True)
locToGetPos = [('%s_upr_bendy_leg_01_jnt'%(side),'%s_upr_bendy_leg_01_loc'%(side)),('%s_upr_bendy_leg_02_jnt'%(side),'%s_upr_bendy_leg_02_loc'%(side)),('%s_upr_bendy_leg_03_jnt'%(side),'%s_upr_bendy_leg_03_loc'%(side)),('%s_upr_bendy_leg_04_jnt'%(side),'%s_upr_bendy_leg_04_loc'%(side)),('%s_upr_bendy_leg_05_jnt'%(side),'%s_upr_bendy_leg_05_loc'%(side)),('%s_lwr_bendy_leg_01_jnt'%(side),'%s_lwr_bendy_leg_01_loc'%(side)),('%s_lwr_bendy_leg_02_jnt'%(side),'%s_lwr_bendy_leg_02_loc'%(side)),('%s_lwr_bendy_leg_03_jnt'%(side),'%s_lwr_bendy_leg_03_loc'%(side)),('%s_lwr_bendy_leg_04_jnt'%(side),'%s_lwr_bendy_leg_04_loc'%(side)),('%s_lwr_bendy_leg_05_jnt'%(side),'%s_lwr_bendy_leg_05_loc'%(side))]
for each in locToGetPos:
forDel = cmds.parentConstraint(each[0],each[1],mo=False)
cmds.delete(forDel)
list = ['%s_upr_bendy_leg_loc_grp'%(side),'%s_lwr_bendy_leg_loc_grp'%(side),'%s_bendy_leg_ctrl_grp'%(side),'%s_bendy_leg_jnt_grp'%(side)]
for each in list:
cmds.group(n=each,em=True)
cmds.connectAttr('%s_leg_ik_fk_switch.bendyVis'%(side),'%s_bendy_leg_ctrl_grp.visibility'%(side))
list = [('%s_lwr_bendy_leg_jnt_grp'%(side),'%s_bendy_leg_jnt_grp'%(side)),('%s_upr_bendy_leg_jnt_grp'%(side),'%s_bendy_leg_jnt_grp'%(side)),('%s_upr_bendy_leg_01_loc'%(side),'%s_upr_bendy_leg_loc_grp'%(side)),('%s_upr_bendy_leg_02_loc'%(side),'%s_upr_bendy_leg_loc_grp'%(side)),('%s_upr_bendy_leg_03_loc'%(side),'%s_upr_bendy_leg_loc_grp'%(side)),('%s_upr_bendy_leg_04_loc'%(side),'%s_upr_bendy_leg_loc_grp'%(side)),('%s_upr_bendy_leg_05_loc'%(side),'%s_upr_bendy_leg_loc_grp'%(side)),('%s_lwr_bendy_leg_01_loc'%(side),'%s_lwr_bendy_leg_loc_grp'%(side)),('%s_lwr_bendy_leg_02_loc'%(side),'%s_lwr_bendy_leg_loc_grp'%(side)),('%s_lwr_bendy_leg_03_loc'%(side),'%s_lwr_bendy_leg_loc_grp'%(side)),('%s_lwr_bendy_leg_04_loc'%(side),'%s_lwr_bendy_leg_loc_grp'%(side)),('%s_lwr_bendy_leg_05_loc'%(side),'%s_lwr_bendy_leg_loc_grp'%(side)),('%s_bendy_leg_01_ctrl_grp'%(side),'%s_bendy_leg_ctrl_grp'%(side)),('%s_bendy_leg_02_ctrl_grp'%(side),'%s_bendy_leg_ctrl_grp'%(side)),('%s_bendy_leg_03_ctrl_grp'%(side),'%s_bendy_leg_ctrl_grp'%(side)),('%s_upr_bendy_leg_01_length_jnt'%(side),'%s_bendy_leg_jnt_grp'%(side)),('%s_lwr_bendy_leg_01_length_jnt'%(side),'%s_bendy_leg_jnt_grp'%(side)),('%s_upr_bendy_leg_start_length_jnt'%(side),'%s_bendy_leg_jnt_grp'%(side)),('%s_lwr_bendy_leg_start_length_jnt'%(side),'%s_bendy_leg_jnt_grp'%(side))]
for each in list:
cmds.parent(each[0],each[1])
list = [('%s_bendy_leg_01_ctrl'%(side)),('%s_bendy_leg_02_ctrl'%(side)),('%s_bendy_leg_03_ctrl'%(side))]
for each in list:
cmds.setAttr (each+'.visibility',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.scaleX',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.scaleY',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.scaleZ',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.rotateX',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.rotateY',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.rotateZ',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.overrideEnabled' ,True)
cmds.setAttr (each+'.overrideColor' ,18)
cmds.select('%s_upr_bendy_leg_01_jnt'%(side),'%s_upr_bendy_leg_05_jnt'%(side),'%s_upr_bendy_leg_crv'%(side))
cmds.ikHandle(n='%s_upr_bendy_leg_ikh'%(side),sol='ikSplineSolver',ccv=0,pcv =0)
cmds.select('%s_lwr_bendy_leg_01_jnt'%(side),'%s_lwr_bendy_leg_05_jnt'%(side),'%s_lwr_bendy_leg_crv'%(side))
cmds.ikHandle(n='%s_lwr_bendy_leg_ikh'%(side),sol='ikSplineSolver',ccv=0,pcv =0)
list = [('%s_leg_01_bln_jnt'%(side),'%s_upr_bendy_leg_01_loc'%(side)),('%s_leg_01_bln_jnt'%(side),'%s_upr_bendy_leg_02_loc'%(side)),('%s_bendy_leg_01_ctrl'%(side),'%s_upr_bendy_leg_02_loc'%(side)),('%s_bendy_leg_01_ctrl'%(side),'%s_upr_bendy_leg_03_loc'%(side)),('%s_bendy_leg_01_ctrl'%(side),'%s_upr_bendy_leg_04_loc'%(side)),('%s_bendy_leg_02_ctrl'%(side),'%s_upr_bendy_leg_04_loc'%(side)),('%s_bendy_leg_02_ctrl'%(side),'%s_upr_bendy_leg_05_loc'%(side)),('%s_bendy_leg_02_ctrl'%(side),'%s_lwr_bendy_leg_01_loc'%(side)),('%s_bendy_leg_02_ctrl'%(side),'%s_lwr_bendy_leg_02_loc'%(side)),('%s_bendy_leg_03_ctrl'%(side),'%s_lwr_bendy_leg_02_loc'%(side)),('%s_bendy_leg_03_ctrl'%(side),'%s_lwr_bendy_leg_03_loc'%(side)),('%s_bendy_leg_03_ctrl'%(side),'%s_lwr_bendy_leg_04_loc'%(side)),('%s_leg_03_bln_jnt'%(side),'%s_lwr_bendy_leg_04_loc'%(side)),('%s_leg_03_bln_jnt'%(side),'%s_lwr_bendy_leg_05_loc'%(side))]
for each in list:
cmds.pointConstraint(each[0],each[1],mo=True)
cmds.pointConstraint('%s_leg_01_bln_jnt'%(side),'%s_bendy_leg_01_ctrl_grp'%(side),mo = True)
cmds.pointConstraint('%s_bendy_leg_02_ctrl'%(side),'%s_bendy_leg_01_ctrl_grp'%(side),mo = True)
cmds.aimConstraint('%s_bendy_leg_02_ctrl'%(side),'%s_bendy_leg_01_ctrl_grp'%(side),wut = 'object',wuo = '%s_upr_bendy_leg_aim_up_loc'%(side),mo = True)
cmds.parentConstraint('%s_leg_02_bln_jnt'%(side),'%s_bendy_leg_02_ctrl_grp'%(side),mo=True)
cmds.pointConstraint('%s_leg_03_bln_jnt'%(side),'%s_bendy_leg_03_ctrl_grp'%(side),mo = True)
cmds.pointConstraint('%s_bendy_leg_02_ctrl'%(side),'%s_bendy_leg_03_ctrl_grp'%(side),mo = True)
cmds.aimConstraint('%s_bendy_leg_02_ctrl'%(side),'%s_bendy_leg_03_ctrl_grp'%(side),wut = 'object',wuo = '%s_lwr_bendy_leg_aim_up_loc'%(side),mo = True)
cmds.scaleConstraint('world_ctrl','%s_bendy_leg_01_ctrl_grp'%(side),mo = True)
cmds.scaleConstraint('world_ctrl','%s_bendy_leg_02_ctrl_grp'%(side),mo = True)
cmds.scaleConstraint('world_ctrl','%s_bendy_leg_03_ctrl_grp'%(side),mo = True)
createNode = [('multiplyDivide','%s_upr_bendy_leg_stretch_01_mult'%(side)),('multiplyDivide','%s_upr_bendy_leg_stretch_02_mult'%(side)),('multiplyDivide','%s_lwr_bendy_leg_stretch_01_mult'%(side)),('multiplyDivide','%s_lwr_bendy_leg_stretch_02_mult'%(side))]
for each in createNode:
cmds.shadingNode(each[0],n=each[1],asUtility=1)
toSetNode = [('%s_upr_bendy_leg_stretch_01_mult.operation'%(side),2),('%s_upr_bendy_leg_stretch_01_mult.operation'%(side),2),('%s_lwr_bendy_leg_stretch_01_mult.operation'%(side),2),('%s_lwr_bendy_leg_stretch_01_mult.operation'%(side),2),('%s_upr_bendy_leg_stretch_01_mult.operation'%(side),2)]
for each in toSetNode:
cmds.setAttr(each[0],each[1])
uprArmCurveInfo = cmds.arclen('%s_upr_bendy_leg_crv'%(side),ch = True)
cmds.rename(uprArmCurveInfo,'%s_upr_bendy_leg_crv_info'%(side))
lwrArmCurveInfo = cmds.arclen('%s_lwr_bendy_leg_crv'%(side),ch = True)
cmds.rename(lwrArmCurveInfo,'%s_lwr_bendy_leg_crv_info'%(side))
toConnectAttr = [('%s_leg_02_bln_jnt.rotateX'%(side),'%s_upr_bendy_leg_ikh.twist'%(side)),('%s_upr_bendy_leg_crv_info.arcLength'%(side),'%s_upr_bendy_leg_stretch_01_mult.input1X'%(side)),('%s_upr_bendy_leg_stretch_01_mult.outputX'%(side),'%s_upr_bendy_leg_stretch_02_mult.input1X'%(side)),('%s_upr_bendy_leg_02_length_jnt.translateX'%(side),'%s_upr_bendy_leg_stretch_02_mult.input2X'%(side)),('%s_upr_bendy_leg_stretch_02_mult.outputX'%(side),'%s_upr_bendy_leg_02_jnt.translateX'%(side)),('%s_upr_bendy_leg_stretch_02_mult.outputX'%(side),'%s_upr_bendy_leg_03_jnt.translateX'%(side)),('%s_upr_bendy_leg_stretch_02_mult.outputX'%(side),'%s_upr_bendy_leg_04_jnt.translateX'%(side)),('%s_upr_bendy_leg_stretch_02_mult.outputX'%(side),'%s_upr_bendy_leg_05_jnt.translateX'%(side)),('%s_upr_bendy_leg_end_length_jnt.translateX'%(side),'%s_upr_bendy_leg_stretch_01_mult.input2X'%(side)),('%s_leg_03_bln_jnt.rotateX'%(side),'%s_lwr_bendy_leg_ikh.twist'%(side)),('%s_lwr_bendy_leg_crv_info.arcLength'%(side),'%s_lwr_bendy_leg_stretch_01_mult.input1X'%(side)),('%s_lwr_bendy_leg_stretch_01_mult.outputX'%(side),'%s_lwr_bendy_leg_stretch_02_mult.input1X'%(side)),('%s_lwr_bendy_leg_02_length_jnt.translateX'%(side),'%s_lwr_bendy_leg_stretch_02_mult.input2X'%(side)),('%s_lwr_bendy_leg_stretch_02_mult.outputX'%(side),'%s_lwr_bendy_leg_02_jnt.translateX'%(side)),('%s_lwr_bendy_leg_stretch_02_mult.outputX'%(side),'%s_lwr_bendy_leg_03_jnt.translateX'%(side)),('%s_lwr_bendy_leg_stretch_02_mult.outputX'%(side),'%s_lwr_bendy_leg_04_jnt.translateX'%(side)),('%s_lwr_bendy_leg_stretch_02_mult.outputX'%(side),'%s_lwr_bendy_leg_05_jnt.translateX'%(side)),('%s_lwr_bendy_leg_end_length_jnt.translateX'%(side),'%s_lwr_bendy_leg_stretch_01_mult.input2X'%(side))]
for each in toConnectAttr:
cmds.connectAttr(each[0],each[1])
list = ['%s_upr_bendy_leg_ik_setup_grp'%(side),'%s_lwr_bendy_leg_ik_setup_grp'%(side),'%s_upr_leg_bendy_setup_grp'%(side),'%s_lwr_leg_bendy_setup_grp'%(side)]
for each in list:
cmds.group(n=each,em=True)
list = [('%s_upr_bendy_leg_ik_setup_grp'%(side),'%s_upr_leg_bendy_setup_grp'%(side)),('%s_lwr_bendy_leg_ik_setup_grp'%(side),'%s_lwr_leg_bendy_setup_grp'%(side)),('%s_upr_bendy_leg_loc_grp'%(side),'%s_upr_leg_bendy_setup_grp'%(side)),('%s_lwr_bendy_leg_loc_grp'%(side),'%s_lwr_leg_bendy_setup_grp'%(side)),('%s_bendy_leg_ctrl_grp'%(side),'world_ctrl'),('%s_upr_bendy_leg_crv'%(side),'%s_upr_bendy_leg_ik_setup_grp'%(side)),('%s_upr_bendy_leg_ikh'%(side),'%s_upr_bendy_leg_ik_setup_grp'%(side)),('%s_lwr_bendy_leg_crv'%(side),'%s_lwr_bendy_leg_ik_setup_grp'%(side)),('%s_lwr_bendy_leg_ikh'%(side),'%s_lwr_bendy_leg_ik_setup_grp'%(side))]
for each in list:
cmds.parent(each[0],each[1])
BendyLegSetup('l')
BendyLegSetup('r')
def StrechyLegSetup(side):
#StrechyLeg#
jointList = ['%s_leg_01_length_jnt'%(side),'%s_leg_02_length_jnt'%(side),'%s_leg_03_length_jnt'%(side)]
for each in jointList:
cmds.joint(n=each)
cmds.group(n='%s_leg_length_jnt_grp'%(side),em=True)
cmds.parent('%s_leg_01_length_jnt'%(side),'%s_leg_length_jnt_grp'%(side))
cmds.scaleConstraint('world_ctrl','%s_leg_length_jnt_grp'%(side),mo=True)
listOfToGetJointPos = [('%s_leg_01_setup'%(side),'%s_leg_01_length_jnt'%(side)),('%s_leg_02_setup'%(side),'%s_leg_02_length_jnt'%(side)),('%s_leg_03_setup'%(side),'%s_leg_03_length_jnt'%(side))]
for each in listOfToGetJointPos:
forDel = cmds.parentConstraint(each[0],each[1],mo=False)
cmds.delete(forDel)
addNode = [('distanceBetween','%s_upr_leg_dist'%(side)),('distanceBetween','%s_lwr_leg_dist'%(side)),('addDoubleLinear','%s_leg_full_dist'%(side)),('distanceBetween','%s_leg_stretch_dist'%(side)),('condition','%s_leg_stretch_cond'%(side)),('multiplyDivide','%s_leg_stretch_mult'%(side)),('multiplyDivide','%s_upr_leg_strecth_mult'%(side)),('multiplyDivide','%s_lwr_leg_strecth_mult'%(side)),('multiplyDivide','%s_leg_strecth_option_mult'%(side))]
for each in addNode:
cmds.shadingNode(each[0],n=each[1],asUtility=1)
cmds.setAttr('%s_leg_stretch_cond.operation'%(side),2)
cmds.setAttr('%s_leg_stretch_mult.operation'%(side),2)
addLoc = [('%s_leg_start_dist_loc'%(side)),('%s_leg_end_dist_loc'%(side))]
for each in addLoc:
cmds.spaceLocator(n=each)
cmds.group(n='%s_leg_start_dist_loc_grp'%(side),em=True)
cmds.parent('%s_leg_start_dist_loc'%(side),'%s_leg_start_dist_loc_grp'%(side))
cmds.scaleConstraint('world_ctrl','%s_leg_start_dist_loc_grp'%(side),mo=True)
toConnectNode = [('%s_leg_01_length_jnt.worldMatrix'%(side),'%s_upr_leg_dist.inMatrix1'%(side)),('%s_leg_02_length_jnt.worldMatrix'%(side),'%s_upr_leg_dist.inMatrix2'%(side)),('%s_leg_02_length_jnt.worldMatrix'%(side),'%s_lwr_leg_dist.inMatrix1'%(side)),('%s_leg_03_length_jnt.worldMatrix'%(side),'%s_lwr_leg_dist.inMatrix2'%(side)),('%s_upr_leg_dist.distance'%(side),'%s_leg_full_dist.input1'%(side)),('%s_lwr_leg_dist.distance'%(side),'%s_leg_full_dist.input2'%(side)),('%s_leg_start_dist_loc.worldMatrix'%(side),'%s_leg_stretch_dist.inMatrix1'%(side)),('%s_leg_end_dist_loc.worldMatrix'%(side),'%s_leg_stretch_dist.inMatrix2'%(side)),('%s_leg_stretch_dist.distance'%(side),'%s_leg_stretch_cond.firstTerm'%(side)),('%s_leg_full_dist.output'%(side),'%s_leg_stretch_cond.secondTerm'%(side)),('%s_leg_stretch_dist.distance'%(side),'%s_leg_stretch_mult.input1X'%(side)),('%s_leg_full_dist.output'%(side),'%s_leg_stretch_mult.input2X'%(side)),('%s_leg_stretch_mult.outputX'%(side),'%s_leg_stretch_cond.colorIfTrue.colorIfTrueR'%(side)),('%s_leg_stretch_cond.outColor.outColorR'%(side),'%s_lwr_leg_strecth_mult.input1X'%(side)),('%s_leg_stretch_cond.outColor.outColorR'%(side),'%s_upr_leg_strecth_mult.input1X'%(side)),('%s_leg_02_setup.translateX'%(side),'%s_upr_leg_strecth_mult.input2X'%(side)),('%s_leg_03_setup.translateX'%(side),'%s_lwr_leg_strecth_mult.input2X'%(side)),('%s_upr_leg_strecth_mult.outputX'%(side),'%s_ik_leg_02_jnt.translateX'%(side)),('%s_lwr_leg_strecth_mult.outputX'%(side),'%s_ik_leg_03_jnt.translateX'%(side)),('%s_ik_leg_ctrl.stretch'%(side),'%s_leg_strecth_option_mult.input1X'%(side)),('%s_leg_strecth_option_mult.outputX'%(side),'%s_leg_stretch_cond.operation'%(side))]
for each in toConnectNode:
cmds.connectAttr(each[0],each[1])
toSetVis = [('%s_leg_start_dist_loc.visibility'%(side)),('%s_leg_end_dist_loc.visibility'%(side))]
for each in toSetVis:
cmds.setAttr(each,0)
toGetLocPos = [('%s_leg_01_setup'%(side),'%s_leg_start_dist_loc'%(side)),('%s_leg_03_setup'%(side),'%s_leg_end_dist_loc'%(side))]
for each in toGetLocPos:
forDel = cmds.pointConstraint(each[0],each[1],mo = False)
cmds.delete(forDel)
cmds.parentConstraint('spine_01_bln_jnt','%s_leg_start_dist_loc'%(side),mo=True)
cmds.parent('%s_leg_end_dist_loc'%(side),'%s_ik_leg_ctrl'%(side))
cmds.setAttr('%s_leg_strecth_option_mult.input2X'%(side),2)
# the command to change the progress bar
cmds.progressBar('EugenesProgressBar', edit=True, step=1)
StrechyLegSetup('l')
StrechyLegSetup('r')
def legJointGroup():
cmds.group(n='l_leg_jnt_grp',em=True)
cmds.group(n='r_leg_jnt_grp',em=True)
cmds.group(n='leg_jnt_grp',em=True)
cmds.group(n='leg_bendy_setup_grp',em=True)
listOfJnt = [('r_leg_01_bln_jnt','r_leg_jnt_grp'),('l_bendy_leg_jnt_grp','l_leg_jnt_grp'),('r_bendy_leg_jnt_grp','r_leg_jnt_grp'),('l_upr_leg_bendy_setup_grp','leg_bendy_setup_grp'),('l_lwr_leg_bendy_setup_grp','leg_bendy_setup_grp'),('r_upr_leg_bendy_setup_grp','leg_bendy_setup_grp'),('r_lwr_leg_bendy_setup_grp','leg_bendy_setup_grp'),('l_leg_01_bln_jnt','l_leg_jnt_grp'),('l_leg_jnt_grp','leg_jnt_grp'),('r_leg_jnt_grp','leg_jnt_grp'),('l_fk_leg_01_jnt','l_leg_jnt_grp'),('r_fk_leg_01_jnt','r_leg_jnt_grp'),('l_upr_bendy_leg_jnt_grp','l_leg_jnt_grp'),('l_lwr_bendy_leg_jnt_grp','l_leg_jnt_grp'),('r_upr_bendy_leg_jnt_grp','r_leg_jnt_grp'),('r_lwr_bendy_leg_jnt_grp','r_leg_jnt_grp'),('l_ik_leg_jnt_grp','l_leg_jnt_grp'),('r_ik_leg_jnt_grp','r_leg_jnt_grp'),('r_leg_length_jnt_grp','r_leg_jnt_grp'),('l_leg_length_jnt_grp','l_leg_jnt_grp')]
for each in listOfJnt:
cmds.parent(each[0],each[1])
legJointGroup()
def noBendyLeg():
def FKlegSetup(side):
nameOfFKlegController = [('%s_fk_leg_01_ctrl'%(side),'%s_fk_leg_01_ctrl_grp'%(side)),('%s_fk_leg_02_ctrl'%(side),'%s_fk_leg_02_ctrl_grp'%(side)),('%s_fk_leg_03_ctrl'%(side),'%s_fk_leg_03_ctrl_grp'%(side)),('%s_fk_leg_04_ctrl'%(side),'%s_fk_leg_04_ctrl_grp'%(side))]
for each in nameOfFKlegController:
cmds.curve(d=1,p=[(0.0, 1.8457071003629746, -6.888272674590291),(0.0, 1.6065215981349992, -5.995620227271308),(0.0, -1.6065234643869502, -5.995624729951774),(0.0, -1.8454397435472047, -6.8872682416730004),(0.0, -5.041829388107622, -5.041831819868864),(0.0, -4.389101595742385, -4.389102497134237),(0.0, -5.995620227271308, -1.6065215981349992),(0.0, -6.888272674590291, -1.8457071003629746),(0.0, -6.8872682416730004, 1.8454397435472047),(0.0, -5.995624729951774, 1.6065234643869502),(0.0, -4.389102497134237, 4.389101595742385),(0.0, -5.041831819868864, 5.041829388107622),(0.0, -1.8457071003629746, 6.888272674590291),(0.0, -1.6065215981349992, 5.995620227271308),(0.0, 1.6065234643869502, 5.995624729951774),(0.0, 1.8454397435472047, 6.8872682416730004),(0.0, 5.041829388107622, 5.041831819868864),(0.0, 4.389101595742385, 4.389102497134237),(0.0, 5.995620227271308, 1.6065215981349992),(0.0, 6.888272674590291, 1.8457071003629746),(0.0, 6.8872682416730004, -1.8454397435472047),(0.0, 5.995624729951774, -1.6065234643869502),(0.0, 4.389102497134237, -4.389101595742385),(0.0, 5.041831819868864, -5.041829388107622),(0.0, 1.8457071003629746, -6.888272674590291)])
cmds.rename(each[0])
cmds.group(n=each[1])
createJoint = ['%s_fk_leg_01_jnt'%(side),'%s_fk_leg_02_jnt'%(side),'%s_fk_leg_03_jnt'%(side),'%s_fk_leg_04_jnt'%(side)]
for each in createJoint:
cmds.joint(n=each)
toGetFKlegPos = [('%s_leg_01_setup'%(side),'%s_fk_leg_01_ctrl_grp'%(side)),('%s_leg_02_setup'%(side),'%s_fk_leg_02_ctrl_grp'%(side)),('%s_leg_03_setup'%(side),'%s_fk_leg_03_ctrl_grp'%(side)),('%s_leg_04_setup'%(side),'%s_fk_leg_04_ctrl_grp'%(side)),('%s_leg_01_setup'%(side),'%s_fk_leg_01_jnt'%(side)),('%s_leg_02_setup'%(side),'%s_fk_leg_02_jnt'%(side)),('%s_leg_03_setup'%(side),'%s_fk_leg_03_jnt'%(side)),('%s_leg_04_setup'%(side),'%s_fk_leg_04_jnt'%(side))]
for each in toGetFKlegPos:
forDel = cmds.parentConstraint(each[0],each[1],mo=False)
cmds.delete(forDel)
cmds.makeIdentity('%s_fk_leg_01_jnt'%(side),apply=True,rotate=True)
toParentCon = [('%s_fk_leg_01_ctrl'%(side),'%s_fk_leg_01_jnt'%(side)),('%s_fk_leg_02_ctrl'%(side),'%s_fk_leg_02_jnt'%(side)),('%s_fk_leg_03_ctrl'%(side),'%s_fk_leg_03_jnt'%(side)),('%s_fk_leg_04_ctrl'%(side),'%s_fk_leg_04_jnt'%(side)),('spine_01_bln_jnt','%s_fk_leg_01_ctrl_grp'%(side))]
for each in toParentCon:
cmds.parentConstraint(each[0],each[1],mo=True)
toParent = [('%s_fk_leg_01_ctrl_grp'%(side),'world_ctrl'),('%s_fk_leg_02_ctrl_grp'%(side),'%s_fk_leg_01_ctrl'%(side)),('%s_fk_leg_03_ctrl_grp'%(side), '%s_fk_leg_02_ctrl'%(side)),('%s_fk_leg_04_ctrl_grp'%(side),'%s_fk_leg_03_ctrl'%(side))]
for each in toParent:
cmds.parent(each[0],each[1])
toSetAttr = [('%s_fk_leg_01_ctrl'%(side)),('%s_fk_leg_02_ctrl'%(side)),('%s_fk_leg_03_ctrl'%(side)),('%s_fk_leg_04_ctrl'%(side))]
for each in toSetAttr:
cmds.setAttr (each+'.visibility',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.scaleX',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.scaleY',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.scaleZ',keyable = False, cb = False, lock = True)
cmds.setAttr (each+'.overrideEnabled' ,True)
cmds.setAttr (each+'.overrideColor' ,6)
FKlegSetup('l')
FKlegSetup('r')



Comments