2
$\begingroup$

I am trying to make a pneumatic arm via two bones that grab each end of this arm. I want one bone corner to grab one end of the mesh and another bone group to grab the other end of a mesh.

Each end should not deform, only rotate so it is facing the other end whilst the middle deforms, perhaps to just one bone? Ive posted this problem before but it was a bad post that didn't clearly explain what I was trying to do.

Link to blend file of what I am trying to achieve via animal. This is an animation and not anything completed:https://drive.google.com/file/d/1xBVwUkrW3eePeT0W-W0QNA4DpkSZRqHe/view?usp=share_link First

Second

$\endgroup$

1 Answer 1

2
$\begingroup$

We start off like this:

enter image description here

We have three deforming bones. The middle bone is parented to one of these bones and stretches to the other, with volume variation 0.0. The axes of the two endcap bones are identical, which will eventually be important.

We can see why this isn't good enough yet.

The two end bones will depend on each other, so we need to add another layer. We'll create two control bones and parent each end bone to them. Then we'll give one of our deforming end bones a damped track constraint to target the control on the other side (tracking the appropriate axis, here, -X):

enter image description here

Halfway there, but obviously not yet right. Now let's give the other endcap bone a copy rotation constraint targeting the first endcap bone, on default world->world orientation:

enter image description here

Now we can manipulate our end controls however we'd like. The structure will adjust so that the two endcaps face each other. The roll of the entire structure, however, will be determined by only a single control (here, ctrl.R.)

$\endgroup$
1
  • $\begingroup$ Thank you SO MUCH! this has been bothering me for SO long $\endgroup$ Jan 26, 2023 at 23:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .