Example #1
0
    def neckMiddleCtlSet(self):
        self.neckMiddleCtl = rigbase.Controler(n='NeckMiddle_CTL')
        self.neckMiddleCtl.setShape(normal=[0, 1, 0], radius=.5)
        self.neckMiddleCtl.setColor(29)

        self.middlePoint1 = rigbase.Transform(n='NeckMiddle_spline_Point1')
        self.middlePoint2 = rigbase.Transform(n='NeckMiddle_spline_Point2')

        self.middlePoint1.setParent(self.neckMiddleCtl)
        self.middlePoint2.setParent(self.neckMiddleCtl)
        rigbase.transformDefault(self.middlePoint1, self.middlePoint2)

        midPnt1Dist = cmds.createNode('distanceBetween',
                                      n='NeckMiddle_spPnt1_dist')
        midPnt2Dist = cmds.createNode('distanceBetween',
                                      n='NeckMiddle_spPnt2_dist')
        midMult1Dist = cmds.createNode('multDoubleLinear', n='NeckMiddle_md1')
        midMult2Dist = cmds.createNode('multDoubleLinear', n='NeckMiddle_md2')

        cmds.setAttr(midMult1Dist + '.input2', -.4)
        cmds.setAttr(midMult2Dist + '.input2', .4)

        cmds.connectAttr(self.neckMiddleInit + '.m',
                         midPnt1Dist + '.inMatrix1')
        cmds.connectAttr(self.headInit + '.m', midPnt2Dist + '.inMatrix2')
        cmds.connectAttr(midPnt1Dist + '.distance', midMult1Dist + '.input1')
        cmds.connectAttr(midPnt2Dist + '.distance', midMult2Dist + '.input1')
        cmds.connectAttr(midMult1Dist + '.output', self.middlePoint1 + '.ty')
        cmds.connectAttr(midMult2Dist + '.output', self.middlePoint2 + '.ty')

        attrEdit = rigbase.AttrEdit(self.neckMiddleCtl.name)
        attrEdit.lockAndHideAttrs('sx', 'sy', 'sz', 'v')

        self.rigInstance.neckMiddleCtl = self.neckMiddleCtl.name
Example #2
0
    def allSet(self):
        colorLIndexList = [21, 20, 4, 15, 18]
        colorRIndexList = [21, 20, 4, 15, 18]

        def createScaleNode(switchCtl):
            scaleNode = cmds.createNode('multiplyDivide',
                                        n=switchCtl + '_handScale')
            cmds.setAttr(scaleNode + '.op', 3)
            cmds.connectAttr(switchCtl + '.handScale', scaleNode + '.input2X')
            cmds.connectAttr(switchCtl + '.handScale', scaleNode + '.input2Y')
            cmds.connectAttr(switchCtl + '.handScale', scaleNode + '.input2Z')
            cmds.setAttr(scaleNode + '.input1X', 2)
            cmds.setAttr(scaleNode + '.input1Y', 2)
            cmds.setAttr(scaleNode + '.input1Z', 2)
            return scaleNode

        handLGrp = rigbase.Transform(n='Hand_L_CTL_GRP')
        rigbase.constraint(self.handLConst, handLGrp)
        cmds.connectAttr(self.switchLCtl + '.fingerCtl', handLGrp + '.v')

        handRGrp = rigbase.Transform(n='Hand_R_CTL_GRP')
        rigbase.constraint(self.handRConst, handRGrp)
        cmds.connectAttr(self.switchRCtl + '.fingerCtl', handRGrp + '.v')

        handLGrp.setParent(self.rootGrp)
        handRGrp.setParent(self.rootGrp)

        for inits in self.fingerLInits:
            self.ctlSet.create(inits[:-1], handLGrp, colorLIndexList.pop(0))
            self.aimObjSet.create(self.ctlSet.ctls)
            self.jointSet.create(inits, self.ctlSet.ctls,
                                 self.aimObjSet.aimObjs, self.handLRjt)

        for inits in self.fingerRInits:
            self.ctlSet.create(inits[:-1], handRGrp, colorRIndexList.pop(0))
            self.aimObjSet.create(self.ctlSet.ctls)
            self.jointSet.create(inits, self.ctlSet.ctls,
                                 self.aimObjSet.aimObjs, self.handRRjt)

        scaleNode = createScaleNode(self.switchLCtl)
        cmds.connectAttr(scaleNode + '.output', handLGrp + '.s')
        cmds.connectAttr(scaleNode + '.output', self.handLRjt + '.s', f=1)

        children = cmds.listRelatives(self.handLRjt, c=1, type='joint')
        for child in children:
            cmds.setAttr(child + '.ssc', False)

        scaleNode = createScaleNode(self.switchRCtl)
        cmds.connectAttr(scaleNode + '.output', handRGrp + '.s')
        cmds.connectAttr(scaleNode + '.output', self.handRRjt + '.s', f=1)

        children = cmds.listRelatives(self.handRRjt, c=1, type='joint')
        for child in children:
            cmds.setAttr(child + '.ssc', False)
Example #3
0
    def connectInit(self, inits):
        rigbase.connectSameAttr(inits[0],
                                self.neckCtl.transformGrp).doIt('t', 'r')
        neckMiddleMtxDcmp = self.getMtxDcmpInNeckSet()
        cmds.connectAttr(neckMiddleMtxDcmp + '.ot',
                         self.neckMiddleCtl.transformGrp + '.t')
        cmds.connectAttr(neckMiddleMtxDcmp + '.or',
                         self.neckMiddleCtl.transformGrp + '.r')
        headPosMtxDcmp = rigbase.getChildMtxDcmp(inits[2], inits[0])
        cmds.connectAttr(headPosMtxDcmp + '.ot',
                         self.headCtl.transformGrp + '.t')
        cmds.connectAttr(headPosMtxDcmp + '.or',
                         self.headCtl.transformGrp + '.r')

        eyeCenterMtx = cmds.createNode('blendTwoMatrixDecompose',
                                       n='EyeCenterMtx')
        eyeLMtxDcmp = cmds.createNode('multMatrixDecompose', n='Eye_L_MtxDcmp')
        eyeRMtxDcmp = cmds.createNode('multMatrixDecompose', n='Eye_R_MtxDcmp')

        eyeCenterObj = rigbase.Transform(n='EyeCenterObj')
        eyeCenterObj.setParent(self.headCtl)

        eyeLInitTarget = rigbase.Transform(n='Eye_L_InitTarget')
        eyeRInitTarget = rigbase.Transform(n='Eye_R_InitTarget')
        eyeLInitTarget.setParent(self.headCtl)
        eyeRInitTarget.setParent(self.headCtl)
        rigbase.connectSameAttr(inits[3], eyeLInitTarget.name).doIt('t', 'r')
        rigbase.connectSameAttr(inits[4], eyeRInitTarget.name).doIt('t', 'r')

        cmds.connectAttr(eyeLInitTarget + '.m', eyeCenterMtx + '.inMatrix1')
        cmds.connectAttr(eyeRInitTarget + '.m', eyeCenterMtx + '.inMatrix2')
        cmds.connectAttr(eyeCenterMtx + '.ot', eyeCenterObj + '.t')

        cmds.connectAttr(eyeLInitTarget + '.wm', eyeLMtxDcmp + '.i[0]')
        cmds.connectAttr(eyeRInitTarget + '.wm', eyeRMtxDcmp + '.i[0]')
        cmds.connectAttr(eyeCenterObj + '.wim', eyeLMtxDcmp + '.i[1]')
        cmds.connectAttr(eyeCenterObj + '.wim', eyeRMtxDcmp + '.i[1]')

        cmds.connectAttr(eyeLMtxDcmp + '.ot', self.eyeLCtl.transformGrp + '.t')
        cmds.connectAttr(eyeRMtxDcmp + '.ot', self.eyeRCtl.transformGrp + '.t')
        cmds.connectAttr(inits[-1] + '.t', self.eyeCtl.transformGrp + '.t')
Example #4
0
 def originalOrientSet(self):
     shoulderLOr = rigbase.Transform( n='Shoulder_L_OriginalOrient' )
     shoulderROr = rigbase.Transform( n='Shoulder_R_OriginalOrient' )
     shoulderLOr.setParent( self.shoulderLCtl )
     shoulderROr.setParent( self.shoulderRCtl )
     rigbase.transformDefault( shoulderLOr, shoulderROr )
     cmds.setAttr( shoulderLOr+'.t', 0,0,0 )
     cmds.setAttr( shoulderLOr+'.r', 0,0,-45 )
     cmds.setAttr( shoulderROr+'.t', 0,0,0 )
     cmds.setAttr( shoulderROr+'.r', 0,0,-45 )
     
     hipLOr = rigbase.Transform( n='Hip_L_OriginalOrient' )
     hipROr = rigbase.Transform( n='Hip_R_OriginalOrient' )
     hipLOr.setParent( self.hipCtl )
     hipROr.setParent( self.hipCtl )
     cmds.connectAttr( self.hipLInit+'.t', hipLOr+'.t' )
     cmds.connectAttr( self.hipRInit+'.t', hipROr+'.t' )
     cmds.setAttr( hipLOr+'.r', 0,0,-90 )
     cmds.setAttr( hipROr+'.r', -180,0, 90 )
     
     self.rigInstance.shoulderLOr = shoulderLOr
     self.rigInstance.shoulderROr = shoulderROr
     self.rigInstance.hipLOr = hipLOr
     self.rigInstance.hipROr = hipROr
Example #5
0
    def setStartUpObj(self):
        self.startUpObj = rigbase.Transform(n='Neck_SplineStartUp')
        self.startUpObj.setParent(self.neckCtl)
        rigbase.transformDefault(self.startUpObj)

        mtxDcmp = cmds.createNode('multMatrixDecompose',
                                  n='Neck_SplineStartUp_mtxDcmp')
        ffmMtx = cmds.createNode('fourByFourMatrix',
                                 n='Neck_SplineStartUp_ffm')
        smOri = cmds.createNode('smartOrient', n='Neck_SplineStartUp_SmOri')

        cmds.setAttr(smOri + '.aimAxis', 1)

        cmds.connectAttr(self.headCtl + '.wm', mtxDcmp + '.i[0]')
        cmds.connectAttr(self.neckCtl + '.wim', mtxDcmp + '.i[1]')
        cmds.connectAttr(mtxDcmp + '.otx', ffmMtx + '.i10')
        cmds.connectAttr(mtxDcmp + '.oty', ffmMtx + '.i11')
        cmds.connectAttr(mtxDcmp + '.otz', ffmMtx + '.i12')
        cmds.connectAttr(ffmMtx + '.output', smOri + '.inputMatrix')
        cmds.connectAttr(smOri + '.outAngle', self.startUpObj + '.r')
Example #6
0
 def headConstSet(self):
     headConst = rigbase.Transform( n='Head_Const' )
     headConst.goto( self.headInit )
     headConst.setParent( self.chestCtl )
     self.rigInstance.headConst = headConst.name