Connect an object to a single bone when bones are chained

I am trying to get the same effect as this video ( https://youtu.be/Q9IRHmfGDrU?t=414 ) in which a spider leg-like leg moves. It has 3 bones, and I want to connect three boxes to each bone. The first box was connected to the first bone, but the second bone seems to get connected to the whole 3-bone structure. The thing I did was in the object mode, select the box, then select the middle bone with shift pressed, and then Ctrl+P and select “Bone”. But clicking the middle bone seems to select the whole 3-bone structure.

Here is the project file: damn-bones.blend (106.3 KB)

You don’t have enough geometry, for starters, add some edge loops to the boxes. You’ll find better results by lining the boxes up with the bones, parenting the boxes to the Armature with Automatic Weights, and then adjusting the weights if needed.

I am not trying to bend the cube itself; imagine something like a wooden puppet. I think I need to select only the middle bone after selecting the centre cube, but clicking it selects all three bones.

You need to parent objects from pose mode

1 Like

When parenting the objects to the armature parent with empty groups. Then in the vertex groups select and assign each box individually only to the appropriate vertex group.

It worked but the procedure was kind of cumbersome. Click the cube, shift+click a bone, change to pose mode, click the target bone, then press ctrl+P to make the bone the parent. Is this the orthodox way?

I cannot understand what you mean. Could you add some screenshots?

Unlock object modes from the edit menu, then click object, then click bone, make sure you’re in pose mode, finally ctrl+p

Select all objects you want to connect to the armature and the armature using < ctrl + p > to parent and select to armature with empty groups.

In your properties tab you will now have vertex groups for each bone with nothing assigned.

Select each object in turn, enter edit mode (make sure no geometry is hidden < alt + h >) and select all verts. Then in the properties panel click assign only to the bone vert group you want to cause movement.

In the armature settings of your property panel iTaSC generally seems to provide cleaner results for IK.

ik solver

test

1 Like

Thanks, the connection itself worked, and if I start with the objects and bones not rotated, as your example, there seems no problem. But if I start with bones and objects rotated, after assigning a bone to an object, if I get out of the edit mode, the object’s rotation and position becomes weird. How can I keep the position/rotation after assigning the bone? Or must I start the connection before rotating bones and objects and do that after the connections?

If starting with objects modeled in position and adding your armature afterward:

Note the axis of each object shown at object origin. (armature in orange since it is selected)

You must 1st apply all transforms to your objects < ctrl + a > (including location)

tranforms applied

The armature and each individual object are now set with the same origin and rotation axis.

At this point you can use the steps in above post to parent with empty groups and assign vertex groups to each object in edit mode.

anim

“Relative parenting” under bone properties, relations panel