Exemplo n.º 1
0
    def selectNextItem(self):
        '''
        '''
        if self.txt_jntCurrent.getLabel() == 'Select mouth lips loop':

            self.txt_jntCurrent.setLabel('Select left eyelid loop')
            fullRefPath = self.imageRefPath + "LT_eyeLidLoop.jpg"
            pm.image(self.img_jntReference, image=fullRefPath, e=True)

            # assign selection to placement_grp attr
            sel = pm.ls(sl=True, fl=True)
            self.placementGrp.addAttr('mouthLipsLoop', dt='stringArray')
            self.placementGrp.attr('mouthLipsLoop').set(len(sel),
                                                        *sel,
                                                        type='stringArray')
            pm.select(cl=True)

            placementGrp.addMouthLoopPlacements(self.placementGrp)

        elif self.txt_jntCurrent.getLabel() == 'Select left eyelid loop':
            # READY!
            self.txt_jntCurrent.setLabel('Ready to Build!')
            fullRefPath = self.imageRefPath + "default.jpg"
            pm.image(self.img_jntReference, image=fullRefPath, e=True)
            self.btn_jntScrollRt.setEnable(False)
            self.btn_updateLocs.setEnable(True)
            self.btn_buildRig.setEnable(True)
            pm.setToolTo('selectSuperContext')

            # assign selection to placement_grp attr
            sel = pm.ls(sl=True, fl=True)
            self.placementGrp.addAttr('leftEyelidLoop', dt='stringArray')
            self.placementGrp.attr('leftEyelidLoop').set(len(sel),
                                                         *sel,
                                                         type='stringArray')

            placementGrp.addEyeLoopPlacements(self.placementGrp)
            # override for mathilda
            # placementGrp.addEyeLoopPlacements(self.placementGrp, [23,15,9,3])
            # mathilda_override
            # pm.PyNode('LT_innerUpper_eyelid_pLoc').cv_id.set(18)

            placementGrp.addIndependentPlacers(self.placementGrp,
                                               self.indMapping)

            # align jaw pLoc
            cons = mc.aimConstraint('CT__mouthMover_pLoc',
                                    'CT__jaw_pLoc',
                                    aim=[0, 0, 1],
                                    u=[1, 0, 0],
                                    wu=[1, 0, 0])
            mc.delete(cons)

            pm.selectMode(object=True)
            mel.setObjectPickMask("Surface", False)

            placementGrp.snapPlacementsToMesh(self.placementGrp)
            placementGrp.mirrorAllPlacements(self.placementGrp)
            placementGrp.orientAllPlacements(self.placementGrp)
Exemplo n.º 2
0
 def selectNextItem(self):
     '''
     '''
     if self.txt_jntCurrent.getLabel() == 'Select mouth lips loop':
         
         self.txt_jntCurrent.setLabel('Select left eyelid loop')
         fullRefPath = self.imageRefPath + "LT_eyeLidLoop.jpg"
         pm.image(self.img_jntReference, image=fullRefPath, e=True)
         
         # assign selection to placement_grp attr
         sel = pm.ls(sl=True, fl=True)
         self.placementGrp.addAttr('mouthLipsLoop', dt='stringArray')
         self.placementGrp.attr('mouthLipsLoop').set(len(sel), *sel, type='stringArray')
         pm.select(cl=True)
         
         placementGrp.addMouthLoopPlacements(self.placementGrp)
         
     elif self.txt_jntCurrent.getLabel() == 'Select left eyelid loop':
         # READY!
         self.txt_jntCurrent.setLabel('Ready to Build!')
         fullRefPath = self.imageRefPath + "default.jpg"
         pm.image(self.img_jntReference, image=fullRefPath, e=True)
         self.btn_jntScrollRt.setEnable(False)
         self.btn_updateLocs.setEnable(True)
         self.btn_buildRig.setEnable(True)
         pm.setToolTo('selectSuperContext')
         
         # assign selection to placement_grp attr
         sel = pm.ls(sl=True, fl=True)
         self.placementGrp.addAttr('leftEyelidLoop', dt='stringArray')
         self.placementGrp.attr('leftEyelidLoop').set(len(sel), *sel, type='stringArray')
         
         placementGrp.addEyeLoopPlacements(self.placementGrp)
         # override for mathilda
         # placementGrp.addEyeLoopPlacements(self.placementGrp, [23,15,9,3])
         # mathilda_override
         # pm.PyNode('LT_innerUpper_eyelid_pLoc').cv_id.set(18)
         
         placementGrp.addIndependentPlacers(self.placementGrp, self.indMapping)
         
         # align jaw pLoc
         cons = mc.aimConstraint('CT__mouthMover_pLoc', 'CT__jaw_pLoc',
                                 aim=[0,0,1], u=[1,0,0], wu=[1,0,0])
         mc.delete(cons)
         
         pm.selectMode(object=True)
         mel.setObjectPickMask("Surface", False)
         
         placementGrp.snapPlacementsToMesh(self.placementGrp)
         placementGrp.mirrorAllPlacements(self.placementGrp)
         placementGrp.orientAllPlacements(self.placementGrp)
Exemplo n.º 3
0
                           nt.Transform(u'CT_lower_lip_pLoc')], (-1, 0, 0))

# Align for sliding
slidingBnds = data.slidingBnds
for eachBnd in slidingBnds:
    rt.alignTransformToMesh(eachBnd, mesh, method='sliding')

# manual orienting and tweaking
# notes:
# cheek locs should have Y-up, so they can translate up and make a bulge, etc
# align jaw locs along jawline
# brow neg-Y should point outwards to maintain brow volume
    
#------------------------------------------------------------------------------ 
# Mirror
placementGrp.snapPlacementsToMesh(pGrp)
placementGrp.mirrorAllPlacements(pGrp)
pDict = data.placeLocXforms
placementGrp.setPlacementGrpFromDict(pGrp, pDict)
#===============================================================================
# BUILD BNDS
# start - mathilda_facerigB_v003.ma
# mathilda_facerigB_v005.ma (update geometry with lips closed)
# mathilda_facerigB_v006.ma (update loc orientations)
#===============================================================================
bndGrp = face.createBndsFromPlacement(pGrp)
face.buildSecondaryControlSystem(pGrp, bndGrp, mesh)
priCtls = face.buildPrimaryControlSystem()
perimeterGrp = face.addPerimeterBndSystem(mesh)
mll = face.createSkinLayers(mesh)
Exemplo n.º 4
0
], (-1, 0, 0))

# Align for sliding
slidingBnds = data.slidingBnds
for eachBnd in slidingBnds:
    rt.alignTransformToMesh(eachBnd, mesh, method='sliding')

# manual orienting and tweaking
# notes:
# cheek locs should have Y-up, so they can translate up and make a bulge, etc
# align jaw locs along jawline
# brow neg-Y should point outwards to maintain brow volume

#------------------------------------------------------------------------------
# Mirror
placementGrp.snapPlacementsToMesh(pGrp)
placementGrp.mirrorAllPlacements(pGrp)
pDict = data.placeLocXforms
placementGrp.setPlacementGrpFromDict(pGrp, pDict)
#===============================================================================
# BUILD BNDS
# start - mathilda_facerigB_v003.ma
# mathilda_facerigB_v005.ma (update geometry with lips closed)
# mathilda_facerigB_v006.ma (update loc orientations)
#===============================================================================
bndGrp = face.createBndsFromPlacement(pGrp)
face.buildSecondaryControlSystem(pGrp, bndGrp, mesh)
priCtls = face.buildPrimaryControlSystem()
perimeterGrp = face.addPerimeterBndSystem(mesh)
mll = face.createSkinLayers(mesh)