Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import maya.cmds as cmds
- class Dummy:
- def __init__(self):
- pass
- def build(self, *args):
- nSide = 'L_'
- nJnt = '_JNT'
- nIK = '_IK'
- nFK = '_FK'
- nNB = '_NB'
- nRL = '_RL'
- nGrp = '_GRP'
- nSDK = '_SDK'
- n0 = '_0'
- nCrv = '_CRV'
- nClst = '_CLST'
- nLoc = '_LOC'
- # RIGGING UTILITIES
- def crLocs(lPos, lName):
- '''
- creates self.locators, specify position then name, eg. crLocs((0,0,0), 'testLoc')
- '''
- locate = cmds.spaceLocator(n = nSide + lName + nLoc)[0]
- cmds.move(lPos[0], lPos[1], lPos[2])
- return locate
- def crGrp(objX, nameX):
- grp = cmds.group(objX, n = nSide + nameX + nGrp)
- return grp
- def crDup(objZ, nameZ):
- dupe = cmds.duplicate(objZ, n = nSide + nameZ + nLoc)[0]
- return dupe
- def crInst(objY, nameY):
- inst = cmds.instance(objY, n = nSide + nameY + nGrp)
- return inst
- def crCrv(objA, objB):
- '''
- creates a curve from one object to another, give object A then object B
- '''
- pointA = cmds.xform(objA, ws = True, q = True, t = True)
- pointB = cmds.xform(objB, ws = True, q = True, t = True)
- curveLoc = cmds.curve(d = 1, p = [(pointA), (pointB)], n = nSide + objA + '_' + objB + nCrv)
- clstA = cmds.cluster(curveLoc + '.cv[0]', n = nSide + objA + nClst)[1]
- clstAGrp = cmds.group(clstA, n = clstA + nGrp)
- cmds.parentConstraint(objA, clstA, mo = True)
- cmds.setAttr(clstA + '.visibility', 0)
- clstB = cmds.cluster(curveLoc + '.cv[1]', n = nSide + objA + nClst)[1]
- clstBGrp = cmds.group(clstB, n = clstB + nGrp)
- cmds.parentConstraint(objB, clstB, mo = True)
- cmds.setAttr(clstB + '.visibility', 0)
- cmds.setAttr(curveLoc + '.template', 1)
- cmds.parent(curveLoc, clstBGrp, clstAGrp, tempSideCurves)
- return curveLoc
- ### GENERATE HIERARCHIES
- self.charName = cmds.textFieldGrp(self.charNameUI, q = True, tx = True) + '_'
- if not cmds.objExists('*rootNode_GRP'):
- rootNode = cmds.group(em = True, n=charName + 'rootNode_GRP')
- else:
- cmds.error('Hierarchy Exists - Clean up your Scene')
- self.grpNodes = {}
- ctrlNode = cmds.group(em = True, n=charName + 'ctrl_GRP')
- self.grpNodes['ctrlNode'] = ctrlNode
- rigNode = cmds.group(em = True, n=charName + 'rig_GRP_doNotTouch')
- self.grpNodes['rigNode'] = rigNode
- geoNode = cmds.group(em = True, n=charName + 'geo_GRP')
- self.grpNodes['geoNode'] = geoNode
- extrasNode = cmds.group(em = True, n=charName + 'extras_GRP')
- self.grpNodes['extrasNode'] = extrasNode
- crvNode = cmds.group(em = True, n=charName + 'crv_GRP')
- self.grpNodes['crvNode'] = crvNode
- ikHNode = cmds.group(em = True, n=charName + 'ikH_GRP')
- self.grpNodes['ikHNode'] = ikHNode
- skelNode = cmds.group(em = True, n=charName + 'skeleton_GRP')
- self.grpNodes['skelNode'] = skelNode
- tempDummy = cmds.group(em = True, n=charName + 'dummy_GRP')
- self.grpNodes['tempDummy'] = tempDummy
- tempLocs = cmds.group(em = True, n=charName + 'dummy_locs_GRP')
- self.grpNodes['tempLocs'] = tempLocs
- tempSideCurves = cmds.group(em = True, n=charName + 'dummy_side_curves_GRP_DONOTTOUCH')
- self.grpNodes['tempSideCurves'] = tempSideCurves
- cmds.parent(ctrlNode, rigNode, rootNode)
- cmds.parent(skelNode, geoNode, extrasNode, rigNode)
- cmds.parent(ikHNode, crvNode, extrasNode)
- cmds.parent(tempLocs, tempSideCurves, tempDummy)
- self.globalCtrl = cmds.circle(radius = 10, nr = (0,1,0), n=charName + 'globalControl_ctrl', ch = False)[0]
- cmds.setAttr(self.globalCtrl + '.translateX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(self.globalCtrl + '.translateY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(self.globalCtrl + '.translateZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(self.globalCtrl + '.rotateX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(self.globalCtrl + '.rotateY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(self.globalCtrl + '.rotateZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(self.globalCtrl + '.visibility', lock = True, keyable = False, channelBox = False)
- self.gScale = cmds.addAttr(self.globalCtrl, ln = 'globalScale', at = 'double', min = 0.0000001, dv = 1)
- cmds.setAttr(self.globalCtrl + '.globalScale', e = True, keyable = True)
- cmds.connectAttr(self.globalCtrl + '.globalScale', self.globalCtrl + '.scaleX')
- cmds.connectAttr(self.globalCtrl + '.globalScale', self.globalCtrl + '.scaleY')
- cmds.connectAttr(self.globalCtrl + '.globalScale', self.globalCtrl + '.scaleZ')
- cmds.setAttr(self.globalCtrl + '.scaleX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(self.globalCtrl + '.scaleY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(self.globalCtrl + '.scaleZ', lock = True, keyable = False, channelBox = False)
- self.layerNodes = {}
- rigLayer = cmds.createDisplayLayer(n = '_rig_DONOTTOUCH', empty = True)
- self.layerNodes['rigLayer'] = rigLayer
- geoLayer = cmds.createDisplayLayer(n = '_geo', empty = True)
- self.layerNodes['geoLayer'] = geoLayer
- rightControlsLayer = cmds.createDisplayLayer(n = '_rightControls', empty = True)
- self.layerNodes['rightControlsLayer'] = rightControlsLayer
- cmds.setAttr(rightControlsLayer + '.color', 4)
- leftControlsLayer = cmds.createDisplayLayer(n = '_leftControls', empty = True)
- self.layerNodes['leftControlsLayer'] = leftControlsLayer
- cmds.setAttr(leftControlsLayer + '.color', 29)
- centerControlsLayer = cmds.createDisplayLayer(n = '_centerControls', empty = True)
- self.layerNodes['centerControlsLayer'] = centerControlsLayer
- cmds.setAttr(centerControlsLayer + '.color', 22)
- cmds.editDisplayLayerMembers(centerControlsLayer, self.globalCtrl)
- cmds.parentConstraint(self.globalCtrl, tempLocs, mo = True)
- cmds.scaleConstraint(self.globalCtrl, tempLocs, mo = True)
- ### LIST FOR ALL self.locators
- self.locators = {}
- ### CREATE SPINE LOCS
- nSide = ''
- rootLocs = {}
- self.locators['rootLocs'] = rootLocs
- hips = crLocs((0,10,0), 'hips')
- rootLocs['hips'] = hips
- chest = crLocs((0,23,0), 'chest')
- rootLocs['chest'] = chest
- ### CREATE LEFT ARM LOCS
- nSide = 'L_'
- leftArmLocs = {}
- self.locators['leftArmLocs'] = leftArmLocs
- lClav = crLocs((3,23.5,0), 'clav')
- leftArmLocs['lClav'] = lClav
- lShldr = crLocs((5,25,0), 'shldr')
- leftArmLocs['lShldr'] = lShldr
- lElbow = crLocs((10,25,0), 'elbow')
- leftArmLocs['lElbow'] = lElbow
- lWrist = crLocs((15,25,0), 'wrist')
- leftArmLocs['lWrist'] = lWrist
- ### CREATE LEFT HAND LOCS
- # index
- lIndA = crLocs((18,25,2), 'indA')
- leftArmLocs['lIndA'] = lIndA
- lIndB = crLocs((19,25,2), 'indB')
- leftArmLocs['lIndB'] = lIndB
- lIndC = crLocs((20,25,2), 'indC')
- leftArmLocs['lIndC'] = lIndC
- lIndD = crLocs((21,25,2), 'indD')
- leftArmLocs['lIndD'] = lIndD
- # middle
- if cmds.radioButtonGrp('fingRadio', q = True, sl = True) >=2:
- lMidA = crLocs((18,25,1), 'midA')
- leftArmLocs['lMidA'] = lMidA
- lMidB = crLocs((19,25,1), 'midB')
- leftArmLocs['lMidB'] = lMidB
- lMidC = crLocs((20,25,1), 'midC')
- leftArmLocs['lMidC'] = lMidC
- lMidD = crLocs((21,25,1), 'midD')
- leftArmLocs['lMidD'] = lMidD
- # ring
- if cmds.radioButtonGrp('fingRadio', q = True, sl = True) >=3:
- lRngA = crLocs((18,25,0), 'rngA')
- leftArmLocs['lRngA'] = lRngA
- lRngB = crLocs((19,25,0), 'rngB')
- leftArmLocs['lRngB'] = lRngB
- lRngC = crLocs((20,25,0), 'rngC')
- leftArmLocs['lRngC'] = lRngC
- lRngD = crLocs((21,25,0), 'rngD')
- leftArmLocs['lRngD'] = lRngD
- # pinky
- if cmds.radioButtonGrp('fingRadio', q = True, sl = True) >=4:
- lPnkA = crLocs((18,25,-1), 'pnkA')
- leftArmLocs['lPnkA'] = lPnkA
- lPnkB = crLocs((19,25,-1), 'pnkB')
- leftArmLocs['lPnkB'] = lPnkB
- lPnkC = crLocs((20,25,-1), 'pnkC')
- leftArmLocs['lPnkC'] = lPnkC
- lPnkD = crLocs((21,25,-1), 'pnkD')
- leftArmLocs['lPnkD'] = lPnkD
- # thumb
- lThbA = crLocs((16.5,25,2), 'thbA')
- leftArmLocs['lThbA'] = lThbA
- lThbB = crLocs((16.5,25,3), 'thbB')
- leftArmLocs['lThbB'] = lThbB
- lThbC = crLocs((16.5,25,4), 'thbC')
- leftArmLocs['lThbC'] = lThbC
- lThbD = crLocs((16.5,25,5), 'thbD')
- leftArmLocs['lThbD'] = lThbD
- ### CREATE LEFT LEG LOCS
- leftLegLocs = {}
- self.locators['leftLegLocs'] = leftLegLocs
- lHip = crLocs((4,10,0), 'hip')
- leftLegLocs['lHip'] = lHip
- lKnee = crLocs((4,6,0), 'knee')
- leftLegLocs['lKnee'] = lKnee
- lAnkle = crLocs((4,2,0), 'ankle')
- leftLegLocs['lAnkle'] = lAnkle
- lBall = crLocs((4,1,2), 'ball')
- leftLegLocs['lBall'] = lBall
- lToe = crLocs((4,0,4), 'toe')
- leftLegLocs['lToe'] = lToe
- lHeel = crLocs((4,0,0), 'heel')
- leftLegLocs['lHeel'] = lHeel
- ### CREATE RIGHT ARM INSTANCE LOCS
- nSide = 'R_'
- rightArmLocs = []
- self.locators['rightArmLocs'] = rightArmLocs
- ### MIRROR
- rClav = crDup(lClav, 'clav')
- rightArmLocs.append(rClav)
- rShldr = crDup(lShldr, 'shldr')
- rightArmLocs.append(rShldr)
- rElbow = crDup(lElbow, 'elbow')
- rightArmLocs.append(rElbow)
- rWrist = crDup(lWrist, 'wrist')
- rightArmLocs.append(rWrist)
- rIndA = crDup(lIndA, 'indA')
- rightArmLocs.append(rIndA)
- rIndB = crDup(lIndB, 'indB')
- rightArmLocs.append(rIndB)
- rIndC = crDup(lIndC, 'indC')
- rightArmLocs.append(rIndC)
- rIndD = crDup(lIndD, 'indD')
- rightArmLocs.append(rIndD)
- try:
- rMidA = crDup(lMidA, 'midA')
- rightArmLocs.append(rMidA)
- rMidB = crDup(lMidB, 'midB')
- rightArmLocs.append(rMidB)
- rMidC = crDup(lMidC, 'midC')
- rightArmLocs.append(rMidC)
- rMidD = crDup(lMidD, 'midD')
- rightArmLocs.append(rMidD)
- except NameError:
- pass
- try:
- rRngA = crDup(lRngA, 'rngA')
- rightArmLocs.append(rRngA)
- rRngB = crDup(lRngB, 'rngB')
- rightArmLocs.append(rRngB)
- rRngC = crDup(lRngC, 'rngC')
- rightArmLocs.append(rRngC)
- rRngD = crDup(lRngD, 'rngD')
- rightArmLocs.append(rRngD)
- except NameError:
- pass
- try:
- rPnkA = crDup(lPnkA, 'pnkA')
- rightArmLocs.append(rPnkA)
- rPnkB = crDup(lPnkB, 'pnkB')
- rightArmLocs.append(rPnkB)
- rPnkC = crDup(lPnkC, 'pnkC')
- rightArmLocs.append(rPnkC)
- rPnkD = crDup(lPnkD, 'pnkD')
- rightArmLocs.append(rPnkD)
- except NameError:
- pass
- rThbA = crDup(lThbA, 'thbA')
- rightArmLocs.append(rThbA)
- rThbB = crDup(lThbB, 'thbB')
- rightArmLocs.append(rThbB)
- rThbC = crDup(lThbC, 'thbC')
- rightArmLocs.append(rThbC)
- rThbD = crDup(lThbD, 'thbD')
- rightArmLocs.append(rThbD)
- rightLegLocs = []
- self.locators['rightLegLocs'] = rightLegLocs
- rHip = crDup(lHip, 'hip')
- rightLegLocs.append(rHip)
- rKnee = crDup(lKnee, 'knee')
- rightLegLocs.append(rKnee)
- rAnkle = crDup(lAnkle, 'ankle')
- rightLegLocs.append(rAnkle)
- rBall = crDup(lBall, 'ball')
- rightLegLocs.append(rBall)
- rToe = crDup(lToe, 'toe')
- rightLegLocs.append(rToe)
- rHeel = crDup(lHeel, 'heel')
- rightLegLocs.append(rHeel)
- nSide = 'L_'
- ### set attributes on self.locators
- print leftArmLocs
- print leftArmLocs.iterkeys
- for sc in leftArmLocs.iterkeys():
- cmds.setAttr(leftArmLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(leftArmLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(leftArmLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(leftArmLocs[sc] + '.visibility', lock = True, keyable = False)
- for loc in leftArmLocs.iterkeys():
- locShapes = cmds.listRelatives(leftArmLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 14)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- for sc in rightArmLocs:
- cmds.setAttr(sc + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(sc + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(sc + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(sc + '.visibility', lock = True, keyable = False)
- cmds.setAttr(sc + '.template', 1)
- for loc in rightArmLocs:
- locShapes = cmds.listRelatives(loc, shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 14)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- for sc in rootLocs.iterkeys():
- cmds.setAttr(rootLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(rootLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(rootLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(rootLocs[sc] + '.visibility', lock = True, keyable = False)
- for loc in rootLocs.iterkeys():
- locShapes = cmds.listRelatives(rootLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 6)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- for sc in leftLegLocs.iterkeys():
- cmds.setAttr(leftLegLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(leftLegLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(leftLegLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(leftLegLocs[sc] + '.visibility', lock = True, keyable = False)
- for loc in leftLegLocs:
- locShapes = cmds.listRelatives(leftLegLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 13)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- for sc in rightLegLocs:
- cmds.setAttr(sc + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(sc + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(sc + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(sc + '.visibility', lock = True, keyable = False)
- cmds.setAttr(sc + '.template', 1)
- for loc in rightLegLocs:
- locShapes = cmds.listRelatives(loc, shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 13)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- ### PARENTING ###
- cmds.parent(lClav, chest)
- cmds.parent(lShldr, chest)
- cmds.parent(lElbow, lShldr)
- cmds.parent(lWrist, lElbow)
- cmds.parent(lIndA, lWrist)
- cmds.parent(lIndB, lIndA)
- cmds.parent(lIndC, lIndB)
- cmds.parent(lIndD, lIndC)
- try:
- cmds.parent(lMidA, lWrist)
- except NameError:
- pass
- try:
- cmds.parent(lMidB, lMidA)
- except NameError:
- pass
- try:
- cmds.parent(lMidC, lMidB)
- except NameError:
- pass
- try:
- cmds.parent(lMidD, lMidC)
- except NameError:
- pass
- try:
- cmds.parent(lRngA, lWrist)
- except NameError:
- pass
- try:
- cmds.parent(lRngB, lRngA)
- except NameError:
- pass
- try:
- cmds.parent(lRngC, lRngB)
- except NameError:
- pass
- try:
- cmds.parent(lRngD, lRngC)
- except NameError:
- pass
- try:
- cmds.parent(lPnkA, lWrist)
- except NameError:
- pass
- try:
- cmds.parent(lPnkB, lPnkA)
- except NameError:
- pass
- try:
- cmds.parent(lPnkC, lPnkB)
- except NameError:
- pass
- try:
- cmds.parent(lPnkD, lPnkC)
- except NameError:
- pass
- cmds.parent(lThbA, lWrist)
- cmds.parent(lThbB, lThbA)
- cmds.parent(lThbC, lThbB)
- cmds.parent(lThbD, lThbC)
- cmds.parent(lHip, hips)
- cmds.parent(lKnee, lHip)
- cmds.parent(lAnkle, lHip)
- cmds.parent(lBall, lAnkle)
- cmds.parent(lToe, lBall)
- cmds.parent(lHeel, lToe)
- cmds.parent(rClav, chest)
- cmds.parent(rShldr, chest)
- cmds.parent(rElbow, rShldr)
- cmds.parent(rWrist, rElbow)
- cmds.parent(rIndA, rWrist)
- cmds.parent(rIndB, rIndA)
- cmds.parent(rIndC, rIndB)
- cmds.parent(rIndD, rIndC)
- try:
- cmds.parent(rMidA, rWrist)
- except NameError:
- pass
- try:
- cmds.parent(rMidB, rMidA)
- except NameError:
- pass
- try:
- cmds.parent(rMidC, rMidB)
- except NameError:
- pass
- try:
- cmds.parent(rMidD, rMidC)
- except NameError:
- pass
- try:
- cmds.parent(rRngA, rWrist)
- except NameError:
- pass
- try:
- cmds.parent(rRngB, rRngA)
- except NameError:
- pass
- try:
- cmds.parent(rRngC, rRngB)
- except NameError:
- pass
- try:
- cmds.parent(rRngD, rRngC)
- except NameError:
- pass
- try:
- cmds.parent(rPnkA, rWrist)
- except NameError:
- pass
- try:
- cmds.parent(rPnkB, rPnkA)
- except NameError:
- pass
- try:
- cmds.parent(rPnkC, rPnkB)
- except NameError:
- pass
- try:
- cmds.parent(rPnkD, rPnkC)
- except NameError:
- pass
- cmds.parent(rThbA, rWrist)
- cmds.parent(rThbB, rThbA)
- cmds.parent(rThbC, rThbB)
- cmds.parent(rThbD, rThbC)
- cmds.parent(rHip, hips)
- cmds.parent(rKnee, rHip)
- cmds.parent(rAnkle, rHip)
- cmds.parent(rBall, rAnkle)
- cmds.parent(rToe, rBall)
- cmds.parent(rHeel, rToe)
- cmds.parent(chest, hips)
- cmds.parent(hips, tempLocs)
- cmds.parent(self.globalCtrl, ctrlNode)
- ###
- ###
- ###
- ### HOOKING UP MULTIPLY DIVIDES ###
- ###
- ###
- ###
- ###
- self.killM = []
- # clavicle
- tranMDrClav = cmds.shadingNode('multiplyDivide', asUtility = True, n = rClav + '_translate' + '_md')
- rotMDrClav = cmds.shadingNode('multiplyDivide', asUtility = True, n = rClav + '_rotate' + '_md')
- scaleMDrClav = cmds.shadingNode('multiplyDivide', asUtility = True, n = rClav + '_scale' + '_md')
- self.killM.append(tranMDrClav)
- self.killM.append(rotMDrClav)
- self.killM.append(scaleMDrClav)
- cmds.setAttr(tranMDrClav + '.input2X', -1)
- cmds.setAttr(rotMDrClav + '.input2Z', -1)
- cmds.setAttr(rotMDrClav + '.input2Y', -1)
- cmds.connectAttr(lClav + '.translate', tranMDrClav + '.input1', force = True)
- cmds.connectAttr(tranMDrClav + '.output', rClav + '.translate', force = True)
- cmds.connectAttr(lClav + '.rotate', rotMDrClav + '.input1', force = True)
- cmds.connectAttr(rotMDrClav + '.output', rClav + '.rotate', force = True)
- cmds.connectAttr(lClav + '.scale', scaleMDrClav + '.input1', force = True)
- cmds.connectAttr(scaleMDrClav + '.output', rClav + '.scale', force = True)
- # shoulder
- tranMDrShldr = cmds.shadingNode('multiplyDivide', asUtility = True, n = rShldr + '_translate' + '_md')
- rotMDrShldr = cmds.shadingNode('multiplyDivide', asUtility = True, n = rShldr + '_rotate' + '_md')
- scaleMDrShldr = cmds.shadingNode('multiplyDivide', asUtility = True, n = rShldr + '_scale' + '_md')
- self.killM.append(tranMDrShldr)
- self.killM.append(rotMDrShldr)
- self.killM.append(scaleMDrShldr)
- cmds.setAttr(tranMDrShldr + '.input2X', -1)
- cmds.setAttr(rotMDrShldr + '.input2Z', -1)
- cmds.setAttr(rotMDrShldr + '.input2Y', -1)
- cmds.connectAttr(lShldr + '.translate', tranMDrShldr + '.input1', force = True)
- cmds.connectAttr(tranMDrShldr + '.output', rShldr + '.translate', force = True)
- cmds.connectAttr(lShldr + '.rotate', rotMDrShldr + '.input1', force = True)
- cmds.connectAttr(rotMDrShldr + '.output', rShldr + '.rotate', force = True)
- cmds.connectAttr(lShldr + '.scale', scaleMDrShldr + '.input1', force = True)
- cmds.connectAttr(scaleMDrShldr + '.output', rShldr + '.scale', force = True)
- # elbow
- tranMDrElbow = cmds.shadingNode('multiplyDivide', asUtility = True, n = rElbow + '_translate' + '_md')
- rotMDrElbow = cmds.shadingNode('multiplyDivide', asUtility = True, n = rElbow + '_rotate' + '_md')
- scaleMDrElbow = cmds.shadingNode('multiplyDivide', asUtility = True, n = rElbow + '_scale' + '_md')
- self.killM.append(tranMDrElbow)
- self.killM.append(rotMDrElbow)
- self.killM.append(scaleMDrElbow)
- cmds.setAttr(tranMDrElbow + '.input2X', -1)
- cmds.setAttr(rotMDrElbow + '.input2Z', -1)
- cmds.setAttr(rotMDrElbow + '.input2Y', -1)
- cmds.connectAttr(lElbow + '.translate', tranMDrElbow + '.input1', force = True)
- cmds.connectAttr(tranMDrElbow + '.output', rElbow + '.translate', force = True)
- cmds.connectAttr(lElbow + '.rotate', rotMDrElbow + '.input1', force = True)
- cmds.connectAttr(rotMDrElbow + '.output', rElbow + '.rotate', force = True)
- cmds.connectAttr(lElbow + '.scale', scaleMDrElbow + '.input1', force = True)
- cmds.connectAttr(scaleMDrElbow + '.output', rElbow + '.scale', force = True)
- # wrist
- tranMDrWrist = cmds.shadingNode('multiplyDivide', asUtility = True, n = rWrist + '_translate' + '_md')
- rotMDrWrist = cmds.shadingNode('multiplyDivide', asUtility = True, n = rWrist + '_rotate' + '_md')
- scaleMDrWrist = cmds.shadingNode('multiplyDivide', asUtility = True, n = rWrist + '_scale' + '_md')
- self.killM.append(tranMDrWrist)
- self.killM.append(rotMDrWrist)
- self.killM.append(scaleMDrWrist)
- cmds.setAttr(tranMDrWrist + '.input2X', -1)
- cmds.setAttr(rotMDrWrist + '.input2Z', -1)
- cmds.setAttr(rotMDrWrist + '.input2Y', -1)
- cmds.connectAttr(lWrist + '.translate', tranMDrWrist + '.input1', force = True)
- cmds.connectAttr(tranMDrWrist + '.output', rWrist + '.translate', force = True)
- cmds.connectAttr(lWrist + '.rotate', rotMDrWrist + '.input1', force = True)
- cmds.connectAttr(rotMDrWrist + '.output', rWrist + '.rotate', force = True)
- cmds.connectAttr(lWrist + '.scale', scaleMDrWrist + '.input1', force = True)
- cmds.connectAttr(scaleMDrWrist + '.output', rWrist + '.scale', force = True)
- # indA
- tranMDrIndA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndA + '_translate' + '_md')
- rotMDrIndA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndA + '_rotate' + '_md')
- scaleMDrIndA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndA + '_scale' + '_md')
- self.killM.append(tranMDrIndA)
- self.killM.append(rotMDrIndA)
- self.killM.append(scaleMDrIndA)
- cmds.setAttr(tranMDrIndA + '.input2X', -1)
- cmds.setAttr(rotMDrIndA + '.input2Z', -1)
- cmds.setAttr(rotMDrIndA + '.input2Y', -1)
- cmds.connectAttr(lIndA + '.translate', tranMDrIndA + '.input1', force = True)
- cmds.connectAttr(tranMDrIndA + '.output', rIndA + '.translate', force = True)
- cmds.connectAttr(lIndA + '.rotate', rotMDrIndA + '.input1', force = True)
- cmds.connectAttr(rotMDrIndA + '.output', rIndA + '.rotate', force = True)
- cmds.connectAttr(lIndA + '.scale', scaleMDrIndA + '.input1', force = True)
- cmds.connectAttr(scaleMDrIndA + '.output', rIndA + '.scale', force = True)
- # indB
- tranMDrIndB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndB + '_translate' + '_md')
- rotMDrIndB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndB + '_rotate' + '_md')
- scaleMDrIndB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndB + '_scale' + '_md')
- self.killM.append(tranMDrIndB)
- self.killM.append(rotMDrIndB)
- self.killM.append(scaleMDrIndB)
- cmds.setAttr(tranMDrIndB + '.input2X', -1)
- cmds.setAttr(rotMDrIndB + '.input2Z', -1)
- cmds.setAttr(rotMDrIndB + '.input2Y', -1)
- cmds.connectAttr(lIndB + '.translate', tranMDrIndB + '.input1', force = True)
- cmds.connectAttr(tranMDrIndB + '.output', rIndB + '.translate', force = True)
- cmds.connectAttr(lIndB + '.rotate', rotMDrIndB + '.input1', force = True)
- cmds.connectAttr(rotMDrIndB + '.output', rIndB + '.rotate', force = True)
- cmds.connectAttr(lIndB + '.scale', scaleMDrIndB + '.input1', force = True)
- cmds.connectAttr(scaleMDrIndB + '.output', rIndB + '.scale', force = True)
- # ind C
- tranMDrIndC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndC + '_translate' + '_md')
- rotMDrIndC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndC + '_rotate' + '_md')
- scaleMDrIndC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndC + '_scale' + '_md')
- self.killM.append(tranMDrIndC)
- self.killM.append(rotMDrIndC)
- self.killM.append(scaleMDrIndC)
- cmds.setAttr(tranMDrIndC + '.input2X', -1)
- cmds.setAttr(rotMDrIndC + '.input2Z', -1)
- cmds.setAttr(rotMDrIndC + '.input2Y', -1)
- cmds.connectAttr(lIndC + '.translate', tranMDrIndC + '.input1', force = True)
- cmds.connectAttr(tranMDrIndC + '.output', rIndC + '.translate', force = True)
- cmds.connectAttr(lIndC + '.rotate', rotMDrIndC + '.input1', force = True)
- cmds.connectAttr(rotMDrIndC + '.output', rIndC + '.rotate', force = True)
- cmds.connectAttr(lIndC + '.scale', scaleMDrIndC + '.input1', force = True)
- cmds.connectAttr(scaleMDrIndC + '.output', rIndC + '.scale', force = True)
- # ind D
- tranMDrIndD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndD + '_translate' + '_md')
- rotMDrIndD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndD + '_rotate' + '_md')
- scaleMDrIndD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rIndD + '_scale' + '_md')
- self.killM.append(tranMDrIndD)
- self.killM.append(rotMDrIndD)
- self.killM.append(scaleMDrIndD)
- cmds.setAttr(tranMDrIndD + '.input2X', -1)
- cmds.setAttr(rotMDrIndD + '.input2Z', -1)
- cmds.setAttr(rotMDrIndD + '.input2Y', -1)
- cmds.connectAttr(lIndD + '.translate', tranMDrIndD + '.input1', force = True)
- cmds.connectAttr(tranMDrIndD + '.output', rIndD + '.translate', force = True)
- cmds.connectAttr(lIndD + '.rotate', rotMDrIndD + '.input1', force = True)
- cmds.connectAttr(rotMDrIndD + '.output', rIndD + '.rotate', force = True)
- cmds.connectAttr(lIndD + '.scale', scaleMDrIndD + '.input1', force = True)
- cmds.connectAttr(scaleMDrIndD + '.output', rIndD + '.scale', force = True)
- # mid A
- try:
- tranMDrMidA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidA + '_translate' + '_md')
- rotMDrMidA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidA + '_rotate' + '_md')
- scaleMDrMidA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidA + '_scale' + '_md')
- self.killM.append(tranMDrMidA)
- self.killM.append(rotMDrMidA)
- self.killM.append(scaleMDrMidA)
- cmds.setAttr(tranMDrMidA + '.input2X', -1)
- cmds.setAttr(rotMDrMidA + '.input2Z', -1)
- cmds.setAttr(rotMDrMidA + '.input2Y', -1)
- cmds.connectAttr(lMidA + '.translate', tranMDrMidA + '.input1', force = True)
- cmds.connectAttr(tranMDrMidA + '.output', rMidA + '.translate', force = True)
- cmds.connectAttr(lMidA + '.rotate', rotMDrMidA + '.input1', force = True)
- cmds.connectAttr(rotMDrMidA + '.output', rMidA + '.rotate', force = True)
- cmds.connectAttr(lMidA + '.scale', scaleMDrMidA + '.input1', force = True)
- cmds.connectAttr(scaleMDrMidA + '.output', rMidA + '.scale', force = True)
- except NameError:
- pass
- # MidB
- try:
- tranMDrMidB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidB + '_translate' + '_md')
- rotMDrMidB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidB + '_rotate' + '_md')
- scaleMDrMidB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidB + '_scale' + '_md')
- self.killM.append(tranMDrMidB)
- self.killM.append(rotMDrMidB)
- self.killM.append(scaleMDrMidB)
- cmds.setAttr(tranMDrMidB + '.input2X', -1)
- cmds.setAttr(rotMDrMidB + '.input2Z', -1)
- cmds.setAttr(rotMDrMidB + '.input2Y', -1)
- cmds.connectAttr(lMidB + '.translate', tranMDrMidB + '.input1', force = True)
- cmds.connectAttr(tranMDrMidB + '.output', rMidB + '.translate', force = True)
- cmds.connectAttr(lMidB + '.rotate', rotMDrMidB + '.input1', force = True)
- cmds.connectAttr(rotMDrMidB + '.output', rMidB + '.rotate', force = True)
- cmds.connectAttr(lMidB + '.scale', scaleMDrMidB + '.input1', force = True)
- cmds.connectAttr(scaleMDrMidB + '.output', rMidB + '.scale', force = True)
- except NameError:
- pass
- # Mid C
- try:
- tranMDrMidC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidC + '_translate' + '_md')
- rotMDrMidC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidC + '_rotate' + '_md')
- scaleMDrMidC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidC + '_scale' + '_md')
- self.killM.append(tranMDrMidC)
- self.killM.append(rotMDrMidC)
- self.killM.append(scaleMDrMidC)
- cmds.setAttr(tranMDrMidC + '.input2X', -1)
- cmds.setAttr(rotMDrMidC + '.input2Z', -1)
- cmds.setAttr(rotMDrMidC + '.input2Y', -1)
- cmds.connectAttr(lMidC + '.translate', tranMDrMidC + '.input1', force = True)
- cmds.connectAttr(tranMDrMidC + '.output', rMidC + '.translate', force = True)
- cmds.connectAttr(lMidC + '.rotate', rotMDrMidC + '.input1', force = True)
- cmds.connectAttr(rotMDrMidC + '.output', rMidC + '.rotate', force = True)
- cmds.connectAttr(lMidC + '.scale', scaleMDrMidC + '.input1', force = True)
- cmds.connectAttr(scaleMDrMidC + '.output', rMidC + '.scale', force = True)
- except NameError:
- pass
- # Mid D
- try:
- tranMDrMidD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidD + '_translate' + '_md')
- rotMDrMidD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidD + '_rotate' + '_md')
- scaleMDrMidD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rMidD + '_scale' + '_md')
- self.killM.append(tranMDrMidD)
- self.killM.append(rotMDrMidD)
- self.killM.append(scaleMDrMidD)
- cmds.setAttr(tranMDrMidD + '.input2X', -1)
- cmds.setAttr(rotMDrMidD + '.input2Z', -1)
- cmds.setAttr(rotMDrMidD + '.input2Y', -1)
- cmds.connectAttr(lMidD + '.translate', tranMDrMidD + '.input1', force = True)
- cmds.connectAttr(tranMDrMidD + '.output', rMidD + '.translate', force = True)
- cmds.connectAttr(lMidD + '.rotate', rotMDrMidD + '.input1', force = True)
- cmds.connectAttr(rotMDrMidD + '.output', rMidD + '.rotate', force = True)
- cmds.connectAttr(lMidD + '.scale', scaleMDrMidD + '.input1', force = True)
- cmds.connectAttr(scaleMDrMidD + '.output', rMidD + '.scale', force = True)
- except NameError:
- pass
- # ring A
- try:
- tranMDrRngA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngA + '_translate' + '_md')
- rotMDrRngA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngA + '_rotate' + '_md')
- scaleMDrRngA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngA + '_scale' + '_md')
- self.killM.append(tranMDrRngA)
- self.killM.append(rotMDrRngA)
- self.killM.append(scaleMDrRngA)
- cmds.setAttr(tranMDrRngA + '.input2X', -1)
- cmds.setAttr(rotMDrRngA + '.input2Z', -1)
- cmds.setAttr(rotMDrRngA + '.input2Y', -1)
- cmds.connectAttr(lRngA + '.translate', tranMDrRngA + '.input1', force = True)
- cmds.connectAttr(tranMDrRngA + '.output', rRngA + '.translate', force = True)
- cmds.connectAttr(lRngA + '.rotate', rotMDrRngA + '.input1', force = True)
- cmds.connectAttr(rotMDrRngA + '.output', rRngA + '.rotate', force = True)
- cmds.connectAttr(lRngA + '.scale', scaleMDrRngA + '.input1', force = True)
- cmds.connectAttr(scaleMDrRngA + '.output', rRngA + '.scale', force = True)
- except NameError:
- pass
- # RngB
- try:
- tranMDrRngB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngB + '_translate' + '_md')
- rotMDrRngB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngB + '_rotate' + '_md')
- scaleMDrRngB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngB + '_scale' + '_md')
- self.killM.append(tranMDrRngB)
- self.killM.append(rotMDrRngB)
- self.killM.append(scaleMDrRngB)
- cmds.setAttr(tranMDrRngB + '.input2X', -1)
- cmds.setAttr(rotMDrRngB + '.input2Z', -1)
- cmds.setAttr(rotMDrRngB + '.input2Y', -1)
- cmds.connectAttr(lRngB + '.translate', tranMDrRngB + '.input1', force = True)
- cmds.connectAttr(tranMDrRngB + '.output', rRngB + '.translate', force = True)
- cmds.connectAttr(lRngB + '.rotate', rotMDrRngB + '.input1', force = True)
- cmds.connectAttr(rotMDrRngB + '.output', rRngB + '.rotate', force = True)
- cmds.connectAttr(lRngB + '.scale', scaleMDrRngB + '.input1', force = True)
- cmds.connectAttr(scaleMDrRngB + '.output', rRngB + '.scale', force = True)
- except NameError:
- pass
- # Rng C
- try:
- tranMDrRngC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngC + '_translate' + '_md')
- rotMDrRngC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngC + '_rotate' + '_md')
- scaleMDrRngC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngC + '_scale' + '_md')
- self.killM.append(tranMDrRngC)
- self.killM.append(rotMDrRngC)
- self.killM.append(scaleMDrRngC)
- cmds.setAttr(tranMDrRngC + '.input2X', -1)
- cmds.setAttr(rotMDrRngC + '.input2Z', -1)
- cmds.setAttr(rotMDrRngC + '.input2Y', -1)
- cmds.connectAttr(lRngC + '.translate', tranMDrRngC + '.input1', force = True)
- cmds.connectAttr(tranMDrRngC + '.output', rRngC + '.translate', force = True)
- cmds.connectAttr(lRngC + '.rotate', rotMDrRngC + '.input1', force = True)
- cmds.connectAttr(rotMDrRngC + '.output', rRngC + '.rotate', force = True)
- cmds.connectAttr(lRngC + '.scale', scaleMDrRngC + '.input1', force = True)
- cmds.connectAttr(scaleMDrRngC + '.output', rRngC + '.scale', force = True)
- except NameError:
- pass
- # Rng D
- try:
- tranMDrRngD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngD + '_translate' + '_md')
- rotMDrRngD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngD + '_rotate' + '_md')
- scaleMDrRngD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rRngD + '_scale' + '_md')
- self.killM.append(tranMDrRngD)
- self.killM.append(rotMDrRngD)
- self.killM.append(scaleMDrRngD)
- cmds.setAttr(tranMDrRngD + '.input2X', -1)
- cmds.setAttr(rotMDrRngD + '.input2Z', -1)
- cmds.setAttr(rotMDrRngD + '.input2Y', -1)
- cmds.connectAttr(lRngD + '.translate', tranMDrRngD + '.input1', force = True)
- cmds.connectAttr(tranMDrRngD + '.output', rRngD + '.translate', force = True)
- cmds.connectAttr(lRngD + '.rotate', rotMDrRngD + '.input1', force = True)
- cmds.connectAttr(rotMDrRngD + '.output', rRngD + '.rotate', force = True)
- cmds.connectAttr(lRngD + '.scale', scaleMDrRngD + '.input1', force = True)
- cmds.connectAttr(scaleMDrRngD + '.output', rRngD + '.scale', force = True)
- except NameError:
- pass
- # pinky A
- try:
- tranMDrPnkA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkA + '_translate' + '_md')
- rotMDrPnkA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkA + '_rotate' + '_md')
- scaleMDrPnkA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkA + '_scale' + '_md')
- self.killM.append(tranMDrPnkA)
- self.killM.append(rotMDrPnkA)
- self.killM.append(scaleMDrPnkA)
- cmds.setAttr(tranMDrPnkA + '.input2X', -1)
- cmds.setAttr(rotMDrPnkA + '.input2Z', -1)
- cmds.setAttr(rotMDrPnkA + '.input2Y', -1)
- cmds.connectAttr(lPnkA + '.translate', tranMDrPnkA + '.input1', force = True)
- cmds.connectAttr(tranMDrPnkA + '.output', rPnkA + '.translate', force = True)
- cmds.connectAttr(lPnkA + '.rotate', rotMDrPnkA + '.input1', force = True)
- cmds.connectAttr(rotMDrPnkA + '.output', rPnkA + '.rotate', force = True)
- cmds.connectAttr(lPnkA + '.scale', scaleMDrPnkA + '.input1', force = True)
- cmds.connectAttr(scaleMDrPnkA + '.output', rPnkA + '.scale', force = True)
- except NameError:
- pass
- # PnkB
- try:
- tranMDrPnkB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkB + '_translate' + '_md')
- rotMDrPnkB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkB + '_rotate' + '_md')
- scaleMDrPnkB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkB + '_scale' + '_md')
- self.killM.append(tranMDrPnkB)
- self.killM.append(rotMDrPnkB)
- self.killM.append(scaleMDrPnkB)
- cmds.setAttr(tranMDrPnkB + '.input2X', -1)
- cmds.setAttr(rotMDrPnkB + '.input2Z', -1)
- cmds.setAttr(rotMDrPnkB + '.input2Y', -1)
- cmds.connectAttr(lPnkB + '.translate', tranMDrPnkB + '.input1', force = True)
- cmds.connectAttr(tranMDrPnkB + '.output', rPnkB + '.translate', force = True)
- cmds.connectAttr(lPnkB + '.rotate', rotMDrPnkB + '.input1', force = True)
- cmds.connectAttr(rotMDrPnkB + '.output', rPnkB + '.rotate', force = True)
- cmds.connectAttr(lPnkB + '.scale', scaleMDrPnkB + '.input1', force = True)
- cmds.connectAttr(scaleMDrPnkB + '.output', rPnkB + '.scale', force = True)
- except NameError:
- pass
- # Pnk C
- try:
- tranMDrPnkC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkC + '_translate' + '_md')
- rotMDrPnkC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkC + '_rotate' + '_md')
- scaleMDrPnkC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkC + '_scale' + '_md')
- self.killM.append(tranMDrPnkC)
- self.killM.append(rotMDrPnkC)
- self.killM.append(scaleMDrPnkC)
- cmds.setAttr(tranMDrPnkC + '.input2X', -1)
- cmds.setAttr(rotMDrPnkC + '.input2Z', -1)
- cmds.setAttr(rotMDrPnkC + '.input2Y', -1)
- cmds.connectAttr(lPnkC + '.translate', tranMDrPnkC + '.input1', force = True)
- cmds.connectAttr(tranMDrPnkC + '.output', rPnkC + '.translate', force = True)
- cmds.connectAttr(lPnkC + '.rotate', rotMDrPnkC + '.input1', force = True)
- cmds.connectAttr(rotMDrPnkC + '.output', rPnkC + '.rotate', force = True)
- cmds.connectAttr(lPnkC + '.scale', scaleMDrPnkC + '.input1', force = True)
- cmds.connectAttr(scaleMDrPnkC + '.output', rPnkC + '.scale', force = True)
- except NameError:
- pass
- # Pnk D
- try:
- tranMDrPnkD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkD + '_translate' + '_md')
- rotMDrPnkD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkD + '_rotate' + '_md')
- scaleMDrPnkD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rPnkD + '_scale' + '_md')
- self.killM.append(tranMDrPnkD)
- self.killM.append(rotMDrPnkD)
- self.killM.append(scaleMDrPnkD)
- cmds.setAttr(tranMDrPnkD + '.input2X', -1)
- cmds.setAttr(rotMDrPnkD + '.input2Z', -1)
- cmds.setAttr(rotMDrPnkD + '.input2Y', -1)
- cmds.connectAttr(lPnkD + '.translate', tranMDrPnkD + '.input1', force = True)
- cmds.connectAttr(tranMDrPnkD + '.output', rPnkD + '.translate', force = True)
- cmds.connectAttr(lPnkD + '.rotate', rotMDrPnkD + '.input1', force = True)
- cmds.connectAttr(rotMDrPnkD + '.output', rPnkD + '.rotate', force = True)
- cmds.connectAttr(lPnkD + '.scale', scaleMDrPnkD + '.input1', force = True)
- cmds.connectAttr(scaleMDrPnkD + '.output', rPnkD + '.scale', force = True)
- except NameError:
- pass
- # thumb A
- try:
- tranMDrThbA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbA + '_translate' + '_md')
- rotMDrThbA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbA + '_rotate' + '_md')
- scaleMDrThbA = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbA + '_scale' + '_md')
- self.killM.append(tranMDrThbA)
- self.killM.append(rotMDrThbA)
- self.killM.append(scaleMDrThbA)
- cmds.setAttr(tranMDrThbA + '.input2X', -1)
- cmds.setAttr(rotMDrThbA + '.input2Z', -1)
- cmds.setAttr(rotMDrThbA + '.input2Y', -1)
- cmds.connectAttr(lThbA + '.translate', tranMDrThbA + '.input1', force = True)
- cmds.connectAttr(tranMDrThbA + '.output', rThbA + '.translate', force = True)
- cmds.connectAttr(lThbA + '.rotate', rotMDrThbA + '.input1', force = True)
- cmds.connectAttr(rotMDrThbA + '.output', rThbA + '.rotate', force = True)
- cmds.connectAttr(lThbA + '.scale', scaleMDrThbA + '.input1', force = True)
- cmds.connectAttr(scaleMDrThbA + '.output', rThbA + '.scale', force = True)
- except NameError:
- pass
- # ThbB
- tranMDrThbB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbB + '_translate' + '_md')
- rotMDrThbB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbB + '_rotate' + '_md')
- scaleMDrThbB = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbB + '_scale' + '_md')
- self.killM.append(tranMDrThbB)
- self.killM.append(rotMDrThbB)
- self.killM.append(scaleMDrThbB)
- cmds.setAttr(tranMDrThbB + '.input2X', -1)
- cmds.setAttr(rotMDrThbB + '.input2Z', -1)
- cmds.setAttr(rotMDrThbB + '.input2Y', -1)
- cmds.connectAttr(lThbB + '.translate', tranMDrThbB + '.input1', force = True)
- cmds.connectAttr(tranMDrThbB + '.output', rThbB + '.translate', force = True)
- cmds.connectAttr(lThbB + '.rotate', rotMDrThbB + '.input1', force = True)
- cmds.connectAttr(rotMDrThbB + '.output', rThbB + '.rotate', force = True)
- cmds.connectAttr(lThbB + '.scale', scaleMDrThbB + '.input1', force = True)
- cmds.connectAttr(scaleMDrThbB + '.output', rThbB + '.scale', force = True)
- # Thb C
- tranMDrThbC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbC + '_translate' + '_md')
- rotMDrThbC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbC + '_rotate' + '_md')
- scaleMDrThbC = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbC + '_scale' + '_md')
- self.killM.append(tranMDrThbC)
- self.killM.append(rotMDrThbC)
- self.killM.append(scaleMDrThbC)
- cmds.setAttr(tranMDrThbC + '.input2X', -1)
- cmds.setAttr(rotMDrThbC + '.input2Z', -1)
- cmds.setAttr(rotMDrThbC + '.input2Y', -1)
- cmds.connectAttr(lThbC + '.translate', tranMDrThbC + '.input1', force = True)
- cmds.connectAttr(tranMDrThbC + '.output', rThbC + '.translate', force = True)
- cmds.connectAttr(lThbC + '.rotate', rotMDrThbC + '.input1', force = True)
- cmds.connectAttr(rotMDrThbC + '.output', rThbC + '.rotate', force = True)
- cmds.connectAttr(lThbC + '.scale', scaleMDrThbC + '.input1', force = True)
- cmds.connectAttr(scaleMDrThbC + '.output', rThbC + '.scale', force = True)
- # Thb D
- tranMDrThbD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbD + '_translate' + '_md')
- rotMDrThbD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbD + '_rotate' + '_md')
- scaleMDrThbD = cmds.shadingNode('multiplyDivide', asUtility = True, n = rThbD + '_scale' + '_md')
- self.killM.append(tranMDrThbD)
- self.killM.append(rotMDrThbD)
- self.killM.append(scaleMDrThbD)
- cmds.setAttr(tranMDrThbD + '.input2X', -1)
- cmds.setAttr(rotMDrThbD + '.input2Z', -1)
- cmds.setAttr(rotMDrThbD + '.input2Y', -1)
- cmds.connectAttr(lThbD + '.translate', tranMDrThbD + '.input1', force = True)
- cmds.connectAttr(tranMDrThbD + '.output', rThbD + '.translate', force = True)
- cmds.connectAttr(lThbD + '.rotate', rotMDrThbD + '.input1', force = True)
- cmds.connectAttr(rotMDrThbD + '.output', rThbD + '.rotate', force = True)
- cmds.connectAttr(lThbD + '.scale', scaleMDrThbD + '.input1', force = True)
- cmds.connectAttr(scaleMDrThbD + '.output', rThbD + '.scale', force = True)
- # hip
- tranMDrHip = cmds.shadingNode('multiplyDivide', asUtility = True, n = rHip + '_translate' + '_md')
- rotMDrHip = cmds.shadingNode('multiplyDivide', asUtility = True, n = rHip + '_rotate' + '_md')
- scaleMDrHip = cmds.shadingNode('multiplyDivide', asUtility = True, n = rHip + '_scale' + '_md')
- self.killM.append(tranMDrHip)
- self.killM.append(rotMDrHip)
- self.killM.append(scaleMDrHip)
- cmds.setAttr(tranMDrHip + '.input2X', -1)
- cmds.setAttr(rotMDrHip + '.input2Z', -1)
- cmds.setAttr(rotMDrHip + '.input2Y', -1)
- cmds.connectAttr(lHip + '.translate', tranMDrHip + '.input1', force = True)
- cmds.connectAttr(tranMDrHip + '.output', rHip + '.translate', force = True)
- cmds.connectAttr(lHip + '.rotate', rotMDrHip + '.input1', force = True)
- cmds.connectAttr(rotMDrHip + '.output', rHip + '.rotate', force = True)
- cmds.connectAttr(lHip + '.scale', scaleMDrHip + '.input1', force = True)
- cmds.connectAttr(scaleMDrHip + '.output', rHip + '.scale', force = True)
- # knee
- tranMDrKnee = cmds.shadingNode('multiplyDivide', asUtility = True, n = rKnee + '_translate' + '_md')
- rotMDrKnee = cmds.shadingNode('multiplyDivide', asUtility = True, n = rKnee + '_rotate' + '_md')
- scaleMDrKnee = cmds.shadingNode('multiplyDivide', asUtility = True, n = rKnee + '_scale' + '_md')
- self.killM.append(tranMDrKnee)
- self.killM.append(rotMDrKnee)
- self.killM.append(scaleMDrKnee)
- cmds.setAttr(tranMDrKnee + '.input2X', -1)
- cmds.setAttr(rotMDrKnee + '.input2Z', -1)
- cmds.setAttr(rotMDrKnee + '.input2Y', -1)
- cmds.connectAttr(lKnee + '.translate', tranMDrKnee + '.input1', force = True)
- cmds.connectAttr(tranMDrKnee + '.output', rKnee + '.translate', force = True)
- cmds.connectAttr(lKnee + '.rotate', rotMDrKnee + '.input1', force = True)
- cmds.connectAttr(rotMDrKnee + '.output', rKnee + '.rotate', force = True)
- cmds.connectAttr(lKnee + '.scale', scaleMDrKnee + '.input1', force = True)
- cmds.connectAttr(scaleMDrKnee + '.output', rKnee + '.scale', force = True)
- # ankle
- tranMDrAnkle = cmds.shadingNode('multiplyDivide', asUtility = True, n = rAnkle + '_translate' + '_md')
- rotMDrAnkle = cmds.shadingNode('multiplyDivide', asUtility = True, n = rAnkle + '_rotate' + '_md')
- scaleMDrAnkle = cmds.shadingNode('multiplyDivide', asUtility = True, n = rAnkle + '_scale' + '_md')
- self.killM.append(tranMDrAnkle)
- self.killM.append(rotMDrAnkle)
- self.killM.append(scaleMDrAnkle)
- cmds.setAttr(tranMDrAnkle + '.input2X', -1)
- cmds.setAttr(rotMDrAnkle + '.input2Z', -1)
- cmds.setAttr(rotMDrAnkle + '.input2Y', -1)
- cmds.connectAttr(lAnkle + '.translate', tranMDrAnkle + '.input1', force = True)
- cmds.connectAttr(tranMDrAnkle + '.output', rAnkle + '.translate', force = True)
- cmds.connectAttr(lAnkle + '.rotate', rotMDrAnkle + '.input1', force = True)
- cmds.connectAttr(rotMDrAnkle + '.output', rAnkle + '.rotate', force = True)
- cmds.connectAttr(lAnkle + '.scale', scaleMDrAnkle + '.input1', force = True)
- cmds.connectAttr(scaleMDrAnkle + '.output', rAnkle + '.scale', force = True)
- # ball
- tranMDrBall = cmds.shadingNode('multiplyDivide', asUtility = True, n = rBall + '_translate' + '_md')
- rotMDrBall = cmds.shadingNode('multiplyDivide', asUtility = True, n = rBall + '_rotate' + '_md')
- scaleMDrBall = cmds.shadingNode('multiplyDivide', asUtility = True, n = rBall + '_scale' + '_md')
- self.killM.append(tranMDrBall)
- self.killM.append(rotMDrBall)
- self.killM.append(scaleMDrBall)
- cmds.setAttr(tranMDrBall + '.input2X', -1)
- cmds.setAttr(rotMDrBall + '.input2Z', -1)
- cmds.setAttr(rotMDrBall + '.input2Y', -1)
- cmds.connectAttr(lBall + '.translate', tranMDrBall + '.input1', force = True)
- cmds.connectAttr(tranMDrBall + '.output', rBall + '.translate', force = True)
- cmds.connectAttr(lBall + '.rotate', rotMDrBall + '.input1', force = True)
- cmds.connectAttr(rotMDrBall + '.output', rBall + '.rotate', force = True)
- cmds.connectAttr(lBall + '.scale', scaleMDrBall + '.input1', force = True)
- cmds.connectAttr(scaleMDrBall + '.output', rBall + '.scale', force = True)
- # toe
- tranMDrToe = cmds.shadingNode('multiplyDivide', asUtility = True, n = rToe + '_translate' + '_md')
- rotMDrToe = cmds.shadingNode('multiplyDivide', asUtility = True, n = rToe + '_rotate' + '_md')
- scaleMDrToe = cmds.shadingNode('multiplyDivide', asUtility = True, n = rToe + '_scale' + '_md')
- self.killM.append(tranMDrToe)
- self.killM.append(rotMDrToe)
- self.killM.append(scaleMDrToe)
- cmds.setAttr(tranMDrToe + '.input2X', -1)
- cmds.setAttr(rotMDrToe + '.input2Z', -1)
- cmds.setAttr(rotMDrToe + '.input2Y', -1)
- cmds.connectAttr(lToe + '.translate', tranMDrToe + '.input1', force = True)
- cmds.connectAttr(tranMDrToe + '.output', rToe + '.translate', force = True)
- cmds.connectAttr(lToe + '.rotate', rotMDrToe + '.input1', force = True)
- cmds.connectAttr(rotMDrToe + '.output', rToe + '.rotate', force = True)
- cmds.connectAttr(lToe + '.scale', scaleMDrToe + '.input1', force = True)
- cmds.connectAttr(scaleMDrToe + '.output', rToe + '.scale', force = True)
- # heel
- tranMDrHeel = cmds.shadingNode('multiplyDivide', asUtility = True, n = rHeel + '_translate' + '_md')
- rotMDrHeel = cmds.shadingNode('multiplyDivide', asUtility = True, n = rHeel + '_rotate' + '_md')
- scaleMDrHeel = cmds.shadingNode('multiplyDivide', asUtility = True, n = rHeel + '_scale' + '_md')
- self.killM.append(tranMDrHeel)
- self.killM.append(rotMDrHeel)
- self.killM.append(scaleMDrHeel)
- cmds.setAttr(tranMDrHeel + '.input2X', -1)
- cmds.setAttr(rotMDrHeel + '.input2Z', -1)
- cmds.setAttr(rotMDrHeel + '.input2Y', -1)
- cmds.connectAttr(lHeel + '.translate', tranMDrHeel + '.input1', force = True)
- cmds.connectAttr(tranMDrHeel + '.output', rHeel + '.translate', force = True)
- cmds.connectAttr(lHeel + '.rotate', rotMDrHeel + '.input1', force = True)
- cmds.connectAttr(rotMDrHeel + '.output', rHeel + '.rotate', force = True)
- cmds.connectAttr(lHeel + '.scale', scaleMDrHeel + '.input1', force = True)
- cmds.connectAttr(scaleMDrHeel + '.output', rHeel + '.scale', force = True)
- ### STORING MULTIPLY DIVIDES ###
- try:
- tempMDGrp = [tranMDrClav, rotMDrClav, scaleMDrClav,
- tranMDrShldr, rotMDrShldr, scaleMDrShldr,
- tranMDrElbow, rotMDrElbow, scaleMDrElbow,
- tranMDrWrist, rotMDrWrist, scaleMDrWrist,
- tranMDrIndA, rotMDrIndA, scaleMDrIndA,
- tranMDrIndB, rotMDrIndB, scaleMDrIndB,
- tranMDrIndC, rotMDrIndC, scaleMDrIndC,
- tranMDrIndD, rotMDrIndD, scaleMDrIndD,
- tranMDrMidA, rotMDrMidA, scaleMDrMidA,
- tranMDrMidB, rotMDrMidB, scaleMDrMidB,
- tranMDrMidC, rotMDrMidC, scaleMDrMidC,
- tranMDrMidD, rotMDrMidD, scaleMDrMidD,
- tranMDrRngA, rotMDrRngA, scaleMDrRngA,
- tranMDrRngB, rotMDrRngB, scaleMDrRngB,
- tranMDrRngC, rotMDrRngC, scaleMDrRngC,
- tranMDrRngD, rotMDrRngD, scaleMDrRngD,
- tranMDrPnkA, rotMDrPnkA, scaleMDrPnkA,
- tranMDrPnkB, rotMDrPnkB, scaleMDrPnkB,
- tranMDrPnkC, rotMDrPnkC, scaleMDrPnkC,
- tranMDrPnkD, rotMDrPnkD, scaleMDrPnkD,
- tranMDrThbA, rotMDrThbA, scaleMDrThbA,
- tranMDrThbB, rotMDrThbB, scaleMDrThbB,
- tranMDrThbC, rotMDrThbC, scaleMDrThbC,
- tranMDrThbD, rotMDrThbD, scaleMDrThbD,
- tranMDrHip, rotMDrHip, scaleMDrHip,
- tranMDrKnee, rotMDrKnee, scaleMDrKnee,
- tranMDrAnkle, rotMDrAnkle, scaleMDrAnkle,
- tranMDrBall, rotMDrBall, scaleMDrBall,
- tranMDrToe, rotMDrToe, scaleMDrToe,
- tranMDrHeel, rotMDrHeel, scaleMDrHeel]
- except NameError:
- pass
- ### CREATE CURVES ###
- crCrv(chest, lClav)
- crCrv(lClav, lShldr)
- crCrv(lShldr, lElbow)
- crCrv(lElbow, lWrist)
- crCrv(lWrist, lIndA)
- try:
- crCrv(lWrist, lMidA)
- except NameError:
- pass
- try:
- crCrv(lWrist, lRngA)
- except NameError:
- pass
- try:
- crCrv(lWrist, lPnkA)
- except NameError:
- pass
- crCrv(lIndB, lIndA)
- crCrv(lIndC, lIndB)
- crCrv(lIndD, lIndC)
- try:
- crCrv(lMidB, lMidA)
- except NameError:
- pass
- try:
- crCrv(lMidC, lMidB)
- except NameError:
- pass
- try:
- crCrv(lMidD, lMidC)
- except NameError:
- pass
- try:
- crCrv(lRngB, lRngA)
- except NameError:
- pass
- try:
- crCrv(lRngC, lRngB)
- except NameError:
- pass
- try:
- crCrv(lRngD, lRngC)
- except NameError:
- pass
- try:
- crCrv(lPnkB, lPnkA)
- except NameError:
- pass
- try:
- crCrv(lPnkC, lPnkB)
- except NameError:
- pass
- try:
- crCrv(lPnkD, lPnkC)
- except NameError:
- pass
- crCrv(hips, lHip)
- crCrv(lHip, lKnee)
- crCrv(lKnee, lAnkle)
- crCrv(lAnkle, lBall)
- crCrv(lToe, lBall)
- crCrv(lToe, lHeel)
- crCrv(lHeel, lAnkle)
- crCrv(lWrist, lThbA)
- crCrv(lThbA, lThbB)
- crCrv(lThbB, lThbC)
- crCrv(lThbC, lThbD)
- cmds.select(clear = True)
- tempSideCurvesInst = cmds.instance(tempSideCurves, n = 'inst_' + tempSideCurves)
- cmds.scale(-1,1,1, tempSideCurvesInst)
- cmds.setAttr(hips + '.translateX', lock = True, channelBox = False, keyable = False)
- cmds.setAttr(chest + '.translateX', lock = True, channelBox = False, keyable = False)
- cmds.setAttr(hips + '.rotateY', lock = True, channelBox = False, keyable = False)
- cmds.setAttr(chest + '.rotateY', lock = True, channelBox = False, keyable = False)
- cmds.setAttr(hips + '.rotateX', lock = True, channelBox = False, keyable = False)
- cmds.setAttr(chest + '.rotateX', lock = True, channelBox = False, keyable = False)
- cmds.setAttr(hips + '.rotateZ', lock = True, channelBox = False, keyable = False)
- cmds.setAttr(chest + '.rotateZ', lock = True, channelBox = False, keyable = False)
- cmds.setAttr(tempSideCurvesInst[0] + '.template', 1)
- cmds.setAttr(tempSideCurves + '.template', 1)
- # create movers
- neckMov = cmds.circle(c = (0,23,0), r = 1, n = 'neckMovCtrl', d = 1, s = 4, ch = False)[0]
- spineMov = cmds.circle(c = (0,10,0), r = 1, n = 'spineMovCtrl', d = 1, s = 4, ch = False)[0]
- neckMovShape = cmds.listRelatives(neckMov, shapes = True)[0]
- cmds.setAttr(neckMovShape + '.overrideEnabled', 1)
- cmds.setAttr(neckMovShape + '.overrideColor', 20)
- spineMovShape = cmds.listRelatives(spineMov, shapes = True)[0]
- cmds.setAttr(spineMovShape + '.overrideEnabled', 1)
- cmds.setAttr(spineMovShape + '.overrideColor', 20)
- cmds.xform(spineMov, cp = True)
- cmds.xform(neckMov, cp = True)
- # reparenting
- cmds.parent(spineMov, hips)
- cmds.parent(neckMov, spineMov)
- cmds.parent(chest, spineMov)
- cmds.parent(lShldr, rShldr, lClav, rClav, hips)
- cmds.setAttr(neckMov + '.rotateY', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(neckMov + '.rotateZ', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(neckMov + '.translateX', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(neckMov + '.translateY', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(neckMov + '.translateZ', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(neckMov + '.scaleX', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(neckMov + '.scaleY', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(neckMov + '.scaleZ', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(neckMov + '.visibility', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(spineMov + '.rotateY', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(spineMov + '.rotateZ', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(spineMov + '.translateX', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(spineMov + '.translateY', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(spineMov + '.translateZ', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(spineMov + '.scaleX', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(spineMov + '.scaleY', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(spineMov + '.scaleZ', keyable = False, lock = True, channelBox = False)
- cmds.setAttr(spineMov + '.visibility', keyable = False, lock = True, channelBox = False)
- ### CREATE SPINE self.locators ###
- nSide = ''
- spineLocs = {}
- self.locators['spineLocs'] = spineLocs
- def crSpineA():
- spineA = crLocs((0,13.25,0), 'spineA')
- spineLocs['spineA'] = spineA
- spineB = crLocs((0,16.5,0), 'spineB')
- spineLocs['spineB'] = spineB
- spineC = crLocs((0,19.75,0), 'spineC')
- spineLocs['spineC'] = spineC
- for p in spineLocs.iterkeys():
- cmds.parent(spineLocs[p], spineMov)
- for sc in spineLocs.iterkeys():
- cmds.setAttr(spineLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(spineLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(spineLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(spineLocs[sc] + '.visibility', lock = True, keyable = False)
- for sc in spineLocs.iterkeys():
- cmds.setAttr(spineLocs[sc] + '.translateX', lock = True, keyable = False, channelBox = False)
- for loc in spineLocs.iterkeys():
- locShapes = cmds.listRelatives(spineLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 15)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- crCrv(hips, spineA)
- crCrv(spineA, spineB)
- crCrv(spineB, spineC)
- crCrv(spineC, chest)
- def crSpineB():
- spineA = crLocs((0,12.16666666667,0), 'spineA')
- spineLocs['spineA'] = spineA
- spineB = crLocs((0,14.33333333334,0), 'spineB')
- spineLocs['spineB'] = spineB
- spineC = crLocs((0,16.50000000001,0), 'spineC')
- spineLocs['spineC'] = spineC
- spineD = crLocs((0,18.66666666668,0), 'spineD')
- spineLocs['spineD'] = spineD
- spineE = crLocs((0,20.83333333335,0), 'spineE')
- spineLocs['spineE'] = spineE
- for p in spineLocs.iterkeys():
- cmds.parent(spineLocs[p], spineMov)
- for sc in spineLocs.iterkeys():
- cmds.setAttr(spineLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(spineLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(spineLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(spineLocs[sc] + '.visibility', lock = True, keyable = False)
- for sc in spineLocs.iterkeys():
- cmds.setAttr(spineLocs[sc] + '.translateX', lock = True, keyable = False, channelBox = False)
- for loc in spineLocs.iterkeys():
- locShapes = cmds.listRelatives(spineLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 15)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- crCrv(hips, spineA)
- crCrv(spineA, spineB)
- crCrv(spineB, spineC)
- crCrv(spineC, spineD)
- crCrv(spineD, spineE)
- crCrv(spineE, chest)
- def crSpineC():
- spineA = crLocs((0,11.18181818181818,0), 'spineA')
- spineLocs['spineA'] = spineA
- spineB = crLocs((0,12.36363636363636,0), 'spineB')
- spineLocs['spineB'] = spineB
- spineC = crLocs((0,13.54545454545454,0), 'spineC')
- spineLocs['spineC'] = spineC
- spineD = crLocs((0,14.72727272727272,0), 'spineD')
- spineLocs['spineD'] = spineD
- spineE = crLocs((0,15.90909090909091,0), 'spineE')
- spineLocs['spineE'] = spineE
- spineF = crLocs((0,17.09090909090909,0), 'spineF')
- spineLocs['spineF'] = spineF
- spineG = crLocs((0,18.27272727272727,0), 'spineG')
- spineLocs['spineG'] = spineG
- spineH = crLocs((0,19.45454545454545,0), 'spineH')
- spineLocs['spineH'] = spineH
- spineI = crLocs((0,20.63636363636363,0), 'spineI')
- spineLocs['spineI'] = spineI
- spineJ = crLocs((0,21.81818181818181,0), 'spineJ')
- spineLocs['spineJ'] = spineJ
- for p in spineLocs.iterkeys():
- cmds.parent(spineLocs[p], spineMov)
- for sc in spineLocs.iterkeys():
- cmds.setAttr(spineLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(spineLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(spineLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(spineLocs[sc] + '.visibility', lock = True, keyable = False)
- for sc in spineLocs.iterkeys():
- cmds.setAttr(spineLocs[sc] + '.translateX', lock = True, keyable = False, channelBox = False)
- for loc in spineLocs.iterkeys():
- locShapes = cmds.listRelatives(spineLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 15)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- crCrv(hips, spineA)
- crCrv(spineA, spineB)
- crCrv(spineB, spineC)
- crCrv(spineC, spineD)
- crCrv(spineD, spineE)
- crCrv(spineE, spineF)
- crCrv(spineF, spineG)
- crCrv(spineG, spineH)
- crCrv(spineH, spineI)
- crCrv(spineI, spineJ)
- crCrv(spineJ, chest)
- ### NECK DUMMY ###
- neckLocs = {}
- headLocs = {}
- self.locators['neckLocs'] = neckLocs
- self.locators['headLocs'] = headLocs
- def crNeckA():
- neckA = crLocs((0,24.66666666666667,0), 'neckA')
- neckLocs['neckA'] = neckA
- neckB = crLocs((0,26.33333333333333,0), 'neckB')
- neckLocs['neckB'] = neckB
- head = crLocs((0,28,0), 'head')
- headLocs['head'] = head
- headTip = crLocs((0,35,0), 'headTip')
- headLocs['headTip'] = headTip
- for p in headLocs.iterkeys():
- cmds.parent(headLocs[p], neckMov)
- for sc in headLocs.iterkeys():
- cmds.setAttr(headLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(headLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(headLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(headLocs[sc] + '.visibility', lock = True, keyable = False)
- for sc in headLocs.iterkeys():
- cmds.setAttr(headLocs[sc] + '.translateX', lock = True, keyable = False, channelBox = False)
- for loc in headLocs.iterkeys():
- locShapes = cmds.listRelatives(headLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 5)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- # neck
- for p in neckLocs.iterkeys():
- cmds.parent(neckLocs[p], neckMov)
- for sc in neckLocs.iterkeys():
- cmds.setAttr(neckLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(neckLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(neckLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(neckLocs[sc] + '.visibility', lock = True, keyable = False)
- for sc in neckLocs.iterkeys():
- cmds.setAttr(neckLocs[sc] + '.translateX', lock = True, keyable = False, channelBox = False)
- for loc in neckLocs.iterkeys():
- locShapes = cmds.listRelatives(neckLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 28)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- crCrv(chest, neckA)
- crCrv(neckA, neckB)
- crCrv(neckB, head)
- crCrv(head, headTip)
- def crNeckB():
- neckA = crLocs((0,24.25,0), 'neckA')
- neckLocs['neckA'] = neckA
- neckB = crLocs((0,25.5,0), 'neckB')
- neckLocs['neckB'] = neckB
- neckC = crLocs((0,26.75,0), 'neckC')
- neckLocs['neckC'] = neckC
- head = crLocs((0,28,0), 'head')
- headLocs['head'] = head
- headTip = crLocs((0,35,0), 'headTip')
- headLocs['headTip'] = headTip
- for p in headLocs.iterkeys():
- cmds.parent(headLocs[p], neckMov)
- for sc in headLocs.iterkeys():
- cmds.setAttr(headLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(headLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(headLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(headLocs[sc] + '.visibility', lock = True, keyable = False)
- for sc in headLocs.iterkeys():
- cmds.setAttr(headLocs[sc] + '.translateX', lock = True, keyable = False, channelBox = False)
- for loc in headLocs.iterkeys():
- locShapes = cmds.listRelatives(headLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 5)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- # neck
- for p in neckLocs.iterkeys():
- cmds.parent(neckLocs[p], neckMov)
- for sc in neckLocs.iterkeys():
- cmds.setAttr(neckLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(neckLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(neckLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(neckLocs[sc] + '.visibility', lock = True, keyable = False)
- for sc in neckLocs.iterkeys():
- cmds.setAttr(neckLocs[sc] + '.translateX', lock = True, keyable = False, channelBox = False)
- for loc in neckLocs.iterkeys():
- locShapes = cmds.listRelatives(neckLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 28)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- crCrv(chest, neckA)
- crCrv(neckA, neckB)
- crCrv(neckB, neckC)
- crCrv(neckC, head)
- crCrv(head, headTip)
- def crNeckC():
- neckA = crLocs((0,24,0), 'neckA')
- neckLocs['neckA'] = neckA
- neckB = crLocs((0,25,0), 'neckB')
- neckLocs['neckB'] = neckB
- neckC = crLocs((0,26,0), 'neckC')
- neckLocs['neckC'] = neckC
- neckD = crLocs((0,27,0), 'neckD')
- neckLocs['neckD'] = neckD
- head = crLocs((0,28,0), 'head')
- headLocs['head'] = head
- headTip = crLocs((0,35,0), 'headTip')
- headLocs['headTip'] = headTip
- for p in headLocs.iterkeys():
- cmds.parent(headLocs[p], neckMov)
- for sc in headLocs.iterkeys():
- cmds.setAttr(headLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(headLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(headLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(headLocs[sc] + '.visibility', lock = True, keyable = False)
- for sc in headLocs.iterkeys():
- cmds.setAttr(headLocs[sc] + '.translateX', lock = True, keyable = False, channelBox = False)
- for loc in headLocs.iterkeys():
- locShapes = cmds.listRelatives(headLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 5)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- # neck
- for p in neckLocs.iterkeys():
- cmds.parent(neckLocs[p], neckMov)
- for sc in neckLocs.iterkeys():
- cmds.setAttr(neckLocs[sc] + '.scaleX', lock = True, keyable = False)
- cmds.setAttr(neckLocs[sc] + '.scaleY', lock = True, keyable = False)
- cmds.setAttr(neckLocs[sc] + '.scaleZ', lock = True, keyable = False)
- cmds.setAttr(neckLocs[sc] + '.visibility', lock = True, keyable = False)
- for sc in neckLocs.iterkeys():
- cmds.setAttr(neckLocs[sc] + '.translateX', lock = True, keyable = False, channelBox = False)
- for loc in neckLocs.iterkeys():
- locShapes = cmds.listRelatives(neckLocs[loc], shapes = True)[0]
- cmds.setAttr(locShapes + '.overrideEnabled', 1)
- cmds.setAttr(locShapes + '.overrideColor', 28)
- cmds.setAttr(locShapes + '.localPositionX', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionY', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localPositionZ', lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleX', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleY', .25, lock = True, keyable = False, channelBox = False)
- cmds.setAttr(locShapes + '.localScaleZ', .25, lock = True, keyable = False, channelBox = False)
- crCrv(chest, neckA)
- crCrv(neckA, neckB)
- crCrv(neckB, neckC)
- crCrv(neckC, neckD)
- crCrv(neckD, head)
- crCrv(head, headTip)
- # CREATE NECK AND SPINE
- if cmds.radioButtonGrp('spineRadio', q = True, sl = True) ==1:
- crSpineA()
- elif cmds.radioButtonGrp('spineRadio', q = True, sl = True) ==2:
- crSpineB()
- elif cmds.radioButtonGrp('spineRadio', q = True, sl = True) ==3:
- crSpineC()
- if cmds.radioButtonGrp('neckRadio', q = True, sl = True) ==1:
- crNeckA()
- elif cmds.radioButtonGrp('neckRadio', q = True, sl = True) ==2:
- crNeckB()
- elif cmds.radioButtonGrp('neckRadio', q = True, sl = True) ==3:
- crNeckC()
- # FINISH UP
- cmds.select(cl = True)
- print 'Dummy Built Successfully',
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement