Merging bones in armature not working as expected

I am using Blender 2.69 and trying to merge bones in an armature to meet the requirements of a specific target platform. As an example, the fingers have 4 bones and need to have 2 bones.

When I select 2 adjacent bones and alt-m and select merge, this sometimes works and sometimes does not. Cases where it fails seem to include one of the bones being offset from the rest of the armature. However the bones being merged form a chain so I would expect this to work.

Any information about when merge succeeds or fails and how to make it work would be welcome.

Do they actually form a chain or are they just in a line together? Check the parenting of the bones. Fingers often use target bones that aren’t part of the chain even though they are in line with it.

The bones form a chain. In detail it goes like this

()Bone1() -------- ()Bone2()Bone3()

Where () = a bone head or tail and ------- = an offset.

The parent child hierarchy is like this:


Bone is the parent of Bone1. Bone1 is the parent of Bone2. The tail of Bone1 is colocated with the head of Bone2.
Merging Bone1 with Bone2 fails.
The reason seems to be that Bone1’s head has an offset before it in the chain.
I can only merge bones when there is no offset before the bone being merged. An offset after Bone2 does not prevent the merge. The same is true elsewhere e.g. merging leg and arm bones where there are offsets from the spine bones.

(BTW: with you on “vertex” !)

Here’s the detail of what goes wrong.

With this bone hierarchy:


(h) = a bone head
(t) = a bone tail
(ht) = a bone head and tail colocated
------------ = an offset

The bones are properly parented like this:


Select Bone3 and Bone4, Alt - m, select “Within Chains” - this merges the two bones as expected.
Select Bone0 and Bone1 - Alt m, Within Chains -> they also merge as expected.
Now select Bone2 and Bone3 - Alt m, Within Chains -> nothing happens. This appears to be the case whenever there is an offset before the head of one of the bones being merged.

Is this a bug or deliberate? How do I merge the bones?