This plugin provides a complete solution for creating several simple rotation and trajectory movies for presentations and science discussions. The plugin automatically handles everything from initial rendering of the movie frames, conversion of the image file formats, image smoothing, image rescaling, text labelling, and final compression and encoding of the images as an Animated GIF, AVI, MPEG, or Quicktime movie. |
![]() |
![]() |
The movie plugin relies heavily on several platform-dependent programs which provide VMD with a means of generating the final movie files. The features provided by the movie plugin vary by platform, according to the mechanism used in generating the movies.
Microsoft Windows
MacOS X
Unix platforms
Rendering using "Snapshot":
Some Windows and Linux OpenGL video drivers behave erratically with
the "snapshot" rendering mode, so it may be necessary to use one of
the ray tracers if you have a video driver that gives "garbled" images
when you use the "snapshot" rendering mode.
Rendering using "Internal Tachyon" or "Tachyon":
Since Tachyon is packaged with VMD itself and has been developed
side-by-side with the rendering features in VMD, it is the best choice
for high quality ray tracing of VMD scenes. Tachyon is best used for
rendering movies that use ambient occlusion lighting, angle-modulated
transparency, gradient backgrounds, and other features that are
closely tied to specific VMD rendering capabilities not supported
by other rendering packages. On versions of VMD that include support
for the "Internal Tachyon" option, this option is the best choice as
it avoids writing large scene files to disk and instead renders the
VMD scene directly from RAM, saving many gigabytes of disk space
and speeding up movie rendering considerably, particularly on fast
multi-core CPUs.
"User Defined" movie type:
Those individuals wanting to create complex movies beyond the
simple built-in movie types will want to use the "user-defined"
movie type. This movie type depends on a user-provided procedure
to perform the appropriate view and trajectory frame updates when
each movie frame is rendered. The user-defined procedure is triggered
when a special variable is set during the rendering process, by virtue
of the Tcl "trace" feature. The user-defined procedure must be enabled
to trace the ::MovieMaker::userframe variable before the movie generation
process has started. A simple example implementation using 3 procedures
is included below. In actual use, one would source the example script
below, then issue the enablemoviecallback routine, set the movie
type to "User Defined Procedure", and start the movie generation process
by pressing the "Make Movie" button. The user-defined movie frame procedure
can be disabled with the example disablemoviecallback procedure.
Simplest version of a user-defined movie script.
A more complete example that includes a fade-in on a transparent material. Follow the instructions at the top of the script to try it out.
"Userani" movie system:
Based on the trace method mentioned above, an easy-to-use automatic
animation system
Userani
for the Movie Maker has been
created, using a simple storyboard fashion. It offers an easy way to define
a timeline of the loaded trajectory, to which various animation procedures
can be added, as well as any VMD Tcl commands. This arrangement of the
timeline can also be visualized and unlimited parallel or overlapping
actions are available. There's no need to care about traces, frames and
frame ranges and a lot of animations are already prepared, including:
Software antialiasing post-processing:
The use of antialiasing can greatly improve the quality of the final
movie as it will reduce artifacts that generally decrease the effectiveness
of the back-end compression algorithms in MPEG, AVI and other movie formats.
To use software-based post processing on machines or renderers that lack
built-in antialising, check the "smoothing" button, then enable the
half-size rescale button and make your VMD window twice the size
(on both axes) that you want the final movie to be. Once this
is done, you may render the movie.