1
$\begingroup$

I'm trying to rotate a walking animation. It's stored as motion capture data in a BVH file (download an example here), and then loaded into Blender as a moving armature. What I would like is to be able to (manually) edit the animation. My approach so far was:

  1. Load the BVH.
  2. Move the armature object (so in Object mode) such that at frame #1 it's at the origin.
  3. Rotate the object around the origin (so still in Object mode), such that the walking animation is aligned with the X-axis.
  4. Press [Ctrl]+[A] to apply the location + rotation.

This last step doesn't do what I want. Rather than modifying the animation data, it modifies the armature itself. When I go to edit mode, I see that the edit bones have been changed (see before/after image).

Before/after editing

Since I have multiple BVH files with multiple motions, this is a problem. Since the motion data itself isn't changed, it's impossible to use the aligned animations as actions, and I cannot link those edited actions to a single armature.

My question to you: how do I apply my alignment (rotations & translations) to the animation data (i.e. the root bone translation/rotation), while keeping the armature itself unchanged?

Sybren

PS: I've also asked this question at BlenderArtists. I'll make sure that if there is a solution posted here, I'll update my post there, and vice versa.

$\endgroup$
1
$\begingroup$

The answer lies in the MakeHuman Blender tools. There are a few steps you need to get right, though:

  1. Load a BVH with the "Load BVH" button in the "Misc" tab. This will cause the BVH to be loaded incorrectly, as it'll be scaled down. Unfortunately you can only change this behaviour after you loaded the BVH. We'll fix this, and then re-load the BVH correctly.
  2. Open the "MakeWalk: Options" panel.
  3. Deselect the "Auto Scale" checkbox and/or set the scale to 1.00.
  4. Scroll down to the "MakeWalk: Utilities" panel and click "Save defaults".
  5. Remove the armature from the scene, and load your BVH again.
  6. Open "MakeWalk: Edit Actions" and enable "Global Edit".

Now you can go to Pose Mode, move the armature around, and click on the "Shift Animation" button. Contrary to its name, this also applies rotations. It then applies your translation & rotation to the entire animation.

$\endgroup$

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.