Sorry bout that, we’ve been without power since my last post.
All Objects have an Origin and an Axis. Any DataBlocks linked to that object (like Mesh or Bones) have those two parameters as reference points. The DataBlocks can be Transformed ( G,R&S, and those transformations keyframed) in Local or Global space (in other words, either relative to the Scene [which has its origin and axis at 0.0.0] or relative to the Object it is linked to [which has its origin at the point it was added relative to 0.0.0 and its axis alligned according to the View it was added in])
Now, when you make one object the Parent and another the Child (and this is essentially what Modifiers do), a Heirarchy is established where the Origin, Axis, Global and Local parameters of the Child are usurped by the Parent but still apply to the Child in Local Space.
(eg: Ctrl-P respects the Origin and Axis of the Child, Shft-Ctrl-P respects the axis but ignores the Origin, so the child moves to the origin of the parent)
Bones are a special case as they must trace this heirarchy all the way back thru the chain they were extruded from, obey Bone-Parent (different to normal parenting since it’s Local), Bone-Origin, (different again since it’s local and relative only to the Editmode position of that bone in the chain) and Roll Angle (which is akin to a Reference Point [origin] for the Hinge Axis between the Y-axii of two bones, or three if that bone has one on either side of it).
Ctrl-A in Object mode takes the Axis Rotation of the Object (in all objects except Empties and ignoring scale for the moment) and resets it to the Axis of the Scene (Z-Up) and sets Rotation to 0.0.0.
Ctrl-N in Edit mode resets the Roll Angle of all selected bones (around Y) relative to the Root bone, which has its RA set relative to the Armature Object’s Axis.
A Path Object (Curve), over and above the Origin and Axis, has a Start (beginning) and an End (W in Edit mode >> Switch Direction). Rotating the Curve and Ctrl-A doesn’t switch direction but (assuming it was added in Top View) simply switches the direction of the Axis.
You can see from the above, that if you have already Posed and Keyframed Bones of an Armature, and then do Ctrl-A, Ctrl-N, or use a Parent or Modifier to Translate their Heirarchical Relationships along Global and Local co-ordinates that differ from those keyframed into the Quat Chanels then the Origen(s) and Axis(ii) of child objects (including child bones) must, of necessity, be different from those before. And, if the Axii (global Co-Ordinates) of objects in a heirarchy are different (more so with Bones than other DataBlocks because of Y-Axis linking and Roll Angle), that those of the Child Object(s) (now in a special order of Local Space relative to the Parent) will be completely different to what was keyframed (crazy space).
So it’s vitally important, imperrative, to regard Axis Orientation of Objects to that of the Scene as part of Rigging and it should be done before any Keyframing begins.
%<