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