I created a simple armature with a couple of bones.
I then scaled my armature (I understand it's better not to do so, but this is something I need for other purposes)
I added 'Arrows' object and parented it to the last bone in my armature.
Which gives me this setup (works perfectly, I can move the bones and my arrows correctly moves together with the last bone).
I then apply scale to the armature, which moves my arrow object to some arbitrary (?) position.
And my object has non zero transforms:
This seems very counterintuitive? And I can't even understand logic behind the position change. It does look like Blender detaches the arrow, does some calculations in global space and attaches it back?
So two questions:
- Why does this happen?
- Is there a way to prevent this, so applying the scale would not move the arrow object and it will remain attached to the last bone at (0, 0, 0)
(just in case, I've created this scene from scratch, there are no animations, modifiers or anything extra, blender file)