3
$\begingroup$

I have a mocap animation that i want to blend into my Idle pose at both of the ends. The problem is, this animation has its root (Hips bone in this case) in different position, lower, to be exact: enter image description here

Here is what happens when it blends between Idle position: enter image description here

How to offset position of this mocap animation, so it would not sink into the ground? The Hips bone needs to be lifted up, but i don't know how to offset it with whole animation. Here is my .blend file with this scene: http://www.pasteall.org/blend/36228

$\endgroup$
4
  • $\begingroup$ You will have to adjust the location manually, and the reason why it is difficult to fix that is because the root bone is not aligned with the Z axis in rest position. $\endgroup$
    – Denis
    Commented May 25, 2015 at 16:54
  • $\begingroup$ I understand, I don't have to align it 100% precisely, i just need to move whole animation above the floor - for example, something like: Offset armature position from action "1HCiecieWDolZObrotu" +100 cm on Z axis. It seems very simple, but i can't figure out how to do it. $\endgroup$ Commented May 25, 2015 at 17:20
  • 1
    $\begingroup$ Its not that simple, because of the origin bone rotation, adjustment on one z axis will change X and Y too. $\endgroup$
    – Denis
    Commented May 25, 2015 at 17:38
  • $\begingroup$ For this issue, you can use the blender addon: Inverse Lock Bone. It can lock a bone by recalculating the location of the master/root bone. In other words, given a location for the bone that needs to be locked, it can recalculate the location of the master/root bone. After recalculating, your character will not sink into the floor. $\endgroup$
    – CGSparrow
    Commented Jan 12, 2023 at 15:05

1 Answer 1

3
$\begingroup$

In your mocap animation, Make sure your active action is set to the mocap action, either by selecting it in the dope sheet - action editor mode, or in the NLA editor, select the strip and hit tab to turn it green (this is known as tweak mode).

Change into the graph editor, and select the hip bone. Hide and lock all but the z-location channel. Select all channels (a key) which should only select the z-location and "grab" (by pressing the g key) the channels in the positive "y" aka up direction (constrain to up-down motion by pressing y after g) and adjust its z direction for all key-frames to one that lines up with the ground plane.

Keep in mind I usually work with the dope sheet when working with 1 action because if you edit the animation, it may not always update the NLA strip. I think some of the interface inconsistencies in blender show here and are actively being worked on (eg. the tweak mode which is new in blender 2.74ish)

$\endgroup$
2
  • $\begingroup$ Thanks, it worked - because of the Hips bone rotation, just like @Denis said, it's tricky to set it up into proper position (when changing Z location, it does not follow Z axis, but something between Z and Y) but i did it, by altering not only Z, but also Y location in Graph Editor. ... I guess that there is no possibility to operate on global (independent of bone rotation) coordinates in this case? $\endgroup$ Commented May 25, 2015 at 18:52
  • $\begingroup$ Yes I see, that the rotation will affect which axis. One possible solution is to add another bone, as the "rootroot" :) Parent your "root" to the "rootroot" and adjust "rootroot"'s location, since it wont rotate, it should work, but you will end up with a modified armature. $\endgroup$
    – beiller
    Commented May 25, 2015 at 19:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .