Friday, 25 May 2012

Facial stabilization in MoBu(Motionbuilder)

This tutorial is going to show you how to stabilize mocap data in MotionBuilder

Usually, the face data that I got, has been cleaned and stabilized in vicon blade.
But this time I got a cleaned but not stabilized face data.
I have no idea how to do the cleaned and stabilized job in a proper way.
maybe this

Finally I figure out a way which works well in MotionBuilder.

Let's see the final result.

The idea is using Rigid Body constrain to get the mainly translation and rotation data to a copy root.
Then clean all the trans info of the root.

Rigid Body

marker data
face bone
stabilized rig(copy from maker data)

mocap system : vicon
software : motionbuilder

Make sure the data is facing Z axis in Mobu.

Pickup the stabilized markers which don't affect by face muscle.
For example: The top of head markers, tip of noes etc...

Drag them onto source of Rigid Body Constrain.
Duplicate marker data. And make them different color, so we could see what's different. (optional : make a new Maker/Null as root for copy one)

Set the "Copy:FaceMocap" as  Constrained object.

Drag FaceMocap markers, except stabilize ones, onto relation plan as senders. Drag copy one onto relation plan as receivers.

Now connect marker's translation to copy's. And iterate this step to the last one.
Well.. This is kind boring job but just for the first time setup.
(I wrote a simple python script to handle this boring job. Read and download from Here!)

Okay, we have everything setup.
playback they all move in same motion( of cause we duplicated them and use reation)
click Snap on the Right body.  playback again the null start moving but not in the center.
Find a facing straight neutral pose then click Zero button.
Right now the null should in the center of the face marker.

Final step:
Select copy markers and do plot.
Deactivate all constrains
Select copy null and clear it trans info

I've seem a lot people are interested in this article. Sorry for my bad skill of English writing. If you have any questions. Feel free to send me messages.


Sanket said...

Hi my character facial animation works fine but its play some noisy transformation on face part so how can i clear it.

Mike Samoilov said...

Thank you for this tutorial!
Please can you fix the link with python script, I can't download it (Your current account (----@-----) does not have access to view this page.)

Jiapei Lu said...

I am not sure what kind situation you have. You may try to ues Filiter to smooth the translation curves.