Other Notes

As pointed out in the introduction to this article, high-quality animation takes time and experience. Ansys has produced a great deal of animation over the years and has learned a variety of lessons. In the hope that EnSight users can avoid many of the pitfalls inherent in the process, many of these lessons and rules of thumb are presented here.

EnSight's keyframe animation methodology is borrowed from the animated film industry. In making animated films, the master animator defines how the scene will look at certain points in time (the keyframes) and then hands the work off to an an intermediate person, with instructions on how many frames to add between each pair of keyframes. The an intermediate person then draws the missing frames. EnSight's approach is similar with the user as the master animator and EnSight as the an intermediate person. Some of the strengths of this approach include:

  1. When keyframing is on, EnSight is not only recording the viewing parameters when you click Create Keyframe, it also records the actions taken to get from the last keyframe to the current one. This approach permits certain operations to be performed without ambiguity (such as rotating by 180 degrees or more).

  2. Each Viewport can be animated independently.

  3. Flipbooks can be played during an animation.

  4. Animated particle traces can be played during an animation.

  5. Transient data is easily synchronized with the generated frames. When the animation is run, EnSight will automatically step through time and recalculate all time-dependent entities.

  6. Output can go directly to disk files for later recording, manipulation, or conversion to other formats (for example, MPEG or QuickTime).

  7. Additional power and flexibility can be achieved since EnSight command language statements can be issued at keyframes.

The keyframe capability was designed to enable engineers and scientists to produce quality animation. As such, it lacks most of the more elaborate controls available in commercial animation packages (which typically cost 2-3 times more than EnSight). Some limitations:

  1. Only transformation parameters (global, frame and camera transforms) are saved through the keyframing process. Other parameters and part are not interpolated between keyframes.

  2. Light sources are fixed in EnSight - they cannot move during the animation.

  3. The shading and lighting model used by EnSight is fairly simplistic.

Tips for Video Recording

Animation Holds

Whenever an animation is started or stopped, use a hold to allow your viewers to establish the visual context of the scene. A hold of 3 seconds at the beginning and 2 seconds at the end usually works well. For complex imagery, longer holds may be required.


Note:  A hold can typically be performed at the recording level - it is not necessary to have EnSight compute multiple frames for a hold.


Rate Control

The speed at which events occur during an animation is one of the most difficult aspects to master. Viewers become confused and disoriented if motion is too fast; too slow and your viewer may lose interest. The frame rate for NTSC (the video format used in North America) is 29.97 frames per second. Although there is a great deal of variation (depending on graphics hardware speed and model size), your workstation will typically have a much slower frame rate. Therefore, what appears to be good speed on your workstation may be much too fast when recorded to video at 30 frames per second.

Trial and error is one method to determine proper rates. Although you may end up doing some "line test" video recording to refine your rates, use the method described here to derive good starting values:

  1. Define all the keyframes.

  2. Set up the animation to play back at full screen.

  3. Set up the animation to play only from the first to the second keyframe.

  4. Set the number of sub-frames between keyframes 1 and 2 to be 300.

  5. Select ViewBounding BoxStatic Box.

  6. Using a watch with a second hand, time how long it takes to play the animation. Call this time T. We know that it will take 10 seconds to play 300 frames on video. Compute the following:

factor = T/10.

For example, if you find T to be about 12 seconds, then factor is 1.2, which means that the rate you see on the screen is 1.2 times slower than what you will see on video.

  1. Iteratively adjust the number of sub-frames between keyframe 1 and 2 (running the animation after each adjustment) until you like the rate you see on the screen.

  2. Finally, adjust the number of sub-frames by the factor found in step 6. For example, if 150 sub-frames were required for a good rate of speed, then change the number of sub-frames to 150*factor to see the same rate on video.

  3. Perform steps 3 through 8 for the next set of keyframes.

Transient Data

Animation is particular useful for presenting transient data. However, since both viewing parameters and time can change simultaneously, the potential for confusing viewers is very high. In general, you should never change both viewing parameters and time simultaneously. It is typically much better to use transformations in an opening scene to present the model to the viewer. The transformations should end at a vantage point suitable for viewing the transient phenomena. At that point, the time-dependent data can be displayed. If you must alter the scene during transient display, do so with great care to avoid disorienting viewers.

Note that you can animate time-dependent information without transformations by merely creating two keyframes without performing any transformations between them.

In many instances, there will not be enough time steps in the simulation to produce an animation of adequate duration. If the simulation does not involve changing geometries, EnSight can interpolate between time steps (linearly) to yield additional frames. However, keep in mind that your simulated phenomena is almost certainly not linear in nature. If you have EnSight generate more than a few interpolating frames between each actual time step, the resulting discontinuity at keyframes (from the piece-wise linear interpolation) is quite visible in the resulting video.

Frame Count

The total number of frames that EnSight will produce during the animation is the sum of all sub-frames plus the number of keyframes. This is especially important to keep in mind when synchronizing transient data with animation frames.

Animated Traces

If you display animating particle traces during keyframe animation, you may have noticed that the trace animation always resets at the beginning of the keyframe animation. However, in most cases it is desirable to have the trace animation fully in progress when the animation begins. This can be accomplished by creating an additional keyframe at the beginning of the animation. Set the number of sub-frames between keyframes 1 and 2 to a value high enough to yield the desired tracer saturation. When you run the animation, set the Run From field to 2 so that the animation begins generating frames with keyframe 2. At that point, the tracer animation process will have executed once for each sub-frame between keyframes 1 and 2.

Color

The color gamut (the range of colors a device is capable of displaying) of video (especially NTSC) is significantly less than that of your workstation monitor. The result is that certain colors that look fine on your workstation cannot be reproduced on video. Fully saturated colors (especially red and blue which bleed across the screen) are particularly troublesome. However, it is quite easy to de-saturate your images prior to recording. There are actually three ways to do this:

  1. Modify all of the colors in use to de-saturate them. For example, if a color is pure red (1., 0., 0.), change it to be a more pastel red (.85, .1, .1).

  2. Modify the saturation factor in the Image Format Options. A factor of 0.85 is usually good.

  3. Create your animation, then de-saturate the images using an image tool such as the one available from the San Diego Supercomputing Center (it is free). This will only work, of course, if you are saving animation images to disk files.

Dark backgrounds work much better than light backgrounds. Black is often the best choice.

Lines

Moving single-width lines have a tendency to crawl on video. Use a minimum line width of 2.

Anti-Aliasing

Without correction, computer-generated imagery exhibits aliasing artifacts that typically show up as jagged edges. For our purposes it is sufficient to say that aliasing results from sampling at a resolution too low to capture the signal represented by the underlying geometry. We can only sample our geometry at the available pixels. Since the effective number of pixels in the NTSC video signal is only one quarter the number of your workstation screen, what looks fine on your workstation may be less than acceptable on video. EnSight provides direct anti-aliasing support through its multipass capability. There are also some other ways to mitigate this problem.

If you are recording images to disk files, record them at full screen resolution and then use an image re-scaling tool (such as EnVe) to down-sample the images to the desired video resolution. This down-sampling averages several pixels to yield one output pixel, effectively preserving much of the resolution contained in the original full screen image.

Annotation

The smallest annotation text that can be clearly read on video has a font size of 40. For title sequences, use a size of about 65.

If you display parts colored by variables, you should always include the applicable color legend so viewers understand what the coloration represents. For color legends, it is often sufficient to display just one value at the top (the maximum) and one at the bottom (the minimum) in addition to the name of the variable. In fact, sometimes just using High and Low are sufficient if only the relative magnitudes of the variable are important.

Screen Space

The region of a video display that is safe for viewing is typically smaller than your animation display window. You should plan your scenes such that objects of interest (especially annotation entities) do not come too close to the edge. If you keep these objects within the range (in EnSight viewport coordinates) .06 to .94 for X (width) and .05 to .95 for Y (height) you should be safe.

Introductory Sequence

Your animation should begin with some title slides explaining the problem domain to your viewers. Try not to put too many words on any one slide and display each one for at least four seconds.

Next, before displaying your results, provide a sequence that introduces viewers to your model. This sequence should be long enough and complete enough to orient the average target viewer to your problem. It is difficult to overestimate the need for this sequence. Without it, viewers are often confused and disoriented for the entire animation.

Credits

You should always include proper credits on any animation you produce. Even animations initially intended only for internal consumption often end up shown to broader audiences.