keywords
- retarget tool
- rig transfer, motion transfer
- animation transfer, animation copy
- fbx, dae, bvh
- Create a new Avastar Character (or use an existing one).
- Import your BVH animation file.
- Map the corresponding Bones.
- Transfer the Animation.
Loading an animation file
Blender supports the import of BVH files out of the Box. You find the importer in the Top menu at:
File -> Import -> Motion Capture
Note(1): If you import an animation that was made for Secondlife then its unit of measurement is Inches. In that case you can use the factor 0.0254 to rescale the figure to Blender units when you import the BVH file.
Note(2): You can set – but you do not strictly have to set – the Scale factor to match the imported Armature and the Avastar armature. However if you do not fix the scaling during import then you can easily end up in a situation like in the image above.
Quick fix for Scaling mismatch
The Match Scales function rescales the imported Animation rig in Object space to match the Avastar rig’s Skeleton. However, we get the scaling value only from the Z-Axis and apply that value to the X- and Y- axes as well. In most cases the result is good enough to work with. But you always can manually adjust the armature scale in Object mode.
Mapping bones
When you import a BVH file, then the used Bones can have arbitrary names. Also your animation Rig can have different bones than the target Rig. This issue can be solved by using a Bone Map.
By default the Bone map is collapsed and hidden inside the Guess mapping button. You can expand the Map by clicking on the small + Icon left to that button. A list of Bones shows up.
The left column (Target) is a read only list of Bones in the target Rig (Avastar in our case). While the right Column is a list of bone names which appear in the just imported Rig. Initially the Map is empty and you have to fill it manually.
However, we have added a Map Guessing tool, which works nicely for Animations that already have been made for SL. You can just test the Guessing tool and see if your imported Animation rig is recognized. In the case above the guessing tool has identified the Animation Rig to be an SL/OpenSim compatible rig, thus all available Bones are automatically assigned and we do not need to bother with that.
The Bone Picker
The Bone picker lets you select one Source bones from the Animation rig and manually map it to a bone on the Target rig:
- Open the Animation source Rig in pose mode
- Select a bone
- Click on the corresponding assign icon in the map (see image)
Now the source bone is assigned to the corresponding target bone (In the example rThigh of the Animation Source is assigned to HipRight in the Avastar target)
The Range Mirror Copy
The Range Mirror Copy lets you copy the limbs. Thus you only need to assign one half of the bones, then use this tool to automatic fill the symmetric bones on the other side.
- Assign one side of your animation source Rig to the corresponding bones in the Avastar rig
- Click on Mirror Copy to transfer the assignments to the other side of the Rigs.
The Clear Tool removes all associations in the Bone Map.
Pose tools
Note: The Reference Frame does not need to be part of the transferred set of timeframes. Actually in most cases the timeframe 0 is not used by the imported Animation. So it can be used to create a matching pose.
Create a reference Frame
- Set the timeline to timeframe 0 (or any timeframe which is convenient for you)
- Ensure the Avastar Rig is in Rest pose.
- Open the Source Animation rig in pose mode
- Select all Pose bones
- Reset Scale, Rotation and Transformation of the source rig (ALT +S, ALT +R, ALT +G)
- In the Viewport press “i” and select “Rotation”. This creates a new keyframe for the Rest Pose.
- Ensure the RefFrame in the Motion Transfer Panel is set to the timeframe where you just added the T-Pose (timeframe 0)
- Now you are prepared to Transfer single poses or the entire Motion (see below)
Transfer Pose
Note: Timeframe 0 contains the Reference pose, while timeframe 1 has been transferred from the imported animation to the Avastar timeline.
Match Scales
Make Seamless animations (experimental)
Simplify (experimental)
Simplify can be used to reduce the number of keyframes used in the imported Animation. We provide 3 options here:
- No Simplification (default)
- Lowes Global
- Lowes Local
These simplification methods are described nicely by Eyuphan Bulut in a scientific paper about Keyframe extraction from Motion data
Transfer Motion