0
$\begingroup$

Is it possible to make a bone movable relative to another bone? My goal is to rig a hinge such as this one, where the middle rivet of arm A can slide in a slot on arm B:

hinge with sliding part

I managed to rig a version without the sliding effect using inverse kinematics, but the movement of the entire hinge stops or flips to a wrong position, as the sliding would actually be necessary after a certain amount of rotation to keep on moving the hinge.

Maybe using an armature is the wrong way to rig such a thing? Thanks for any hints.

$\endgroup$
1
  • 1
    $\begingroup$ i am pretty sure, that rigging is the right thing and it can do it! I will try to figure it out;) $\endgroup$ – Chris Feb 1 at 12:05
1
$\begingroup$

I'm not sure a full mechanical solution with rigging is possible, with Blender being primarily a modeller/animator. A game engine might be better suited to this.

If it's only for video however, the simplest way would be to rotate the green strip and have the grey strip looking at the bolt screwed into the green. i.e. Give the grey a "Track to" constraint. Set the target as the bolt.

Addendum: 7th Feb 2021

Should the green strip be attached to a hinged window, then it would be the same constraint on the grey strip but the green strip would not be animated, instead, be carried in an arc by the window frame.

$\endgroup$
5
  • $\begingroup$ Thanks a lot for your reply! I tried the "Track to" constraint but failed as the grey arm actually starts changing its position (it is attached to a rotation flap of a box) and then things became weird. In this case the green arm was moving to far and did not stop within the slot of the grey arm. $\endgroup$ – Vincent Feb 6 at 1:12
  • $\begingroup$ That's when things start getting sticky in Blender, when multiple factors come into play. Changing the order with which modifiers and constraints appear in their respective stacks or lists can solve some cases. With others I split the action up into consecutive Blend files or bake the action of one item and bias those keyframes as a group to acomodate the other. An example is at the link below where items are to come to a stop at a precise location. The baked keyframes are simply moved up or down as a whole (biased) in the graph editor, to either extend, limit or modify travel. $\endgroup$ – Edgel3D Feb 6 at 20:49
  • $\begingroup$ Cont... Could this be a solution for you I wonder? To look at limiting the green strip's rotation to precise angles and that way maintain synch with the grey. The driver function might be yet another approach? I hope you get there eventually. :) The Link - blender.stackexchange.com/questions/200415/… $\endgroup$ – Edgel3D Feb 6 at 20:50
  • $\begingroup$ @Vincent Have added a bit to it in case it helps... $\endgroup$ – Edgel3D Feb 9 at 2:55
  • $\begingroup$ Thanks a lot for your answer and time you put into this! I didn't have time yet to delve deeper into this. $\endgroup$ – Vincent Feb 9 at 7:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.