예제 #1
0
파일: Control.py 프로젝트: jwnwilson/nw_rig
def sphereCtl( name, functArgs ):
        J=[]
        ctl = Lib.getFirst(cmds.polySphere( n = (name + "_CTL"), r= functArgs["size"], sx= 1, sy= 1, ax= [0, 1, 0], ch= 1))
        grp = cmds.group( ctl, n = (name + "Ctl_GRP"))
        J.append(ctl)
        J.append(grp)
        return J
예제 #2
0
파일: Control.py 프로젝트: jwnwilson/nw_rig
def cubeCtl( name, functArgs ):
        J=[]
        ctl = Lib.getFirst(cmds.polyCube( n = (name + "_CTL"), w= functArgs["size"], h= functArgs["size"], d= 1, sx= 1, sy= 1, sz= 1, ax= [0, 1, 0], cuv= 4, ch= 1))
        grp = cmds.group( ctl, n = (name + "Ctl_GRP"))
        J.append(ctl)
        J.append(grp)
        return J
예제 #3
0
파일: Control.py 프로젝트: jwnwilson/nw_rig
def circleCtl( name, radius ):
        'Creates arrow control'
        J=[]
        curve= Lib.getFirst(cmds.circle( n = (name+ "_CTL"), c= [0, 0, 0], nr= [0, 1, 0], sw= 360, r= radius, d= 3, ut= 0, tol= 0.01 ,s= 8, ch=1))
        grp = cmds.group( curve, n = (name + "Ctl_GRP"))
        J.append(curve)
        J.append(grp)
        return J
예제 #4
0
파일: Control.py 프로젝트: jwnwilson/nw_rig
def locatorCtl( name, args ):
        'Creates locator ctl'
        J=[]
        ctl = Lib.getFirst(cmds.spaceLocator( n =(name + "_CTL") ) )
        grp = cmds.group( ctl, n = (name + "Ctl_GRP"))
        cmds.xform(grp, piv= [0,0,0] )
        J.append(ctl)
        J.append(grp)
        return J
예제 #5
0
파일: joint.py 프로젝트: jwnwilson/nw_maya
def duplicateChain(name , chainJoints):
        'Duplicates a chain of joints'
        i = 1
        joints = []
        jointNo = len(chainJoints)
        
        for x in range( jointNo ):
            joints.append( Lib.getFirst(cmds.duplicate(chainJoints[x], po = True, n = (name + str(x + 1) + "_JNT"))) ) 
        
        for x in range( 1, jointNo ):
            cmds.parent(joints[jointNo - x], joints[jointNo - (x + 1)])
        
        return joints
예제 #6
0
파일: file.py 프로젝트: jwnwilson/nw_maya
def saveTransforms(filePath, module, objects):
    """
        Will Store transfrom data in file
    """
    # objects = self.getRegisteredObjects( module, regAttr)
    writeData = ""

    for object in objects:
        translate = Lib.getFirst(cmds.getAttr((object + ".t")))
        rotate = Lib.getFirst(cmds.getAttr((object + ".r")))
        scale = Lib.getFirst(cmds.getAttr((object + ".s")))
        writeLine = (
            object
            + " "
            + str(translate[0])
            + " "
            + str(translate[1])
            + " "
            + str(translate[2])
            + " "
            + str(rotate[0])
            + " "
            + str(rotate[1])
            + " "
            + str(rotate[2])
            + " "
            + str(scale[0])
            + " "
            + str(scale[1])
            + " "
            + str(scale[2])
            + "\n"
        )
        writeData += writeLine
    FILE = open(filePath, "wb")
    blueprintData = FILE.write(writeData)
    FILE.close()
    print ("Saved Transform data to : " + filePath)
예제 #7
0
파일: Control.py 프로젝트: jwnwilson/nw_rig
def createPoleVec(joints, ikHandle, position):
    """
        Creates pole vector for handle for three joints
    """
    if len(joints) != 3:
        cmds.error("Incorrect number of joints supplied to IkHandle.")
    
    # Create locator to act as pole vector
    locName = (String.removeSuffix(ikHandle) + "Pole_LOC")
    poleGrpName = (String.removeSuffix(ikHandle) + "Pole_GRP")
    poleVecName = (String.removeSuffix(ikHandle) + "Pole_PVC")
    
    loc = Lib.getFirst(cmds.spaceLocator(n = locName, p= (0,0,0) ))
    cmds.xform(loc, ws= True, t= (position[0], position[1], position[2]) )
    locGrp = cmds.group(loc, n= poleGrpName)
    cmds.poleVectorConstraint( loc , ikHandle, n= poleVecName, w=.1 )
    cmds.setAttr((loc + ".v"), 0)
    
    return locGrp