def snapOrientPLocOnMesh(loc, mesh): """ """ mesh = pm.PyNode(mesh) if loc.orientType.get() == 1: rt.alignTransformToMesh(loc, mesh, "sliding") elif loc.orientType.get() == 2: rt.alignTransformToMesh(loc, mesh, "normal") else: # leave at world or user pass
def snapOrientPLocOnMesh(loc, mesh): ''' ''' mesh = pm.PyNode(mesh) if loc.orientType.get() == 1: rt.alignTransformToMesh(loc, mesh, 'sliding') elif loc.orientType.get() == 2: rt.alignTransformToMesh(loc, mesh, 'normal') else: # leave at world or user pass
def orientAllPlacements(pGrp): """ """ locs = [loc for loc in pGrp.getChildren() if loc.hasAttr("orientType")] mesh = pm.PyNode(pGrp.mouthLipsLoop.get()[0]).node() for loc in locs: if loc.orientType.get() == 1: rt.alignTransformToMesh(loc, mesh, "sliding") elif loc.orientType.get() == 2: rt.alignTransformToMesh(loc, mesh, "normal") else: # leave at world or user pass
def orientAllPlacements(pGrp): ''' ''' locs = [loc for loc in pGrp.getChildren() if loc.hasAttr('orientType')] mesh = pm.PyNode(pGrp.mouthLipsLoop.get()[0]).node() for loc in locs: if loc.orientType.get() == 1: rt.alignTransformToMesh(loc, mesh, 'sliding') elif loc.orientType.get() == 2: rt.alignTransformToMesh(loc, mesh, 'normal') else: # leave at world or user pass
face.orientLoopTransforms([nt.Transform(u'LT_corner_lip_pLoc'), nt.Transform(u'LT_upper_pinch_lip_pLoc'), nt.Transform(u'LT_upper_sneer_lip_pLoc'), nt.Transform(u'LT_upper_side_lip_pLoc'), nt.Transform(u'CT_upper_lip_pLoc')], (-1, 0, 0)) face.orientLoopTransforms([nt.Transform(u'LT_corner_lip_pLoc'), nt.Transform(u'LT_lower_pinch_lip_pLoc'), nt.Transform(u'LT_lower_sneer_lip_pLoc'), nt.Transform(u'LT_lower_side_lip_pLoc'), 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
nt.Transform(u'LT_upper_side_lip_pLoc'), nt.Transform(u'CT_upper_lip_pLoc') ], (-1, 0, 0)) face.orientLoopTransforms([ nt.Transform(u'LT_corner_lip_pLoc'), nt.Transform(u'LT_lower_pinch_lip_pLoc'), nt.Transform(u'LT_lower_sneer_lip_pLoc'), nt.Transform(u'LT_lower_side_lip_pLoc'), 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