コード例 #1
0
ファイル: FKArm.py プロジェクト: jaredauty/Rigging
 def rigWrist(self):
    #Check that shoulder has been done
    if not self.m_isElbow:
        self.rigElbow()
    # --- Wrist --- #
    self.m_wristCtrl = rc.makeCTRL(
         self.m_joints.m_wrist, 
         False,
         False,
         ["_SDK", "_CONST", "_0"]
         )
    # Sort orientation
    rc.orientControl(self.m_wristCtrl+"_0", self.m_joints.m_elbow2)
    rc.copyTranslation(self.m_wristCtrl+"_0", self.m_joints.m_wrist)
    #Parent for neatness
    cmds.parent(self.m_wristCtrl+"_0", self.m_elbowCtrl)
    #Connect up to previous joint
    cmds.parentConstraint(
         self.m_joints.m_elbow2,
         self.m_wristCtrl+"_CONST",
         mo=1
         )
    cmds.pointConstraint(
         self.m_wristCtrl,
         self.m_joints.m_wrist,
         skip=["y", "z"]
         )
    rc.lockAttrs(
         self.m_wristCtrl,
         ["ty", "tz", "rotate", "scale"],
         True,
         False
         )
    # Add to controls
    rc.addToControlDict(self.m_allControls, "%s_FKWrist" %(self.m_baseName), self.m_wristCtrl)
    rc.addToLayer(self.m_sceneData, "mainCtrl", self.m_wristCtrl)
    self.m_isWrist = True
コード例 #2
0
ファイル: AutoClav.py プロジェクト: jaredauty/Rigging
def generateAutoClav(_name, _shoulderSDK, _wristIK):
	print "doing something"
	error.assertString(_name)
	error.assertMayaObject(_shoulderSDK)
	error.assertMayaObject(_wristIK)
	cmds.select(clear=True)

	# Create joints
	joint1 = cmds.joint(n="%s_IK_JNT" %(_name))
	rc.copyTranslation(joint1, _shoulderSDK)
	joint2 = cmds.joint(n="%s_IKEND_JNT" %(_name))
	rc.copyTranslation(joint2, _wristIK)
	#cmds.parent(joint2, joint1)

	# Create IK
	ikControl = cmds.ikHandle(
		n="%s_IK" %(_name),
		sol="ikRPsolver",
		sj= joint1,
		ee=joint2
		)[0]
	# deselect so we don't get warnings
	cmds.select(d=1)

	# Create pole vec
	locator = cmds.spaceLocator(n="%s_up_LOC" %(_name))[0]
	rc.orientControl(locator, _wristIK)
	locGroup = rg.addGroup(locator, "%s_0" %(locator))
	cmds.setAttr("%s.ty" %(locator), 2)

	cmds.poleVectorConstraint(locator, ikControl)

	# Connect up to rig
	cmds.pointConstraint(_wristIK, locGroup, mo=1)
	cmds.pointConstraint(_wristIK, ikControl, mo=1)

	cmds.orientConstraint(joint1, _shoulderSDK, mo=1)
コード例 #3
0
ファイル: FingerRig.py プロジェクト: jaredauty/Rigging
    def generate(self):
        if self.m_isThumb:
            names = ["metacarpal", "knuckle", "tip", "tipEND"]
        else:
            names = ["metacarpal", "knuckle", "mid", "tip", "tipEND"]
        i = 0
        parentControl = False
        self.m_controls = []
        self.m_stretchControls = []
            
        for joint in self.m_joints:
            # Create control
            newStretch = False
            if joint != self.m_joints[0]:
                #Create stretch control
                stretchName = "%s_%s_stretch_CTRL" %(self.m_name, names[i])
                newStretch = cmds.spaceLocator(n=stretchName)[0]
                rc.setMultiAttrs(
                    newStretch,
                    ["localScaleX", "localScaleY", "localScaleZ"],
                    0.15
                    )
                rc.orientControl(newStretch, cmds.listRelatives(joint, p=1)[0])
                rc.copyTranslation(newStretch, joint)
                if parentControl:
                    cmds.parent(newStretch, parentControl)
                else:
                    cmds.parent(newStretch, self.m_group)
                rg.add3Groups(
                    newStretch, 
                    ["_SDK", "_CONST", "_0"]
                    )
                # lock unused attrs
                rc.lockAttrs(
                    newStretch,
                    ["ty", "tz", "rotate", "scale"],
                    True,
                    False
                    )
                parentControl = newStretch
            
            if joint != self.m_joints[-1]:
                controlName = "%s_%s_CTRL" %(self.m_name, names[i])
                newControl = cmds.circle(
                    n=controlName,
                    nr=(1, 0, 0),
                    r=0.1
                    )[0]
                rc.orientControl(newControl, joint)
                if parentControl:
                    cmds.parent(newControl, parentControl)
                else:
                    cmds.parent(newControl, self.m_group)
                self.m_controls.append(newControl)

                groups = rg.add3Groups(newControl, ["_SDK", "_CONST", "_0"])
                if newStretch:
                    # Attach to stretch
                    cmds.parentConstraint(newStretch, groups[1], mo=1)
                # Attach to joint
                cmds.parentConstraint(newControl, joint, mo=1)
                rc.lockAttrs(
                    newControl,
                    ["translate", "scale"],
                    True,
                    False
                    )
                parentControl = newControl
                i += 1
            else:
                cmds.parentConstraint(newStretch, joint, mo=1)

        # Rig metacarpals
        if not self.m_isThumb:
            pass

        self.m_isGenerated = True