![]() |
| You are here: Home » Products » PolyTrans |
|
|
This dialog box controls the most important aspect of the animation export conversion: keyframe resampling. These options are used, for example, when animation data is being exported via the 3D Studio, Lightwave and DirectX export converters. These parameters control a process called "keyframe resampling". Keyframes are "snapshots" of certain transformations in time, such as a rotation angle at time 0, time 10 and time 20. In many cases it is not possible to directly convert transformation keyframe data from one 3D animation program to another due to a difference in the underlying mathematics used by the respecitive animation program. For example, Lightwave stores rotations as explicit "Euler X, Y, Z" angles, 3D Studio r4 stores rotations in angle/axis form whereas most modern animation programs store rotations in Quaternion form (DirectX, 3D Studio MAX and others). To overcome the problem of converting keyframe data from one animation program to another, a complex algorithm was developed for this program which will "resample" the keyframe data from one format to another. For example, the Euler rotation angles of an imported Lightwave animation can be resampled by this algorithm into equivalent Quaternion angles for ultimate use in DirectX or 3D Studio MAX. Internally, this program (PolyTrans or NuGraf) has one of the most complex animation "engines" in any 3D program. This animation system allows all varieties of animation data to be imported from other 3D animation programs, previewed and exported to other file formats. Most importantly, the "animation engine" allows rotation data to be imported in Euler, Quaternion or Angle/Axis form then resampled to any other angular format. The "resampling process" proceeds by creating a new, but temporary, keyframe list just prior to the animation export process. This new list has one key for each and every frame in the current animation. For example, if the original data had two keys at frame 0 and 60 that represented a 360 degree rotation, then the new keyframe list would contain 61 keyframes each representing a segment of the overall rotation animation. Since the internal "animation engine" can evaluate any rotation type (angle/axis, Euler or quaternion), this new keyframe list basically represents a new "snapshot" of the rotations at each and every frame in the animation. Once the new keyframe list is created the keys are converted to the desired export transformation method (such as angle/axis, Euler or quaternion when exporting rotation keyframes). As an optional last step, this resampling algorithm can remove redundant keyframes from the new (but temporary) keyframe list. The optimized keyframe list will then exhibit similar behavior but with many fewer keyframes.
|