mocap post retargeting fixes

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Search this Thread Display Modes
Old 06 June 2013   #1
mocap post retargeting fixes

Hi, I'm having an impossible time in retargeting mocap data to a rigged figure in Blender 2.67 and I'm hoping someone can steer me in the right direction. I've rigged a mesh with the armature that comes with the cmu mocap files after stripping away the keyframes and resetting all the transformations. When I then import another mocap file and retarget there are inconsistencies in some of the bone rotations that need correction. I've tried doing it 2 ways, the first was Benjy Cook's, in which I try to make the rotation corrections in the NLA editor (under manual fixes, where according to his instructions, I tab and click manual fixes, tweaking in green mode to adjust the rotation until it's right). In his tutorials, when he makes a correction and adds a keyframe for it, that rotation is corrected for all the subsequent keyframes in the action. When I do it, the only correction is in the keyframe I've added, the subsequent ones revert back, or worse, to their original rotations. The second method I've tried is from a tutorial by Tom Walks,, where he retargets manually by constraining the rotation of each bone of the user rig to the performer rig. He then makes any rotation corrections in the bone constraint panel by switching on offset and changing the space to “local”. He then manually corrects the bone's rotation. Again, when he does it, the new rotation is carried forward to all the subsequent frames in the action, whereas when I do it, it doesn't. I've tried different versions of Blender and different computers to see if it was some sort of issue there but it seems to behave relatively consistently. If anyone has any suggestions I'd certainly appreciate it.
Old 06 June 2013   #2
The most reliable way I know to re-target animations is to keep the rig as it is with the CMU. You can also use Bvhacker to do some editing to the bvh file and change the T stance. I know that Benjy did a great job but from what I hear there are some issues. However if you simply have a standard T stance for all of your characters you'll have better luck.

Here is an example of two completely different characters with different proportions that works this way. Not perfect. But pretty close and no major issues:

The tutorial I wrote for this is free online:
Richard Culver
Protfolio Facebook WIP1 WIP2
Old 06 June 2013   #3
Hi, thanks for the reply. I've tried doing it the way you suggest but the problems remain. My mesh is very dense, 100k faces, so it's not possible to move the mesh to match the rig without distorting it way too much. I've tried different rigs to see if they behave differently, the bvh rig, the bare metarig from blender and a souped up metarig with ik targets and such. None of them retarget without some major problem. The one thing I have noticed is that with the metarig the NLA editor fixes and adjusting in the constraint panel both seem to respond better but the animation itself is still way off, more so than with the bvh rig. If you have any other suggestions I might try please let me know. Thanks again.
Old 06 June 2013   #4
Hi, thanks for the reply. I've tried most of what you've suggested but because my meshes are so dense, 100K faces or so, It's not feasible to align the mesh to the rig, I have to align the rig to the mesh. That causes a lot of problems in the retargeting even when the mesh is rigged with the CMU armature, I guess because of the rotations and such I've imposed on it. I did manage to stumble on a way to get the NLA editor to function (Benjy Cook's method) so that I can now make the adjustments carry over throughout the action so that's been very useful. Thanks again for your help.
Old 06 June 2013   #5
Well, this is an issue. You should not have a character with that many polygons in the first place as the animated mesh. I would really consider retopologozing the mesh to a lower rez version for animation. If you have a copy of Zbrush, 3D Coat or Mubdbox you can bake the details to a displacement map or perhaps even use baking of displacement in blender. Then use a subdivision surface modifier and map the displacement at render time. Or depending on the model you may be able to just get by with a lower poly count by doing retopo. I would make that your first step in the process before proceeding to animation. You can also in the future use a Multires modifier if you want a high res render result of a lower res cage using the sculpt tools. I have done that successfully before. It also works with blend shapes which is pretty cool.
Richard Culver
Protfolio Facebook WIP1 WIP2
Old 06 June 2013   #6
thanks again for the reply, I'll look into all that.
Old 06 June 2013   #7
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright ©2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 03:28 PM.

Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.