def connectPhosphorJoints (qssJointsToProcess): mc.select(cl=True) mc.select(qssJointsToProcess) objectsToFix = mc.ls(sl=True) constraintsList = [] for o in objectsToFix: #Find our match buffer = 'jOH_'+o print buffer if mc.objExists(buffer): print True print ("'%s' matches '%s'"%(o,buffer)) pntConstBuffer = mc.pointConstraint(buffer,o,maintainOffset=True,weight=1) orConstBuffer = mc.orientConstraint(buffer,o,maintainOffset=True,weight=1) pntConst = mc.rename(pntConstBuffer,(o+('_pntConst'))) orConst = mc.rename(orConstBuffer,(o+('_orConst'))) constraintsList.append(pntConst) constraintsList.append(orConst) if constraintsList: #make our attribute Holder object """ need to make our master scale connector""" dataHolderGrp= ('rigJointsConstraintHolder_grp') if mc.objExists (dataHolderGrp): pass else: mc.group (n= dataHolderGrp, w=True, empty=True) #stores the constraints attributes.storeObjListNameToMessage (constraintsList, dataHolderGrp)
def attachQSSSkinJointsToRigJoints (qssSkinJoints,qssRigJoints): """ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DESCRIPTION: Created for N project. It will constrain one skeleton to the other by looking for the closest joint in a qss set of bind joints ARGUMENTS: qssSet(set) - must exist in scene. Set of the rig joints rigStartJoint - the first joint of a unifed deformation skeleton RETURNS: Nothing >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> """ mc.select(cl=True) mc.select(qssSkinJoints) skinnedHeirarchy = mc.ls(sl=True) mc.select(cl=True) mc.select(qssRigJoints) rigHeirarchy = mc.ls(sl=True) constraintsList = [] for obj in rigHeirarchy: print ('On '+obj) attachJoint = distance.returnClosestObject(obj,skinnedHeirarchy) pntConstBuffer = mc.pointConstraint(obj,attachJoint,maintainOffset=True,weight=1) orConstBuffer = mc.orientConstraint(obj,attachJoint,maintainOffset=True,weight=1) pntConst = mc.rename(pntConstBuffer,(obj+('_pntConst'))) orConst = mc.rename(orConstBuffer,(obj+('_orConst'))) constraintsList.append(pntConst) constraintsList.append(orConst) #make our attribute Holder object """ need to make our master scale connector""" dataHolderGrp= ('rigJointsConstraintHolder_grp') if mc.objExists (dataHolderGrp): pass else: mc.group (n= dataHolderGrp, w=True, empty=True) #stores the constraints attributes.storeObjListNameToMessage (constraintsList, dataHolderGrp) #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>