コード例 #1
0
        _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
コード例 #2
0
ファイル: scratchpad.py プロジェクト: sgodanas/cgm_tools
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'
コード例 #3
0
ファイル: rigFrame_utils.py プロジェクト: liudger/cgmTools
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())