as_EasyExp#
- as_EasyExp.__confirmAction(self, action)#
- as_EasyExp.__init__(self)#
This is “Lips & Eye Lids Auto Rigger”
as_EasyExpMain_v1.0
About :#
Author: (Subbaiah) Subbu Addanki Character Supervisor (Rigging) & Programmer
Contact :#
Mail Id: subbu.add@gmail.com
Copyright (c) as_EasyExpMain :#
** (Subbaiah) Subbu Addanki. All Rights Reserved. **
Compiled Only For ** MPC **
- as_EasyExp._compileEasyExp(self, userFolder='$_Free_EasyExp_v3.5')#
- as_EasyExp._isInTime(self, startDate=[2017, 1, 1], endDate=[2018, 1, 1], onlineTime=1, showDaysLeft=1, bufferTime=1)#
- as_EasyExp._isNum(self, obj)#
- as_EasyExp._isPosList(self, posList)#
if posList == [1, 3, 10.5] | [0.1, 10, 9.5] | [0, 0, 0] | (0, 10, 5): return True else: return False
- as_EasyExp._mayaVer(self)#
- as_EasyExp.add_Prefix(self, txtFldName)#
Adds prefix of selected object as Input in any Window for <== button Usage: —— Left_Hand # Adds ‘Left_’ While pressing Enter.. <== button Hand # Adds ‘’ While pressing Enter.. <== button
- as_EasyExp.add_Selection(self, textFld, multiSelect=False)#
Adds selected object’s name as Input in any Window for <== button Usage: —— obj10 # Adds ‘obj10’ While pressing Enter.. <== button box25 # Adds ‘box25’ While pressing Enter.. <== button
- as_EasyExp.applyCtrlColor(self, ctrlName, colorNum=None)#
#_ Changes control colors based on prefix
- as_EasyExp.as_AboutEasyExp(self)#
- as_EasyExp.as_BuildLipsRig(self)#
- as_EasyExp.as_CreateLipRoll(self, jntList_Side, centerJnt, lipCtrl, locGrp, rotAxis='x')#
#lipJnts =nselected() #ctJnt =nselected()[0]
- as_EasyExp.as_CreateStickyLips(self)#
- as_EasyExp.as_EasyExp(self)#
- as_EasyExp.as_GetCurvFromEdgeLoop(self, deg=3)#
- as_EasyExp.as_ImportTemplate(self)#
- as_EasyExp.as_SplitCurvAtEnds(self)#
- as_EasyExp.as_disconnectAttr(self, objs, attrs)#
- as_EasyExp.as_getMDagPath(self, obj)#
- as_EasyExp.as_getPos(self, objName)#
- as_EasyExp.as_lockAttrs(self, nodeList, attrList)#
attrList = ‘t’ | ‘tx’ | [‘t’, ‘r’] | [‘tx’, ‘ry’] etc
- as_EasyExp.as_lockNhide(self, objs, attrs, lock, channelBox)#
- as_EasyExp.as_openAttrs(self, nodeList, attrList)#
attrList = ‘t’ | ‘tx’ | [‘t’, ‘r’] | [‘tx’, ‘ry’] etc
- as_EasyExp.as_snapObjs(self, objs, type)#
- as_EasyExp.as_snapRot(self, src, destObj)#
- as_EasyExp.as_snapToObj(self, srcObj, destObj=[0, 0, 0])#
- as_EasyExp.as_snapToVtxs(self, srcObj, vtxList)#
- as_EasyExp.as_transferConnections(self, obj, targetObj)#
- as_EasyExp.circleCtrl(self, ctrlName, grpLevel=2, initRot=[0, 0, 0])#
Usage:#
ctrl =EasyExp.circleCtrl(ctrlName)[0] ctrlGrp =EasyExp.circleCtrl(ctrlName)[-1] ctrl, ctrlGrp =EasyExp.circleCtrl(ctrlName)
Returns:#
- if grpLevel:
return [ctrl, ctrlGrp(topGrp)] #_ asNodes
- else:
return [ctrl, ctrl] #_ asNodes
- as_EasyExp.confirmAction(self, action, raiseErr=False, trueVal='Yes', falseVal='No')#
Requests User to confirm an action shown in confirmDialog window
- as_EasyExp.createNode_MD(self, valOrAttr01, valOrAttr02, mdnSign='*', mdnName='asNode_MDN', destAttr=None)#
Flags:#
Available mdnSigns are: [‘*’, ‘/’, ‘**’]
Usage:#
valOrAttr01 =selected()[0] + ‘.tx’ | selected()[0] + ‘.t’ | 25 | [0, 2, 10] valOrAttr02 =selected()[1] + ‘.ty’ | selected()[1] + ‘.r’ | 10 | [0, 2, 10] destAttr =selected()[1] + ‘.ty’ | selected()[1] + ‘.r’ eSpec.createMDN(valOrAttr01, valOrAttr02, ‘*’, ‘node_MDN’, destAttr)
Returns:#
return [mdNode, outAttr] #_ outAttr = node + ‘.’ + attr
- as_EasyExp.ctrlMaker(self, curvList, ctrlName)#
Usage:#
ctrl =EasyExp.ctrlMaker(ctrlName)[0] ctrlGrp =EasyExp.ctrlMaker(ctrlName)[-1] ctrl, ctrlGrp =EasyExp.ctrlMaker(ctrlName)
Returns:#
return ctrlCurv #_ asNode
Fonts:#
#_ fontList =[‘Palatino Linotype’, ‘Bolide’, ‘Vectroid’, ‘Snap ITC’, ‘Quaint’, ‘Ravie’] #_ [‘Outer Sider BRK’, ‘ChangChangWoodcut’] #_ textCurves(ch=0, t=’ikfk’, f= ‘Quaint|h-16|w700|c0’) #_ font =fontList[rand.randint(0, 5)]
- as_EasyExp.dimondCtrl(self, ctrlName=None, grpLevel=3, initRot=[0, 0, 0], ctrlType=1, grpSufxList=None, **shortArgs)#
Args: [Short Names : ctrlName =n, grpLevel =gl, initRot =ir, ctrlType =ct, grpSufxList =gsl]#
ctrlName : name(str) #_ name for the control which is going to be created grpLevl : num(int) #_ Number of top groups on control to be created initRot : [float, float, float] #_ Rotates the shape initially ctrlType : 1|2|3 etc #_ One of 3 Shapes can be returned
Usage:#
ctrl =eCtrl.circleCtrl(ctrlName)[0] ctrlGrp =eCtrl.circleCtrl(ctrlName)[-1] ctrl, ctrlGrp =eCtrl.circleCtrl(ctrlName)
Returns:#
- if grpLevel:
return [ctrl, ctrlGrp(topGrp)] #_ asNodes
- else:
return [ctrl, ctrl] #_ asNodes
- as_EasyExp.doBindSkin(self, jntList, skinMesh, clustName='skinCluster1', ignoreHI=False, skinMethod=2, normalizeMethod=1, maxInflu=3, retainMaxInflu=True, dropRate=8.5)#
bindMethod : ignoreHI - Disregard the place of joints hierarchy when computing the closest joints that influence a point of the geometry. skinMethod : 0 - Classical linear skinning (default). 1 - Dual quaternion (volume preserving), 2 - A weighted blend between the two. normalizeMethod : 0 - None, 1 - Interactive, 2 - Post (default) for normalizing weights
- as_EasyExp.edgeLoopCtrl(self, ctrlName='as_EdgeLoop_Ctrl', closeLoop=1, grpLevel=0, edgeList=None, oneShape=True, curvDegree=3, stepVal=1, offset=0)#
- as_EasyExp.generateCurv(self, curvName, deg=3, step=1, objOrPosList=None)#
- as_EasyExp.generateLipsCurve(self)#
- as_EasyExp.generate_HyperSkin(self, jntList=None, vtxList=None, bodyMesh=None)#
- as_EasyExp.getClosestParam_Crv(self, from_ObjOrPos, curvName, getLoc=True)#
- as_EasyExp.getClosestPos_Crv(self, from_ObjOrPos, curvName, getLoc=True)#
- as_EasyExp.getModelFile(self)#
- as_EasyExp.isAttr(self, objNAttr)#
- as_EasyExp.isNum(self, obj)#
- as_EasyExp.locCtrl(self, ctrlName, grpLevel=1)#
Usage: (Note: Its made by nurbs Curves, but looks like locator)#
ctrl =EasyExp.locCtrl(ctrlName)[0] ctrlGrp =EasyExp.locCtrl(ctrlName)[-1] ctrl, ctrlGrp =EasyExp.locCtrl(ctrlName)
Returns:#
- if grpLevel:
return [ctrl, ctrlGrp(topGrp)] #_ asNodes
- else:
return [ctrl, ctrl] #_ asNodes
- as_EasyExp.message(self, messageTxt)#
Sends a given message through confirmDialog window
- as_EasyExp.old_generate_HyperSkin(self, jntList=None)#
- as_EasyExp.old_setScale(self, ctrlGrpList, refObj=None, refAttr=None, ratio=1.0, refVal=None)#
- as_EasyExp.rebuildCurv(self, curvName=None)#
- as_EasyExp.refreshView(self, num)#
- as_EasyExp.setScale(self, ctrlList=None, refObj=None, refAttr=None, ratio=1.0, refVal=None, **shortArgs)#
Args: [**shortArgs : ctrlList =cl, refObj =ro, refAttr =ra, ratio =r, refVal =rv]#
ctrlList : strList #_ if ctrlList is None, ctrlList will be taken from selection. refObj : str #_ Reference object for reference Attribute. if refVal is given, it’s neglected. refAttr : str(Attr) #_ Reference Attr from refObj, if refVal is given, it’s neglected. ratio : int | float #_ Ratio will be taken from refVal or attrValue (from attribute) refVal : int | float #_ If refObj and refAttr is not available, then refVal can be provided.
Usage:#
eCtrl.setScale(ctrlName)[0]
- as_EasyExp.sortByDict({'j1':10, 'j2':2, 'j3':-1.0, 'j4':50.0, 'j5':0, 'j6':10}, 'up')#
sliceDict : None | [‘>’, val] | [‘<’, val] | [‘>=’, val] | [‘<=’, val] | [‘==’, val]
- as_EasyExp.splitCurv(self, curvName, splitCount=1, getBothEnds=True, getLocators=False, locType=1, locPrefix='as_', **kw)#
Args:#
Short Names : curvName =n, splitCount =sc, getBothEnds =gbe, getLocators =gl, locType =lt, locPrefix =lp Usage: —— To split the curve based on param value and given splitCount, there by it gives posList or locList. Its useful for the areas like while splitting the spine curve in equal parts
Returns:#
- if getLocators:
return [posList, locList]
- else:
return posList
- as_EasyExp.triangleCtrl(self, ctrlName='as_Triangle_Ctrl', grpLevel=3, initRot=[0, 0, 0], ctrlType=1, **kw)#
Args:#
Short Names : ctrlName =n, grpLevel =gl, initRot =ir, ctrlType =ct Usage: —— ctrl =EasyExp.circleCtrl(ctrlName)[0] ctrlGrp =EasyExp.circleCtrl(ctrlName)[-1] ctrl, ctrlGrp =EasyExp.circleCtrl(ctrlName)
Returns:#
- if grpLevel:
return [ctrl, ctrlGrp(topGrp)] #_ asNodes
- else:
return [ctrl, ctrl] #_ asNodes