SmartBody : Asset Formats

SmartBody can read and utilize several motion formats:

 

.bvh

.asf/amc

.dae (COLLADA)

.fbx

 

In addition, SmartBody has several native formats for motion (skm) and skeleton definition (.sk).

Note that .fbx format must be converted to the native skeleton (.sk) and motion (.skm) format before use using the tools/FbxToSBConverter application.

.skm Motion Format

The native SmartBody motion format  (,skm) looks like this:

 

SkMotion
 
name "<NameOfMotionHere>"
 
channels <numberOfChannels>
<jointName> <channelType>
...
...
 
frames <numberOfFrames>
kt <time> <channel1> <channel2> <channel3>
....
 
<metadata> : <value>

 

where <numberOfChannels> is the number of translation or rotation channel

where <jointName> is the name of the joint

where <channelType> is one of XPos, YPos, ZPos, or Quat

where <numberOfFrames> is the number of frames

where <time> is the time of a particular frame

where <channel1>, <channel2>, <channeln> are the values of the channel in the order specified above. In the data, translation channels (XPos, YPos, ZPos) have a single value, whereas quaternion channelss use 3 values: the x/y/z values of the axis when decomposing a quaternion into an axis/angle, multiplied by the length of the angle (thus the axis/angle representation is represented by only three values, and can be reconstituted into four values by determining the magnitude of the three values which determines the angle, and dividing by that length, leaving the x/y/z axis)

where <metadata> is the name of some metadata (such as start: ready: or other descriptor) and <value> is the value of that data (could be a motion time)