Rotating child bone translates the layers it is linked to

I am trying to set up a very basic skeleton for an animation by following the basic bone tutorial. I’ve set up my arm (without a separate wrist joint), aligned it with the crosshair, and added two bones, one for the lower and one for the upper arm. Linking the upper arm to the parent bone works as in the tutorial; if I rotate the bone the upper arm moves in sync with it. However, when I select the lower arm and link it to the child bone, then rotate the child bone, the lower arm rotates but also undergoes a translation, so it doesn’t move in sync with the bone as expected.

After linking the lower arm to the child bone, before rotating:

After rotating:

What could I be doing wrong? I’m using Synfig 1.4.0.

UPDATE: After comparing with the file from the bone tutorial, I tried aligning the origins of the arm layers with the origins of their respective bones like in the example, but all that accomplished was that now the upper arm gets translated upon rotation too. It seems like the layer origin positions are important, but the tutorial doesn’t mention this.

UPDATE 2: .sifz file demonstrating the issue attached.

BoneIssue.sifz (5.4 KB)

Not sure if this tutorial will be of any help, but I’m sharing it anyway:

That actually does work! The crucial thing appears to be linking the origin of the layer group you want to attach to the bone rather than all the handles of the child layers, as the official tutorial says. It seems like it needs to be corrected.

Possible problem I (think I) know:

  • The bone links (sadly) must be done with layers that are in the same level as the skeleton layer; they can’t be inside a group if the Skeleton isn’t in the same one.

  • If you’re linking to a group, you shouldn’t link to the origin, but to the transformation itself.