Exemplo n.º 1
0
    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)
        ]
Exemplo n.º 2
0
    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"])
        ]
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
    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)]
Exemplo n.º 7
0
    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)