Two armatures IK-targeted towards one another?

I have two pipes that I need the ends to be joined in the middle (each of which is tethered to its own main object and will thus be in constant “swinging” motion and changing angles and all). It has to be more or less “smart” since I have multiple, potentially 100+, combinations of these that I have to automate the animation of.

Is there a way to take an input of 2 separate armatures and have the ends of them “smartly” point to one another? I’ve attached a pic of what I’m hoping for :). the green is the object that they are connected to.

I hope to be able to run this with a script instead of manually doing them all, but that struggle is a different battle for a different day ;D . Right now, I’d just like a way to “couple” these pipes together automatically using some IK wizardry.

I tried parenting empties to each endbone and have them target one another but that gave some funky and inconsistent results. I have also considered creating one big IK chain (using a script) but how would it know to preserve the original bone path/geomtery from its edit mode? It would take a completely different path to the target than if they were 2 independent armatures pointed at each other.

Why use two armatures? Anyway, you can create target bone and set it as IK target for both chains, and they will point to this bone.
IK.blend (105.9 KB)
Something like this

1 Like

Damped track > target armature > bone

1 Like

Yup, that’d be a dependency loop. Each depends on the other, so you can’t figure the orientation of either.

Blender isn’t going to be any smarter than you are. You have to decide where the place that they point is. I would say, the obvious point would be exactly between your green cubes. You can get that position by copying location at 1.0 influence from one green cube, then copying location at 0.5 influence from the other green cube.

But, what is the green cube? You cannot copy position from a bone involved in an IK chain to its IK target, so you may need to make a parent for your IK chain’s root, located at the same position, that is not involved in the IK chain.

I’m with others that this is probably not a good way to solve whatever problem you’re trying to use it to solve, but I don’t know what problem that is.

1 Like

Hi, the reason I haven’t used one IK is that it is awfully weighted towards “bending” one side of the spline. See the video below, the left half of the chain gets a lot more bent. Whereas it should be evenly distributed on both sides.

Is there a setting or something I could use to evenly “spread” the deformation to the middle?

You’re going to have more trouble controlling the bend with two separate chains than with one.

Blender uses the pre-IK bend of the bones to determine how to bend the IK. You can control how the IK bends by changing the angle between bones, in either edit or pose mode:

By rotating one of the bones on the lower armature, I’ve changed how the IK behaves.

2 Likes