_v = "0{0}".format(i + 1) else: _v = "{0}".format(i + 1) mObj.rename("tail_{0}_segHandle".format(_v)) SPECTRA.createAndContrainRigFromSkinJoints(mc.ls(sl=True)) import cgm.core.rig.ik_utils as IK _d = { 'jointList': [ u'tail_01_rig', u'tail_02_rig', u'tail_03_rig', u'tail_04_rig', u'tail_05_rig', u'tail_06_rig', u'tail_07_rig', u'tail_08_rig', u'tail_09_rig', u'tail_10_rig' ] } reload(IK) IK.ribbon(**_d) #=================================================================================================== # >> Guardian fix #=================================================================================================== import cgm.core.classes.NodeFactory as NODEF arg = "neck1_c.rx = clamp(0,head.maxRoll, head.rx)" NODEF.argsToNodes(arg).doBuild() #=================================================================================================== # >> Abyss work #=================================================================================================== def renameFinger(base='thumb', direction='l', tag='sknj'): import cgm.core.cgm_Meta as cgmMeta import maya.cmds as mc
l_joints = mc.ls(sl=1) d_test = { 'jointList': l_joints, 'baseName': "{0}_seg_{1}".format('test', 1), 'driverSetup': None, 'squashStretch': None, 'connectBy': 'parent', 'loftAxis': 'z', 'extendEnds': True, 'msgDriver': 'driverGroup', 'extraSquashControl': False, 'baseName': 'brow', 'connectBy': 'constraint' } mSurf = IK.ribbon(**d_test) import cgm.projects.morpheusForUnity.m_utils as MORPHYUTILS reload(MORPHYUTILS) MORPHYUTILS.rigJoint_verify() MORPHYUTILS.driverGroup_verify() MORPHYUTILS.rigJoint_connectFromRig() driven1 = [ u'L_lip_corner_rig', u'L_lip_upr_rig', u'CTR_lip_upr_rig', u'R_lip_upr_rig', u'R_lip_corner_rig' ] driven2 = [ u'L_lip_corner_rig', u'L_lip_lwr_rig', u'CTR_lip_lwr_rig', u'R_lip_lwr_rig', u'R_lip_corner_rig'
def segment_mid(self, mHandle=None, ml_ribbonHandles=None, mGroup=None, mIKBase=None, mIKEnd=None, ml_ikJoints=None, upMode='matrix'): try: _str_func = 'segment_mid' log_start(_str_func) mBlock = self.mBlock mRigNull = self.mRigNull mModule = self.mModule _offset = self.v_offset _jointOrientation = self.d_orientation['str'] if not mHandle: mHandle = mRigNull.getMessageAsMeta('controlSegMidIK') if not mHandle: raise ValueError, "{0} | ml_handles required".format(_str_func) if not ml_ribbonHandles: raise ValueError, "{0} | ml_ribbonHandles required".format( _str_func) mHandle.masterGroup.parent = mGroup ml_midTrackJoints = copy.copy(ml_ribbonHandles) #Make our Driver ----------------------------------------------------- ml_midTrackJoints.insert(1, mHandle) d_mid = { 'jointList': [mJnt.mNode for mJnt in ml_midTrackJoints], #'ribbonJoints':[mObj.mNode for mObj in ml_rigJoints[self.int_segBaseIdx:]], 'baseName': self.d_module['partName'] + '_midRibbon', 'driverSetup': None, 'squashStretch': None, 'msgDriver': 'masterGroup', 'specialMode': 'noStartEnd', 'paramaterization': 'floating', 'connectBy': 'constraint', 'influences': ml_ribbonHandles, 'moduleInstance': mModule } reload(IK) l_midSurfReturn = IK.ribbon(**d_mid) #Setup our aim setup --------------------------------------------------------- mFollicle = mHandle.masterGroup.getMessageAsMeta('ribbonDriver') mTar = ml_ikJoints[1].doCreateAt(setClass='cgmObject') mTar.rename('{0}_mid_baseTarget'.format(self.d_module['partName'])) mTar.p_parent = mIKBase mDriver = mHandle.doCreateAt(setClass='cgmObject') mDriver.rename('{0}_mainDriver'.format(mHandle.p_nameBase)) mDriver.p_parent = mHandle.masterGroup mc.pointConstraint([mFollicle.mNode], mDriver.mNode, maintainOffset=True) mc.aimConstraint( [mTar.mNode], mDriver.mNode, maintainOffset=True, #skip = 'z', aimVector=[0, 0, -1], upVector=[1, 0, 0], worldUpObject=mHandle.masterGroup.mNode, worldUpType='objectrotation', worldUpVector=[1, 0, 0]) mHandle.doStore('mainDriver', mDriver.mNode, 'msg') """ log.debug("|{0}| >> ribbon ik handles...".format(_str_func)) if mIKBaseControl: ml_ribbonHandles[0].parent = mIKBaseControl else: ml_ribbonHandles[0].parent = mSpinGroup mc.aimConstraint(mIKControl.mNode, ml_ribbonHandles[0].mNode, maintainOffset = True, weight = 1, aimVector = self.d_orientation['vectorAim'], upVector = self.d_orientation['vectorUp'], worldUpVector = self.d_orientation['vectorOut'], worldUpObject = mSpinGroup.mNode, worldUpType = 'objectRotation' ) ml_ribbonHandles[-1].parent = mIKControl""" #if not mRigNull.msgList_get('segmentJoints') and ml_handleJoints: #ml_skinDrivers.extend(ml_handleJoints) except Exception, err: cgmGEN.cgmExceptCB(Exception, err, localDat=vars())