1
$\begingroup$

I'm sorry if the title is not descriptive enough(but i didn't know what else to use)

The rotation origin of each bone is defined by the location of the bone(if this is not the case please correct me)

Assume that i have the following armature for a leg: leg(upper part of the leg above knee) -> Knee -> Foot

Onto the actual question:

If i rotated the leg bone, the knee and foot bone would also be rotated(because knee is a child of leg and foot is a child of knee) but what would the rotation origin be for each bone? Initially i thought it was each bone's own origin but it actually seems like the origin(which is defined by the location/translation of a bone afaik like i mentioned above) is actually 'accumulated' So for the example above:

If i were to rotate the leg bone, this is what happens from what i understand:

  • Leg bone is rotated and it's origin is the location of the leg bone
  • Knee bone is rotated and it's origin is the location of the leg bone and knee bone added up
  • Foot bone is rotated and it's origin is the location of the leg, knee and feet bone added up

However i am not 100% sure if that is the case either, any advice would be greatly appreciated.

$\endgroup$
2
$\begingroup$

"The rotation origin of each bone is defined by the location of the bone."

Yup, that's correct-- specifically, defined by the location of the head of the bone.

"It actually seems like the origin is actually 'accumulated'."

That's also correct. Each bone has a transformation that is inherited by its children. Each transformation is a rotation about a specific origin. If you rotate thigh, calf also rotates about thigh's head; then if you rotate calf, it rotates about calf's head.

The actual transformations are calculated as matrices, sets of numbers (4x4 in this case) that represent the entire transformation (rotation, location, scale) of a bone; and when matrices need to be combined, as with a bone inheriting a transformation from another bone, they are multiplied rather than added. But matrix multiplication is not exactly the same as the multiplication of single numbers (like, with matrices, a times b is not the same thing as b times a-- which you can imagine, as rotating about origin A then rotating about origin B is not the same thing as doing it in the other order!)

$\endgroup$
8
  • $\begingroup$ Thank you for the answer, but i am still not sure why it is done this way? Instead of accumulating why not let each bone use it's own rotation origin? $\endgroup$
    – Suic
    Nov 25 '21 at 21:40
  • $\begingroup$ If you want each bone to use its own origin, rather than inheriting the rotation of another bone in that bone's origin, just leave it unparented, and, possibly, give it a copy rotation constraint on add. You'll see the calf tears off from the thigh. The reason it's done this way is because this is how people want it done-- they don't want the calf to tear away from the thigh. $\endgroup$
    – Nathan
    Nov 25 '21 at 21:59
  • $\begingroup$ > If you want each bone to use its own origin, rather than inheriting the rotation of another bone in that bone's origin, just leave it unparented Heres where the issue comes in, unparenting it, anyway let me explain why i really need each bone to use it's own origin without unparenting(if possible) I have an animation made in a custom format that i am converting to blender, however for the leg the rotations are done like this: - Set origin for foot, rotate foot - Set origin for knee - rotate knee - Set origin for leg - rotate leg The origin is simply the location of that bone $\endgroup$
    – Suic
    Nov 25 '21 at 22:10
  • $\begingroup$ Now i need to somehow emulate this in blender without leaving each bone unparented(if this is even possible, i am really hoping it is) as right now if i do the same in blender it won't look right (as the leg bone also moves the knee, foot bone and the knee bone also moves the foot bone) actually as im writing this, i don't even think it's possible without unparenting bones, oh well. $\endgroup$
    – Suic
    Nov 25 '21 at 22:13
  • 1
    $\begingroup$ I would advise asking a new question, with details about the exact problem you're trying to solve. I'm not going to understand your issues from these comments. You'll need files and demonstrations of your problems. $\endgroup$
    – Nathan
    Nov 25 '21 at 22:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.