def pvt_add_finger_driven_keys_bendBase(self, ctrl, prefix, f_name): finger_prefix = self.cn + '_' + prefix joint_rot = lambda name, i: finger_prefix + name + str(i) + '.rotateZ' attr = joint_rot(f_name, 1) cur_val = cmds.getAttr(attr) gu.set_driven_key(ctrl + '.bendBase' + f_name, attr, 0, cur_val) gu.set_driven_key(ctrl + '.bendBase' + f_name, attr, 100, cur_val + 100)
def pvt_add_finger_driven_keys_spreadBase(self, ctrl, prefix, f_name, scale): finger_prefix = self.cn + '_' + prefix joint_rot = lambda name, i: finger_prefix + name + str(i) + '.rotateY' attr = joint_rot(f_name, 1) cur_val = cmds.getAttr(attr) gu.set_driven_key(ctrl + '.spreadBaseAll', attr, 0, cur_val) gu.set_driven_key(ctrl + '.spreadBaseAll', attr, 100, cur_val + (100 * scale))
def pvt_add_finger_driven_keys_curl(self, ctrl, prefix, f_name, all=False): finger_prefix = self.cn + '_' + prefix joint_rot_attr_proc = lambda name, i: finger_prefix + name + str( i) + '.rotateZ' attr_driver_proc = lambda f_name: ctrl + '.curlAll' if all is True else ctrl + '.curl' + f_name attr_driver = attr_driver_proc(f_name) attr_driven = joint_rot_attr_proc(f_name, 1) cur_val = cmds.getAttr(attr_driven) gu.set_driven_key(attr_driver, attr_driven, 0, cur_val) gu.set_driven_key(attr_driver, attr_driven, 100, cur_val + 100) attr_driven = joint_rot_attr_proc(f_name, 2) cur_val = cmds.getAttr(attr_driven) gu.set_driven_key(attr_driver, attr_driven, 0, cur_val) gu.set_driven_key(attr_driver, attr_driven, 100, cur_val + 100) attr_driven = joint_rot_attr_proc(f_name, 3) cur_val = cmds.getAttr(attr_driven) gu.set_driven_key(attr_driver, attr_driven, 0, cur_val) gu.set_driven_key(attr_driver, attr_driven, 100, cur_val + 100)
def create_footRoll_driven_keys(self, **p): cn = self.cn # Custom attributes and driven keys n = cn + '_ctrl_RightFoot_FRoll_LocA' gu.add_attribute(n, 'midRoll', type='float', min=0, max=50, default=0, keyable=True) nC = cn + '_RightFoot_FRoll_LocC.rotateX' gu.set_driven_key(n + '.midRoll', nC, 0, 0) gu.set_driven_key(n + '.midRoll', nC, 50, 50) n = cn + '_ctrl_LeftFoot_FRoll_LocA' gu.add_attribute(n, 'midRoll', type='float', min=0, max=50, default=0, keyable=True) nC = cn + '_LeftFoot_FRoll_LocC.rotateX' gu.set_driven_key(n + '.midRoll', nC, 0, 0) gu.set_driven_key(n + '.midRoll', nC, 50, 50) n = cn + '_ctrl_RightFoot_FRoll_LocA' gu.add_attribute(n, 'baseRoll', type='float', min=-90, max=90, default=0, keyable=True) nC = cn + '_RightFoot_FRoll_LocA.rotateX' gu.set_driven_key(n + '.baseRoll', nC, -90, -90) gu.set_driven_key(n + '.baseRoll', nC, 90, 90) n = cn + '_ctrl_LeftFoot_FRoll_LocA' gu.add_attribute(n, 'baseRoll', type='float', min=-90, max=90, default=0, keyable=True) nC = cn + '_LeftFoot_FRoll_LocA.rotateX' gu.set_driven_key(n + '.baseRoll', nC, -90, -90) gu.set_driven_key(n + '.baseRoll', nC, 90, 90) n = cn + '_ctrl_RightFoot_FRoll_LocA' gu.add_attribute(n, 'baseRotate', type='float', min=-45, max=45, default=0, keyable=True) nC = cn + '_RightFoot_FRoll_LocA.rotateY' gu.set_driven_key(n + '.baseRotate', nC, -45, -45) gu.set_driven_key(n + '.baseRotate', nC, 45, 45) n = cn + '_ctrl_LeftFoot_FRoll_LocA' gu.add_attribute(n, 'baseRotate', type='float', min=-45, max=45, default=0, keyable=True) nC = cn + '_LeftFoot_FRoll_LocA.rotateY' gu.set_driven_key(n + '.baseRotate', nC, -45, -45) gu.set_driven_key(n + '.baseRotate', nC, 45, 45) n = cn + '_ctrl_RightFoot_FRoll_LocA' gu.add_attribute(n, 'toeRaise', type='float', min=0, max=120, default=0, keyable=True) nC = cn + '_RightFoot_FRoll_LocB.rotateX' gu.set_driven_key(n + '.toeRaise', nC, 0, 0) gu.set_driven_key(n + '.toeRaise', nC, 120, 120) n = cn + '_ctrl_LeftFoot_FRoll_LocA' gu.add_attribute(n, 'toeRaise', type='float', min=0, max=120, default=0, keyable=True) nC = cn + '_LeftFoot_FRoll_LocB.rotateX' gu.set_driven_key(n + '.toeRaise', nC, 0, 0) gu.set_driven_key(n + '.toeRaise', nC, 120, 120)