Motion Builder’s Workflow:

1. Import the .c3d data cleaned in Workstation.

2. Define rigid bodies. These are sets of markers that are located on a bone. For example the markers for the shoulder, elbow, and wrist would make up one rigid body. Motion Builder uses the rigid body definitions to “guess” where a missing marker would be in space within a gap.

View an example of the dog rigid bodies in MB. The white lines represent the rigid bodies.

3. Optional: Motion Builder documentation recommends mapping an Actor to the marker data before cleaning the gaps. However, they only have a Human Actor. I worked very hard at bending and scaling the body parts of this human actor to look like a dog in hopes that I could use it later during the mapping of the marker data to an animation skeleton. I did this for about 3 of the 6 dogs before I realized that it was futile. I can’t get an animation skeleton to perfectly follow the marker data. So, I eventually skipped this step and concentrated on cleaning the marker data.

View and example of how the Actor initially comes into your take.
View an example of the human actor model mapped to my dog marker data.
View a static screen shot of the human actor mapped to a very large chested female labrador. I tried to save time by importing the scaled down and bent actor from a previous dog, but it didn't work so well. Note the neck sticking out in a direction different from the head.

4. Next, work on filling the gaps in the maker data. The default is to fill based on the interpolated position from the rigid body. This isn’t always the best. The markers can be off.

View an example of the Left Side Elbow marker in the floor when set to fill based on rigid body.

5. Check them off as done when you are certain you are happy with the gap filling method. Note, if you check one as done, then uncheck it, you’ll loose all the work you did before in filling that gap if key frames were set. I learned this the hard way.

6. Filter the motion capture data. Run the “Peak Removal” filter on all markers. Run “Gimble Killer” and “Unroll Rotations” filters on all markers. If the marker data is wobbly or noisy, run the "Smooth Translation" filter on that portion, or all of it. You can run filters on one channel only, e.g. the x translation, as well as on all channels. This is somewhat advantageous when you have noise on one channel only and do not want to delete the data on all three channels to fix a problem on one. You can also run the "Smooth" filter on tough spots that the "Smooth Translation" filter doesn't fix.

View an example of noise on one channel. Look at where the time line slider is located within the green graph. It is at the beginning of a zig-zagged line on the x-axis. This would show up as a quick jerking back and forth of the green paw marker that is selected. View the movie file of this.

7. Create a skeleton in Maya to be imported into Motion Builder. You can also build a 3-D model and bind this model to the skeleton before importing it into Motion Builder. However, I chose to just do the skeleton, to see if I could get it to follow the marker data. Go to link that explains how to build this skeleton.

8. Import the animation skeleton into Motion Builder 5 and “Characterize” it. This should go smoothly as long as you have followed Motion Builder’s naming convention for naming your joints/bones. It is at this point that you have the option of using a Quadruped solving method for your character.

9. Map the character to the “Actor Data” in Motion Builder.

10. Tweak the Character Settings until you get the skeleton to align properly with the marker data. Futile for quadruped motion capture data. I wasted several days on this.

11. Plot the skeleton

12. Save the Motion Builder file with the extension .fbx.

13. Import that fbx file with the animation skeleton back into Maya. At this point, the skeleton should be animated – following the marker data.

14. Build a 3-d model and bind it to the motion capture skeleton. Add any other rigging.

15. Render out movies of the motion capture model.

Note: My method will involve skipping the characterization step and simply taking my cleaned marker data straight into Maya. At this point, I’ll constrain an animation skeleton to the markers.

Back to main Design 950 page.