Note that this step used to be called "Smart Smoothing" and was based on a different algorithm. Make sure that you have the most current rigidbBodyMotionFromMarkers MATLAB scripts and Maya MEL scripts for this step.
what you need:
- a markercoordinates.csv file 3 columns for each marker (xyz coordinates)
- an *xyzpts.csv file from digitized data (may need to be smoothed before calculating rigid body motion)
Note: The number of columns must be a perfect match between the two files.
if you have 10 markers - you must have 30 columns in both files.
what to do:
- type rigidBody at the MATLAB prompt
- select *xyzpts.csv file
- select markercoords.csv file
- type the number of bones in the input box
- select the markers associated with each bone (omit any markers with all NaNs)
- save the file output.
what you get:
A (yourfilename)BoneTforms.csv file with the translations and rotations to drive your bones (in a Maya-friendly, framex16 matrix format)
- To use this file in maya, you will
- select the bones in the same order used above.
- type impMatrix at the command prompt
- select the file saved in step6
Note: After you run through steps 1-6 in matlab, the variables markerIdx and ct are stored in the workspace. If you need to do subsequent reconstructions, simply type rigidBodyMotionFromMarkers(markerIdx,ct) at the matlab prompt. This will elimate steps 3-5.
rigidBody calls 2 additional scripts: svdrigid and mayaMatrixFormat
svdrigid takes marker data for a single bone and outputs rotations and translations
mayaMatrixFormat converts the framex3x3 rotation matrices and framex3 translations and converts them to a framex16 rotation matrix in a Maya-friendly format