You are here:   Home »  Import CAD Formats »  AutoCAD-Revit-Navisworks (DWF-3D)  

Okino logo
Biovision and Acclaim Importer

Arrow Importing Biovision BVH and Acclaim AMC/ASF Files

This import converter reads in motion capture data from the Biovision (BVH) and Acclaim (.amc and .asf) file formats. These file formats describe animated skeletons in terms of joints (Biovision), bones (Acclaim), hierarchy and angle constraints.

The following image shows an two skeletons of Kung Fu artists from a BVH file captured by Giant Studios (Motion Capture Data Provided by Giant Studios. All Rights Reserved.).

See also the corresponding BVH/Acclaim exporter.

Arrow Acclaim Importer Notes

  • Acclaim files have .asf and .amc file extensions. You should load in the .asf skeleton file and not the .amc (motion capture) file. The .asf file will itself make reference to the various .amc files.

  • Acclaim files are defined in terms of bones whereas the Okino skeletal animation system is defined in terms of joints. For the last bone in a hierarchy from an Acclaim file, a parent joint is created and then a lone "end effector" leaf joint is created as a child to define this last bone.

Arrow Inverse Kinematics Flags Setup Automatically

Okino's skeletal animation system, based on joint hierarchies, also provides for full inverse kinematics (IK) node tagging. To simplify the subsequent manipulation of the imported skeletal hierarchy, both BVH and Acclaim importers set all the IK flags upon importing the file. For example, all the degree of freedom flags and the root/joint/end effector flags are set automatically; in case of an Acclaim file, joint limits will also be set if the source file contains limit information.

Arrow Some Background

A skeleton is defined (in Okino software) as a series of connected joints. A joint is nothing other than a NULL node tagged as being part of a skeleton; it also has rotational and positional constraints. A bone is drawn when a child joint exists under a parent joint. The distance between the central pivot locations of the parent and child joints define the length of the bone. Rotational animation curves can be assigned to the parent joint to cause its child bone to become animated. Likewise, translational animation can be applied to the child joint to cause the length of the bone to become animated. Other 3D programs (such as Lightwave) or file formats (Acclaim) work in terms of Bones and not joints; Okino software translates between external bones data and internal joint based data.

More Dialog Box Options:

BVH and Acclaim animation data has an abundance of keyframe data, such that there is a key at each frame. By enabling the following two checkboxes you can have a keyframe reduction remove redundant keys from the imported animation data. The resulting importeda nimation will exhibit the same or similar behavior, but with much fewer keyframes. If these checkboxes are not enabled (not check-marked) then no keyframe reduction will be performed.

Perform Translation Keyframe Reduction

This numeric value indirectly controls how many redundant keyframes are to be removed from the re-sampled translation keyframe lists. Higher values will cause more keyframes to be removed. This value is the maximum distance the new keyframe list is allowed to deviate from the original re-sampled keyframe list. If the value is set to 0.5 (which is the default) then the absolute deviation between the original keyframe list values and the newly reduced keyframe list values (at any one frame time) is not allowed to be greater than 0.5 translation units.

Perform Euler Angle Rotation Keyframe Reduction

This is the same as the previous numeric value except that it applies to reduction of Euler rotation keyframe lists. The value is measured in degrees. For example, if set to 5.0 (the default) then redundant keyframes will be removed from a keyframe list until such point that a rotation angle begins to deviate from its ideal angle by more than 5 degrees. Small numbers (such as 1.0 and 0.5) will cause less deviation and more precise rotation conversions, but at the added expense of retaining more keyframes.

Arrow Example BVH File

This is a snippet out of a larger BVH data file.

HIERARCHY ROOT Hips { OFFSET 0.00 0.00 0.00 CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation JOINT LeftHip { OFFSET 3.29 0.00 0.00 CHANNELS 3 Zrotation Xrotation Yrotation JOINT LeftKnee { OFFSET 0.00 -16.57 0.00 CHANNELS 3 Zrotation Xrotation Yrotation JOINT LeftAnkle { OFFSET 0.00 -16.55 0.00 CHANNELS 3 Zrotation Xrotation Yrotation End Site { OFFSET 0.00 -3.30 0.00 } } } } JOINT RightHip { OFFSET -3.29 0.00 0.00 CHANNELS 3 Zrotation Xrotation Yrotation JOINT RightKnee { OFFSET 0.00 -16.51 0.00 CHANNELS 3 Zrotation Xrotation Yrotation JOINT RightAnkle { OFFSET 0.00 -16.69 0.00 CHANNELS 3 Zrotation Xrotation Yrotation End Site { OFFSET 0.00 -3.48 0.00 } } } } } MOTION Frames: 30 Frame Time: 0.033333 10.87 36.65 13.54 8.70 1.67 91.18 10.89 9.41 -1.80 -2.30 7.50 12.08 0.00 -10.56 0.00 -13.95 10.19 2.52 1.45 7.58 -10.90 0.00 -12.38 0.00 -2.30 7.22 -0.10 -0.13 0.00 5.48 48.69 -5.16 13.44 -10.40 -22.07 -14.50 -0.21 -5.66 -0.02 7.72 0.00 -7.17 -52.62 2.63 -1.95 -1.90 -20.04 -18.84 0.16 -4.85 0.01 0.00 35.36 0.00 1.77 -36.47 -2.39