From c7d77e888a948fcde9622c56f33a91f6bbc7f554 Mon Sep 17 00:00:00 2001 From: andresweber Date: Thu, 8 Feb 2018 19:21:09 -0500 Subject: [PATCH] Still can't figure out why leg_ik isn't setting. --- anvil/sub_rig_templates/biped_foot.py | 9 +++++++-- tests/acceptance/test_biped_foot.py | 8 ++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/anvil/sub_rig_templates/biped_foot.py b/anvil/sub_rig_templates/biped_foot.py index f7db757..030b2aa 100644 --- a/anvil/sub_rig_templates/biped_foot.py +++ b/anvil/sub_rig_templates/biped_foot.py @@ -44,8 +44,11 @@ def get_control_shape(self, label): pass return shape - def build(self, duplicate=True, **kwargs): + def build(self, duplicate=True, leg_ik=None, **kwargs): + print(leg_ik, kwargs) super(BipedFoot, self).build(**kwargs) + self.leg_ik = leg_ik or self.leg_ik + if duplicate: self.ankle, self.ball, self.toe = nt.HierarchyChain(self.layout_joints[0].duplicate(all_children=True)) @@ -94,7 +97,9 @@ def build_ik_toe(self): name_tokens={cfg.NAME: self.BALL_TOKEN, cfg.TYPE: cfg.IK_EFFECTOR}) if self.leg_ik: - self.leg_ik.parent(self.ball) + self.leg_ik.parent(self.control_ball.connection_group) + else: + rt.dcc.connections.parent(self.control_ball.connection_group, self.ankle) def build_fk_toe(self): md = self.register_node('ball_rotation_cancel_out', diff --git a/tests/acceptance/test_biped_foot.py b/tests/acceptance/test_biped_foot.py index ce9f6dd..fa7fdda 100644 --- a/tests/acceptance/test_biped_foot.py +++ b/tests/acceptance/test_biped_foot.py @@ -35,11 +35,11 @@ def test_build_with_leg_ik(self): with cleanup_nodes(): parent = nt.Transform.build(name='test') self.import_template_files(self.FOOT_WITH_LEG) - foot_ball_result = self.TEMPLATE_CLASS.build_ik( - nt.HierarchyChain('hip', 'foot', node_filter=cfg.JOINT_TYPE), - solver=cfg.IK_RP_SOLVER) + foot_ball_result = self.TEMPLATE_CLASS.build_ik(nt.HierarchyChain('hip', 'foot', + node_filter=cfg.JOINT_TYPE), + solver=cfg.IK_RP_SOLVER) handle, effector = foot_ball_result[cfg.NODE_TYPE] - rig_instance = self.from_template_file(None, leg_ik=handle, skip_import=True, parent=parent) + rig_instance = self.from_template_file('None', skip_import=True, parent=parent, leg_ik=handle) self.assertEqual(str(rig_instance.root.get_parent()), str(parent))