0
$\begingroup$

Consider i have two armatures side by side (different X values in Object mode), both armatures are in rest pose. Additionally the right armature (see image) has an additional Origin bone at <0,0,0> in Armature space, while the left armature is rotated and scaled in Object mode such that both armatures have about the same size and orientation in the scene.

for clarity i created a minimal setup as a demo blend file. I have not found a way to directly attach the file here, so please apologize that i use pasteall.org as a workaround:

https://pasteall.org/blend/f582293333c642ae9ad84163b6798713

Also note, that the original scenario has got animations assigned to the animating rig, so trying to fix this by applying scale in object mode would destroy the animations.

So, here is the situation before i add any constraints:

enter image description here

Now i add a location bone constraint to the Pelvis bone (here named COG, center of gravity bone) of the right armature using the corresponding Pelvis bone of the left armature as the target bone. I expect that the two armatures get aligned to the location of the targeted Pelvis bone. And indeed that happens:

enter image description here

Remember that both armatures are in restpose. When i now enable the Offset option, then i see the owner armature moves back to where it came from, but it gets an additional offset from the target pose bone, namely the distance from the bone.head to the ground floor (z=0):

enter image description here

However, what i really want to get is the offset relative to the target bone's restpose, which would be <0,0,0> when the target armature (on the left) is in restpose. Of course i can move the driven pose bone on the right side down to the desired position as a workaround. But what is the correct approach to achieve a relative location movement for the two bones without the additional restpose offset, such that both rigs are animated side by side ?

$\endgroup$
2
  • $\begingroup$ please provide blend file to check it out and so we won't waste our time by answering your question with "forgotten" details by you. thank you. $\endgroup$
    – Chris
    Jan 25 at 14:20
  • $\begingroup$ well, it was your initial answer that made me think that i might have missed something. So i figured that the scaling of the animating rig could actually be part of the problem. I wish you had kept your initial answer here :) Anyways, the demo blend file is added. although i did not see a way to upload it directly to stackexchange. $\endgroup$
    – Gaia Clary
    Jan 25 at 15:51

1 Answer 1

1
$\begingroup$

If i understood you right, you can

  1. apply scale in object mode

  2. in constraint: change both to: Local space.

Then it should work as you want.

enter image description here

$\endgroup$
6
  • $\begingroup$ Unfortunately this does not work in this case :( But i think i found why: the animating armature is scaled (i forgot to add this to the description, fixing) . So when i use local space, then the animated armature flies high up into the sky. Maybe i can add an additional transformation constraint... $\endgroup$
    – Gaia Clary
    Jan 25 at 13:43
  • $\begingroup$ i updated my answer $\endgroup$
    – Chris
    Jan 25 at 16:17
  • $\begingroup$ When you apply scale to the animating rig (on the left side), then the animation goes totally crazy unless you als "appy scale" to the animation itself which is about scaling the fcurves i believe. It is a tricky situation, i admit. $\endgroup$
    – Gaia Clary
    Jan 25 at 16:51
  • $\begingroup$ Oh boy…than it might be solved by Josh - he is the rigging god around here 😉 $\endgroup$
    – Chris
    Jan 25 at 17:10
  • $\begingroup$ i got a hint from Blender chat. I seem to be able to solve my issue by using a ChildOf constraint. i make the animated pelvis child of the animating pelvis. I additionally need to set inverse in the constraint. I would never have thought of that! I will test now if i can get it to work together with Python and report here $\endgroup$
    – Gaia Clary
    Jan 25 at 17:37

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.