Acclaim Format - ASF line Details

 

This document is intended to be read in conjunction with the format definition published by Acclaim Technologies.

 

It provides a more detailed explanation of certain key lines in an ASF file, and explains how VICON BodyBuilder output uses the format.

root section

:root

The root bone (segment) is the only one defined in the ASF file for which global translations and rotations are recorded in the motion capture (AMC file). All other "bones" are moved relative to their immediate "parent" in the hierarchy. In the complete Acclaim specification, the position and orientation of the root can be pre-set, which therefore has the effect of offsetting all the motion captured data by the same amount.

order TX TY TZ RX RY RZ

The order line tokens determine:

  • order in which root translations and rotations are written in the AMC file
  • sequence in which root rotations are calculated about fixed, global axes

The translation and rotation tokens may be interleaved in any sequence, but it is usual for translations to precede rotations. Softimage only understands the sequence TX TY TZ RZ RY RX

axis XYZ

The axis line token indicates the sequence in which the root pre-set orientation is calculated. When the pre-set orientations are zero (see below), this token has no effect.

position 0.0 0.0 0.0

Pre-set position of root

BodyBuilder always sets position to zero to avoid confusion which exists between certain CG packages about whether this pre-set applies to fixed (global) or moving (root) axes.

orientation 0.0 0.0 0.0

Pre-set orientation of root

BodyBuilder always sets orientation to zero, for reason given above.

 

bone sections

name bonea

alphabetic identifier for bone. This name must match (case-insensitive) the name of the corresponding segment in the associated BodyLanguage model (MOD) file.

Softimage accepts only lower case bone names.

direction 1.0 0.0 0.0

In an ASF skeleton, the position (origin) of a bone is determined by a vector offset from the position (origin) of the bone’s parent, in the parent’s coordinate system. The direction line indicates the unit of this vector.

length 1.0

The length vector is the initial length of the bone’s position vector (see above). If no "l" degree-of-freedom (see below) is used, this bone length remains constant throughout the motion.

axis 0.0 0.0 0.0 XYZ

The axis line indicates the initial orientation of a bone’s axes relative to fixed, global axes.

BodyBuilder, plus all CG software except Nichimen, interprets the axis order token to indicate the sequence of rotations about fixed, global axes. Nichimen interprets these rotations to be about moving, root axes.

After initialisation, bone axes are fixed to the bone and move with it.

[In the Acclaim format definition, a bone’s axes can have any initial orientation, including global (axis 0.0 0.0 0.0 XYZ). However, it is much more convenient for subsequent CG interaction if one of the bone’s axes is aligned with its position vector. BodyBuilder automatically ensures that this is so.]

dof rx ry rz l

The dof line tokens determine:

  • what degrees-of-freedom exist between a bone and its parent
  • the order in which these degrees-of-freedom are written in the AMC file
  • the sequence in which rotations are applied to the bone

Rotation degrees-of-freedom are applied sequentially about the bone’s parent’s axes.

The inclusion of the "l" token indicates that the length of the bone varies. The length values in the AMC file replace the initial ASF bone length. Although the Acclaim definition refers to "l" as the "stretch" degree-of-freedom, it measures absolute length rather than a relative length changes.

Softimage ignores "l" degrees-of-freedom.

Kinemation Acclaim translator crashes if the "l" degree-of-freedom is included.

limits (-180.0 180.0)

The first "limits" line refers to the first degree-of-freedom included in the dof line.

(-90.0 90.0)

The second "limits" line refers to the second degree-of-freedom in the dof line. The second in a sequence of rotations should have the range -90 to +90 degrees.

(-180.0 180.0)

The third "limits" line refers to the third degree-of-freedom included in the dof line.

(-inf,inf)

The fourth "limits" line refers to the fourth degree-of-freedom included in the dof line.