diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2019-10-23 13:18:38 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2019-10-23 13:18:38 +0300 |
commit | 69ada355ca003733ac0e69ec1e884f3e2199e97f (patch) | |
tree | 8f5b89ab1ed3fbe98d72b9f93024fa5b1dd05895 /rigify/rigs/limbs | |
parent | 4625dfb9e74a317c072389357cda89d2a0605d7e (diff) |
Rigify: support tags in SwitchParentBuilder for default selection.
Allow tagging parents with arbitrary strings to be later used
in selecting the best default parent for a child control.
Also add a tagged parent point at the limb IK control.
Diffstat (limited to 'rigify/rigs/limbs')
-rw-r--r-- | rigify/rigs/limbs/arm.py | 2 | ||||
-rw-r--r-- | rigify/rigs/limbs/leg.py | 2 | ||||
-rw-r--r-- | rigify/rigs/limbs/limb_rigs.py | 5 | ||||
-rw-r--r-- | rigify/rigs/limbs/paw.py | 2 |
4 files changed, 8 insertions, 3 deletions
diff --git a/rigify/rigs/limbs/arm.py b/rigify/rigs/limbs/arm.py index 98a3c50f..1ac979d0 100644 --- a/rigify/rigs/limbs/arm.py +++ b/rigify/rigs/limbs/arm.py @@ -62,7 +62,7 @@ class Rig(BaseLimbRig): def register_switch_parents(self, pbuilder): super().register_switch_parents(pbuilder) - pbuilder.register_parent(self, self.bones.org.main[2], exclude_self=True) + pbuilder.register_parent(self, self.bones.org.main[2], exclude_self=True, tags={'limb_end'}) def make_ik_ctrl_widget(self, ctrl): create_hand_widget(self.obj, ctrl) diff --git a/rigify/rigs/limbs/leg.py b/rigify/rigs/limbs/leg.py index 35e68f58..99610a6a 100644 --- a/rigify/rigs/limbs/leg.py +++ b/rigify/rigs/limbs/leg.py @@ -145,7 +145,7 @@ class Rig(BaseLimbRig): def register_switch_parents(self, pbuilder): super().register_switch_parents(pbuilder) - pbuilder.register_parent(self, self.bones.org.main[2], exclude_self=True) + pbuilder.register_parent(self, self.bones.org.main[2], exclude_self=True, tags={'limb_end'}) def make_ik_ctrl_widget(self, ctrl): obj = create_foot_widget(self.obj, ctrl) diff --git a/rigify/rigs/limbs/limb_rigs.py b/rigify/rigs/limbs/limb_rigs.py index 86fc6be4..dee9a6f4 100644 --- a/rigify/rigs/limbs/limb_rigs.py +++ b/rigify/rigs/limbs/limb_rigs.py @@ -375,6 +375,11 @@ class BaseLimbRig(BaseRig): if self.rig_parent_bone: pbuilder.register_parent(self, self.rig_parent_bone) + pbuilder.register_parent( + self, self.get_ik_control_output(), name=self.bones.ctrl.ik, + exclude_self=True, tags={'limb_ik'}, + ) + def build_ik_parent_switch(self, pbuilder): ctrl = self.bones.ctrl diff --git a/rigify/rigs/limbs/paw.py b/rigify/rigs/limbs/paw.py index a13348d1..28374eec 100644 --- a/rigify/rigs/limbs/paw.py +++ b/rigify/rigs/limbs/paw.py @@ -107,7 +107,7 @@ class Rig(BaseLimbRig): def register_switch_parents(self, pbuilder): super().register_switch_parents(pbuilder) - pbuilder.register_parent(self, self.bones.org.main[3], exclude_self=True) + pbuilder.register_parent(self, self.bones.org.main[3], exclude_self=True, tags={'limb_end'}) def make_ik_ctrl_widget(self, ctrl): create_foot_widget(self.obj, ctrl) |