def addAttributes(self): """Create the anim and setupr rig attributes for the component""" # Anim ------------------------------------------- self.position_att = self.addAnimParam("position", "Position", "double", self.settings["position"], 0, 1) self.maxstretch_att = self.addAnimParam("maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1) self.maxsquash_att = self.addAnimParam("maxsquash", "Max Squash", "double", self.settings["maxsquash"], 0, 1) self.softness_att = self.addAnimParam("softness", "Softness", "double", self.settings["softness"], 0, 1) self.lock_ori0_att = self.addAnimParam("lock_ori0", "Lock Ori 0", "double", self.settings["lock_ori"], 0, 1) self.lock_ori1_att = self.addAnimParam("lock_ori1", "Lock Ori 1", "double", self.settings["lock_ori"], 0, 1) self.tan0_att = self.addAnimParam("tan0", "Tangent 0", "double", 1, 0) self.tan1_att = self.addAnimParam("tan1", "Tangent 1", "double", 1, 0) # Volume self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) if self.settings["autoBend"]: self.sideBend_att = self.addAnimParam("sideBend", "Side Bend", "double", .5, 0, 2) self.frontBend_att = self.addAnimParam("frontBend", "Front Bend", "double", .5, 0, 2) # Setup ------------------------------------------ # Eval Fcurve if self.guide.paramDefs["st_profile"].value: self.st_value = self.guide.paramDefs["st_profile"].value self.sq_value = self.guide.paramDefs["sq_profile"].value else: self.st_value = fcurve.getFCurveValues(self.settings["st_profile"], self.divisions) self.sq_value = fcurve.getFCurveValues(self.settings["sq_profile"], self.divisions) self.st_att = [ self.addSetupParam("stretch_%s" % i, "Stretch %s" % i, "double", self.st_value[i], -1, 0) for i in range(self.divisions) ] self.sq_att = [ self.addSetupParam("squash_%s" % i, "Squash %s" % i, "double", self.sq_value[i], 0, 1) for i in range(self.divisions) ]
def addAttributes(self): # Anim ------------------------------------------- self.position_att = self.addAnimParam("position", "Position", "double", self.settings["position"], 0, 1) self.maxstretch_att = self.addAnimParam("maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1) self.maxsquash_att = self.addAnimParam("maxsquash", "Max Squash", "double", self.settings["maxsquash"], 0, 1) self.softness_att = self.addAnimParam("softness", "Softness", "double", self.settings["softness"], 0, 1) self.tan0_att = self.addAnimParam("tan0", "Tangent 0", "double", 1, 0) self.tan1_att = self.addAnimParam("tan1", "Tangent 1", "double", 1, 0) # Volume self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) # Setup ------------------------------------------ # Eval Fcurve if self.guide.paramDefs["st_profile"].value: self.st_value = self.guide.paramDefs["st_profile"].value self.sq_value = self.guide.paramDefs["sq_profile"].value else: self.st_value = fcurve.getFCurveValues(self.settings["st_profile"], self.divisions) self.sq_value = fcurve.getFCurveValues(self.settings["sq_profile"], self.divisions) self.st_att = [ self.addSetupParam("stretch_%s" % i, "Stretch %s" % i, "double", self.st_value[i], -1, 0) for i in range(self.settings["division"]) ] self.sq_att = [ self.addSetupParam("squash_%s" % i, "Squash %s" % i, "double", self.sq_value[i], 0, 1) for i in range(self.settings["division"]) ]
def addAttributes(self): """Create the anim and setupr rig attributes for the component""" # Anim ------------------------------------------- self.blend_att = self.addAnimParam( "blend", "Fk/Ik Arm", "double", self.settings["blend"], 0, 1) self.blend2_att = self.addAnimParam( "blend_hand", "Fk/Ik Hand", "double", self.settings["blend"], 0, 1) self.auv_att = self.addAnimParam( "auv", "Auto Upvector", "double", 0, 0, 1) self.roll_att = self.addAnimParam( "roll", "Roll", "double", 0, -180, 180) self.armpit_roll_att = self.addAnimParam( "aproll", "Armpit Roll", "double", 0, -360, 360) self.scale_att = self.addAnimParam( "ikscale", "Scale", "double", 1, .001, 99) self.maxstretch_att = self.addAnimParam("maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1, 99) self.slide_att = self.addAnimParam( "slide", "Slide", "double", .5, 0, 1) self.softness_att = self.addAnimParam( "softness", "Softness", "double", 0, 0, 1) self.reverse_att = self.addAnimParam( "reverse", "Reverse", "double", 0, 0, 1) self.roundness0_att = self.addAnimParam( "roundness_up", "Roundness Up", "double", 0, 0, self.size) self.roundness1_att = self.addAnimParam( "roundness_dn", "Roundness Dn", "double", 0, 0, self.size) self.volume_att = self.addAnimParam( "volume", "Volume", "double", 1, 0, 1) self.elbow_thickness_att = self.addAnimParam("elbowthickness", "Elbow Thickness", "double", self.settings["elbow"], 0, 5) self.jntctl_vis_att = self.addAnimParam( "jntct_vis", "Joint Ctl Vis", "bool", 0) # Ref if self.settings["fkrefarray"]: ref_names = self.settings["fkrefarray"].split(",") if len(ref_names) > 1: self.ref_att = self.addAnimEnumParam( "fkref", "Fk Ref", 0, self.settings["fkrefarray"].split(",")) if self.settings["ikrefarray"]: ref_names = self.get_valid_alias_list( self.settings["ikrefarray"].split(",")) if len(ref_names) > 1: self.ikref_att = self.addAnimEnumParam( "ikref", "Ik Ref", 0, ref_names) if self.settings["upvrefarray"]: ref_names = self.get_valid_alias_list( self.settings["upvrefarray"].split(",")) if len(ref_names) > 1: self.upvref_att = self.addAnimEnumParam( "upvref", "UpV Ref", 0, ref_names) if self.validProxyChannels: attribute.addProxyAttribute( [self.blend_att], [self.fk0_ctl, self.fk1_ctl, self.fk2_ctl, self.ik_ctl, self.upv_ctl]) attribute.addProxyAttribute(self.roll_att, [self.ik_ctl, self.upv_ctl]) # Setup ------------------------------------------ # Eval Fcurve if self.guide.paramDefs["st_profile"].value: self.st_value = self.guide.paramDefs["st_profile"].value self.sq_value = self.guide.paramDefs["sq_profile"].value else: self.st_value = fcurve.getFCurveValues(self.settings["st_profile"], self.divisions) self.sq_value = fcurve.getFCurveValues(self.settings["sq_profile"], self.divisions) self.st_att = [self.addSetupParam("stretch_%s" % i, "Stretch %s" % i, "double", self.st_value[i], -1, 0) for i in range(self.divisions)] self.sq_att = [self.addSetupParam("squash_%s" % i, "Squash %s" % i, "double", self.sq_value[i], 0, 1) for i in range(self.divisions)] self.resample_att = self.addSetupParam( "resample", "Resample", "bool", True) self.absolute_att = self.addSetupParam( "absolute", "Absolute", "bool", False)
def addAttributes(self): # Anim ------------------------------------------- self.blend_att = self.addAnimParam("blend", "Fk/Ik Blend", "double", self.settings["blend"], 0, 1) self.roll_att = self.addAnimParam("roll", "Roll", "double", 0, -180, 180) self.scale_att = self.addAnimParam("ikscale", "Scale", "double", 1, .001, 99) self.maxstretch_att = self.addAnimParam("maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1, 99) self.slide_att = self.addAnimParam("slide", "Slide", "double", .5, 0, 1) self.softness_att = self.addAnimParam("softness", "Softness", "double", 0, 0, 1) self.reverse_att = self.addAnimParam("reverse", "Reverse", "double", 0, 0, 1) self.roundness_att = self.addAnimParam("roundness", "Roundness", "double", 0, 0, self.size) self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) self.knee_thickness_att = self.addAnimParam( "kneeAutoThickness", "Knee Auto Thickness", "double", self.settings["kneeThickness"], 0, 1) if self.settings["extraTweak"]: self.tweakVis_att = self.addAnimParam("Tweak_vis", "Tweak Vis", "bool", False) # Ref if self.settings["ikrefarray"]: ref_names = self.get_valid_alias_list( self.settings["ikrefarray"].split(",")) if len(ref_names) > 1: self.ikref_att = self.addAnimEnumParam( "ikref", "Ik Ref", 0, self.settings["ikrefarray"].split(",")) ref_names = ["Auto", "ikFoot"] if self.settings["upvrefarray"]: ref_names = ref_names + self.get_valid_alias_list( self.settings["ikrefarray"].split(",")) self.upvref_att = self.addAnimEnumParam("upvref", "UpV Ref", 0, ref_names) if self.settings["pinrefarray"]: ref_names = self.get_valid_alias_list( self.settings["pinrefarray"].split(",")) ref_names = ["Auto"] + ref_names if len(ref_names) > 1: self.pin_att = self.addAnimEnumParam("kneeref", "Knee Ref", 0, ref_names) if self.validProxyChannels: attrs_list = [self.blend_att, self.roundness_att] if self.settings["extraTweak"]: attrs_list += [self.tweakVis_att] attribute.addProxyAttribute(attrs_list, [ self.fk0_ctl, self.fk1_ctl, self.fk2_ctl, self.ik_ctl, self.upv_ctl, self.mid_ctl ]) attribute.addProxyAttribute(self.roll_att, [self.ik_ctl, self.upv_ctl]) # Setup ------------------------------------------ # Eval Fcurve if self.guide.paramDefs["st_profile"].value: self.st_value = self.guide.paramDefs["st_profile"].value self.sq_value = self.guide.paramDefs["sq_profile"].value else: self.st_value = fcurve.getFCurveValues(self.settings["st_profile"], self.divisions) self.sq_value = fcurve.getFCurveValues(self.settings["sq_profile"], self.divisions) self.st_att = [ self.addSetupParam("stretch_%s" % i, "Stretch %s" % i, "double", self.st_value[i], -1, 0) for i in range(self.divisions) ] self.sq_att = [ self.addSetupParam("squash_%s" % i, "Squash %s" % i, "double", self.sq_value[i], 0, 1) for i in range(self.divisions) ] self.resample_att = self.addSetupParam("resample", "Resample", "bool", True) self.absolute_att = self.addSetupParam("absolute", "Absolute", "bool", False)
def addAttributes(self): """Create the anim and setupr rig attributes for the component""" # Anim ------------------------------------------- self.maxstretch_att = self.addAnimParam( "maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1, ) self.maxsquash_att = self.addAnimParam( "maxsquash", "MaxSquash", "double", self.settings["maxsquash"], 0, 1, ) self.softness_att = self.addAnimParam("softness", "Softness", "double", self.settings["softness"], 0, 1) self.lock_ori_att = self.addAnimParam("lock_ori", "Lock Ori", "double", 1, 0, 1) self.tan0_att = self.addAnimParam("tan0", "Tangent 0", "double", 1, 0) self.tan1_att = self.addAnimParam("tan1", "Tangent 1", "double", 1, 0) # Volume self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) # Ref if self.settings["ikrefarray"]: ref_names = self.get_valid_alias_list( self.settings["ikrefarray"].split(",")) if len(ref_names) > 1: self.ikref_att = self.addAnimEnumParam("ikref", "Ik Ref", 0, ref_names) if self.settings["headrefarray"]: ref_names = self.get_valid_alias_list( self.settings["headrefarray"].split(",")) if len(ref_names) > 1: ref_names.insert(0, "self") self.headref_att = self.addAnimEnumParam( "headref", "Head Ref", 0, ref_names) # Setup ------------------------------------------ # Eval Fcurve if self.guide.paramDefs["st_profile"].value: self.st_value = self.guide.paramDefs["st_profile"].value self.sq_value = self.guide.paramDefs["sq_profile"].value else: self.st_value = fcurve.getFCurveValues(self.settings["st_profile"], self.divisions) self.sq_value = fcurve.getFCurveValues(self.settings["sq_profile"], self.divisions) self.st_att = [ self.addSetupParam( "stretch_%s" % i, "Stretch %s" % i, "double", self.st_value[i], -1, 0, ) for i in range(self.divisions) ] self.sq_att = [ self.addSetupParam( "squash_%s" % i, "Squash %s" % i, "double", self.sq_value[i], 0, 1, ) for i in range(self.divisions) ]
def addAttributes(self): """Create the anim and setupr rig attributes for the component""" if self.settings["ik0refarray"]: ref_names = self.get_valid_alias_list( self.settings["ik0refarray"].split(",")) if len(ref_names) > 1: self.ikref_att = self.addAnimEnumParam( "ik0ref", "Ik0 Ref", 0, ref_names) if self.settings["ik1refarray"]: ref_names = self.get_valid_alias_list( self.settings["ik1refarray"].split(",")) if len(ref_names) > 1: self.ikref_att = self.addAnimEnumParam( "ik1ref", "Ik1 Ref", 0, ref_names) if not self.settings["isGlobalMaster"]: # Anim ------------------------------------------- self.volume_att = self.addAnimParam( "volume", "Volume", "double", 1, 0, 1) self.maxstretch_att = self.addAnimParam( "maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 0.1, 10.) self.maxsquash_att = self.addAnimParam( "maxsquash", "Max Squash", "double", self.settings["maxsquash"], 0., 1.) self.softness_att = self.addAnimParam( "softness", "Softness", "double", self.settings["softness"], 0, 1) self.lock_ori0_att = self.addAnimParam( "lock_ori0", "Lock Ori 0", "double", # self.settings["lock_ori"], 0.0, 0, 1 ) self.lock_ori1_att = self.addAnimParam( "lock_ori1", "Lock Ori 1", "double", # self.settings["lock_ori"], 1., 0, 1 ) self.fk_collapsed_att = self.addAnimParam( "traditional_fk", "Traditional FK", "bool", False ) # Setup ------------------------------------------ # Eval Fcurve ikname = "{}_ik_profile".format(self.guide.root.split("|")[-1]) self.ik_value = fcurve.getFCurveValues(ikname, self.settings["ikNb"]) self.ik_att = [self.addAnimParam("gravity_rate_ik%s" % i, "Planetary Ik ratio %s" % i, "double", self.ik_value[i], 0, 1) for i in range(1, self.settings["ikNb"] - 1)] stname = "{}_st_profile".format(self.guide.root.split("|")[-1]) sqname = "{}_sq_profile".format(self.guide.root.split("|")[-1]) self.st_value = fcurve.getFCurveValues(stname, self.divisions) self.sq_value = fcurve.getFCurveValues(sqname, self.divisions) self.st_att = [self.addSetupParam("stretch_%s" % i, "Stretch %s" % i, "double", self.st_value[i], -1, 0) for i in range(self.divisions)] self.sq_att = [self.addSetupParam("squash_%s" % i, "Squash %s" % i, "double", self.sq_value[i], 0, 1) for i in range(self.divisions)]
def addAttributes(self): self.blend_att = self.addAnimParam( "blend", "Fk/Ik Blend", "double", self.settings["blend"], 0, 1) self.fullIK_attr = self.addAnimParam( "fullIK", "Full 3 bones IK", "double", self.settings["full3BonesIK"], 0, 1) self.soft_attr = self.addAnimParam( "softIKRange", "Soft IK Range", "double", 0.0001, 0.0001, 100) self.softSpeed_attr = self.addAnimParam( "softIKSpeed", "Soft IK Speed", "double", 2.5, 1.001, 10) self.stretch_attr = self.addAnimParam( "stretch", "Stretch", "double", 0, 0, 1) self.volume_att = self.addAnimParam( "volume", "Volume", "double", 1, 0, 1) self.roll_att = self.addAnimParam( "roll", "Roll", "double", 0, -180, 180) self.roundnessKnee_att = self.addAnimParam( "roundnessKnee", "Roundness Knee", "double", 0, 0, self.size) self.roundnessAnkle_att = self.addAnimParam( "roundnessAnkle", "Roundness Ankle", "double", 0, 0, self.size) self.boneALenghtMult_attr = self.addAnimParam( "boneALenMult", "Bone A Mult", "double", 1) self.boneBLenghtMult_attr = self.addAnimParam( "boneBLenMult", "Bone B Mult", "double", 1) self.boneCLenghtMult_attr = self.addAnimParam( "boneCLenMult", "Bone C Mult", "double", 1) self.boneALenght_attr = self.addAnimParam( "boneALen", "Bone A Length", "double", self.length0, keyable=False) self.boneBLenght_attr = self.addAnimParam( "boneBLen", "Bone B Length", "double", self.length1, keyable=False) self.boneCLenght_attr = self.addAnimParam( "boneCLen", "Bone C Length", "double", self.length2, keyable=False) # Ref if self.settings["ikrefarray"]: ref_names = self.get_valid_alias_list( self.settings["ikrefarray"].split(",")) if len(ref_names) > 1: self.ikref_att = self.addAnimEnumParam( "ikref", "Ik Ref", 0, ref_names) if self.settings["upvrefarray"]: ref_names = self.get_valid_alias_list( self.settings["upvrefarray"].split(",")) ref_names = ["Auto"] + ref_names if len(ref_names) > 1: self.upvref_att = self.addAnimEnumParam("upvref", "UpV Ref", 0, ref_names) if self.validProxyChannels: attribute.addProxyAttribute( [self.blend_att, self.roundnessAnkle_att, self.roundnessKnee_att], [self.fk0_ctl, self.fk1_ctl, self.fk2_ctl, self.ik_ctl, self.upv_ctl]) attribute.addProxyAttribute(self.roll_att, [self.ik_ctl, self.upv_ctl]) # Setup ------------------------------------------ # Eval Fcurve if self.guide.paramDefs["st_profile"].value: self.st_value = self.guide.paramDefs["st_profile"].value self.sq_value = self.guide.paramDefs["sq_profile"].value else: self.st_value = fcurve.getFCurveValues(self.settings["st_profile"], self.divisions) self.sq_value = fcurve.getFCurveValues(self.settings["sq_profile"], self.divisions) self.st_att = [self.addSetupParam("stretch_%s" % i, "Stretch %s" % i, "double", self.st_value[i], -1, 0) for i in range(self.divisions)] self.sq_att = [self.addSetupParam("squash_%s" % i, "Squash %s" % i, "double", self.sq_value[i], 0, 1) for i in range(self.divisions)] self.resample_att = self.addSetupParam( "resample", "Resample", "bool", True) self.absolute_att = self.addSetupParam( "absolute", "Absolute", "bool", False) defValu = self.chain3bones[1].attr("jointOrientZ").get() / 2 self.kneeFlipOffset_att = self.addSetupParam("kneeFlipOffset", "Knee Flip Offset", "double", defValu, -180, 180) defValu = self.chain3bones[2].attr("jointOrientZ").get() / 2 self.ankleFlipOffset_att = self.addSetupParam("ankleFlipOffset", "Ankle Flip Offset", "double", defValu, -180, 180)