def __init__(self, *args, **kwargs): kwargs['model'] = kwargs.pop('model', TailModel()) super(RigTail, self).__init__(*args, **kwargs) self._model.ik_tail = rigLaces.RigLaces(rig_system=self.rig_system) self._model.fk_tail = rigFK.RigFK(rig_system=self.rig_system) self.root = None self.tip = None
def create_point_base(self, *arm_points, **kwargs): super(Leg, self).create_point_base(*arm_points, **kwargs) self.ik_rig = rigIK.IKRig(rig_system=self.rig_system) self.ik_rig.create_point_base(*arm_points[:-1], control_orientation='world', last_joint_follows_control=False) self.fk_rig = rigFK.RigFK(rig_system=self.rig_system) self.fk_rig.create_point_base(*arm_points, orient_type='point_orient') self.palm = rigSingleJoint.RigSingleJoint(rig_system=self.rig_system) self.palm.create_point_base(arm_points[-1], name='palm', type='box') self.ik_fk_switch = constraintSwitch.ConstraintSwitch( rig_system=self.rig_system) self.ik_fk_switch.build(self.ik_rig.joints, self.fk_rig.joints, control=self.palm.controls[0], attribute_name='IkFkSwitch') for each_control in self.ik_rig.controls: self.ik_fk_switch.attribute_output_a >> each_control.visibility for each_control in self.fk_rig.controls: self.ik_fk_switch.attribute_output_b >> each_control.visibility # pm.parentConstraint(self.fk_limb.controls[0], self.ik_limb.reset_controls['poleVector'], mo=True) # pm.parentConstraint(self.fk_limb.controls[0], self.ik_limb.reset_controls['ikHandleSecondary'], mo=True) pm.parentConstraint(self.fk_rig.controls[0], self.ik_rig.root_joints, mo=True)
def __init__(self, **kwargs): super(RigBypedModel, self).__init__(**kwargs) self.l_arm = arm.Arm() self.r_arm = arm.Arm() self.l_leg = rigIKFKLegFeet.RigIKKFLegFeet() self.r_leg = rigIKFKLegFeet.RigIKKFLegFeet() self.l_hand = hand.Hand() self.r_hand = hand.Hand() self.neck_head = neckHead.NeckHead() self.spine = rigSpine.RigSpine() self.hip = rigFK.RigFK() self.cog = rigProp.RigProp() self.jaw = rigFK.RigFK() self.rig_world = rigWorld.RigWorld() self.l_arm_space_switch = armSpaceSwitch.ArmSpaceSwitch() self.r_arm_space_switch = armSpaceSwitch.ArmSpaceSwitch() self.l_leg_space_switch = legSpaceSwitch.LegSpaceSwitch() self.r_leg_space_switch = legSpaceSwitch.LegSpaceSwitch()
def __init__(self, **kwargs): super(QuadrupedModel, self).__init__(**kwargs) self.l_arm = rigQuadFrontLeg.RigQuadFrontLeg() self.r_arm = rigQuadFrontLeg.RigQuadFrontLeg() self.l_leg = rigIKQuadLegFeet.RigIKQuadLegFeet() self.r_leg = rigIKQuadLegFeet.RigIKQuadLegFeet() self.l_hand = hand.Hand() self.r_hand = hand.Hand() self.tail = rigTailLace.RigTail() self.neck_head = neckHead.NeckHead() self.spine = rigQuadSpine.RigQuadSpine() self.hip = rigFK.RigFK() self.cog = rigProp.RigProp() self.jaw = rigFK.RigFK() self.rig_world = rigWorld.RigWorld() self.l_arm_space_switch = frontLegSpaceSwitch.FrontLegSpaceSwitch() self.r_arm_space_switch = frontLegSpaceSwitch.FrontLegSpaceSwitch() self.l_leg_space_switch = backLegSpaceSwitch.BackLegSpaceSwitch() self.r_leg_space_switch = backLegSpaceSwitch.BackLegSpaceSwitch() self.hip_space_switch = rigHipSpaceSwitch.HipSpaceSwitch() self.neck_space_switch = rigNeckSpaceSwitch.NeckHeadSpaceSwitch()
def build(): tongue_base_root = pm.ls('C_tongueBase00_reference_grp')[0] rig_tongue_base = rigLaces.RigLaces() rig_tongue_base.create_point_base(*tongue_base_root.getChildren(), single_orient_object=True, joint_number=1) tongue_root = pm.ls('C_tongue00_reference_grp')[0] rig_spline_tongue = rigSplineIK.RigSplineIK() rig_spline_tongue.create_point_base(*tongue_root.getChildren(), curve=rig_tongue_base.curve) rig_tongue = rigFK.RigFK() rig_tongue.create_point_base(*rig_spline_tongue.joints, orient_type='point_orient') rig_tongue.create.constraint.node_base(rig_spline_tongue.joints[0], rig_tongue.reset_controls[0]) for each_joint, each_reset in zip(rig_spline_tongue.joints[1:], rig_tongue.reset_controls[1:]): rig_follow_position = rigFollowPosition.FollowPosition() rig_follow_position.build(each_reset, each_joint) pm.addAttr('C_joint00_jaw_ctr', ln='tongue_out', proxy=rig_spline_tongue.ik.offset, k=True) print rig_tongue_base.reset_controls for parent, index_sets in zip(['C_joint02_Spine_sknjnt', 'C_joint00_neck_ctr', 'C_joint00_jaw_ctr'], [(0, 4), (4, 7), (7, 24)]): for index in range(*index_sets): rig_tongue_base.create.constraint.node_base(parent, rig_tongue_base.reset_controls[index], mo=True) rig_tongue.rename_as_skinned_joints()
def create_point_base(self, *points, **kwargs): control = kwargs.pop('control', None) if control: self._model.ik_feet = reverseFeet.RigReverseFeet( rig_system=self.rig_system) self.ik_feet.create_point_base(*points) self._model.fk_feet = rigFK.RigFK(rig_system=self.rig_system) self.fk_feet.create_point_base(*points[:3], orient_type='point_orient') self.build(self.ik_feet.joints, self.fk_feet.joints, control=control, attribute_name='IkFkSwitch') for each_control in self.ik_feet.controls: self.attribute_output_a >> each_control.visibility for each_control, each_joint in zip(self.fk_feet.controls, self.fk_feet.joints): self.attribute_output_b >> each_control.visibility # scale_constraints = each_joint.parentMatrix[0].listConnections(type='scaleConstraint', plugs=True) # scale_constraints[0].disconnect() else: print 'you should provide a control on the kwargs'
def __init__(self, *args, **kwargs): super(RigSpine, self).__init__(*args, **kwargs) self._model = SpineModel() self.rig_spline_ik = rigSplineIK.RigSplineIK( rig_system=self.rig_system) self.fk_spine = rigFK.RigFK(rig_system=self.rig_system)
def fk_rig(self): if self._model.fk_rig is None: self._model.fk_rig = rigFK.RigFK(rig_system=self.rig_system) return self._model.fk_rig
def head(self): if not self._model.head: self._model.head = rigFK.RigFK(rig_system=self.rig_system) return self._model.head
def rig_ik_feet_pivot(self): if not self._model.rig_fk_feet_pivot: self._model.rig_fk_feet_pivot = rigFK.RigFK() return self._model.rig_ik_feet_pivot