[Bf-committers] About Pose evaluation of child bones in armatures
Bastien Montagne
montagne29 at wanadoo.fr
Fri Dec 30 12:10:37 CET 2011
Hi devs!
I have spent quite some hours this week on those two bugs:
http://projects.blender.org/tracker/index.php?func=detail&aid=27898 and
http://projects.blender.org/tracker/?func=detail&aid=29461
While searching and reading code about pose transforms (I don’t like
matrices, and they don’t like me :/ ), I think I found some
problems/incoherences in the way the Hinge/NoScale options are handled
*for the position of the bone*. See also this small demo file
(http://www.pasteall.org/blend/10564), with one child, unconnected bone,
pose-translated, and a parent bone pose-scaled by a factor two.
When you disable only Inherit Rotation, the bone moves back half of its
Pose translation. This is because its position is evaluated fully in its
parent rest space (instead of using parent rest rotation and parent pose
scale).
When you disable only Inherit Scale, the bone does not move. This is
because its position is evaluated into its parent pose space (instead of
using parent pose rotation and parent rest scale).
So, imho, we should fix those incoherences… But how ? Do we always want
to use the parent pose space for the child position (thus never moving
the child bone when disabling/enabling the Inherit Rotation/Scale
options) ? Or do we want to fully respect the logic, and make the
pose-location of the child bone depend on the hinge/no scale options
(i.e. use parent rest scale and/or rotation) ?
Cheers,
Bastien
More information about the Bf-committers
mailing list