Animay Motif Editor
Animay Motif Editor
1.0 Introduction
2.0 The Interface
2.1 Spline Display
2.2 Toolbar
2.2.1 Time
2.2.2 Value
2.2.3 Inser
2.2.4 Delete
2.2.5 Grouped
2.3 Scroll Bars
2.3.1 Value Scroll Bars
2.3.2 Time Scroll Bars
2.4 Menus
2.4.1 File
2.4.1.1 Load Spline
2.4.1.2 Save Spline
2.4.1.3 Load Animation
2.4.1.4 Save Animation
2.4.1.5 Generate Frame
2.4.1.5.1 ... Selected Keyframe
2.4.1.5.2 ... Closest Frame
2.4.1.5.3 ... Exact Time
2.4.1.6 Generate Animation
2.4.1.7 Exit
2.4.2 Edit
2.4.2.1 Change Duration
2.4.2.2 Change Period
2.4.2.3 Change Frames
2.4.3 Variables
2.4.4 Options
2.4.4.1 Group Variables
2.4.4.2 Other Options
2.4.5 Help
This document will look at the different functions of the Animay Motif Editor,
and describe some techniques for easier editing of spline curves.
It will explain the interface of the editor, with a description on what each
menu item does, how the toolbar works, and how to use the mouse to edit a spline.
When first executed, the Animay editor comes up with a window similar to this :
This was produced by executing the command "animay -i demo.anp -e".
The most important part of the editor is the spline display window :
As can be seen, this displays one or more of the variables as a graph of value versus time.
The current spline is a solid line. The scale on the left of the graph show the amplitude
of the splines, while the text along the base tell us such things as the current zoom
factors, the slice in time shown, and information about any currently marked point.
The dotted splines are variables grouped with the primary spline. When operations such as
insertion, deletion and alteration are performed, they can effect the primary spline only,
or all the grouped splines together.
The toolbar controls the effect of clicking on a spline curve, and displays what
variables are being displayed :
The Toolbar sits just above the spline display, and consists of a number of checkboxes, and
a list of what variables are being displayed. The primary spline is listed within []'s, and
any other variables grouped with it are listed within {}'s. For this example, camx is the
primary spline, and camy and camz are the splines grouped with it, shown as a dotted spline.
When none of the buttons are checked, clicking and dragging button one (usually the left
hand mouse button)
within the spline display will mark a point, shown as a vertical line with a cross where it
intersects the primary spline. The closest keyframe
will also be marked. The middle part at the bottom of the spline display lists the time
and value at which the vertical line intersects.
Buttons two and three have no effect unless the insert or delete buttons are checked.
When the time button on the toolbar is checked, clicking button one
and dragging within the spline window will shift the nearest keyframe's position in
time to where the mouse is pointed. When being dragged, a keyframe cannot cross over another
keyframe.
When the value button on the toolbar is checked, clicking button one and dragging within
the spline window will shift the nearest keyframe's value to the level the mouse is pointing
to.
When the insert button on the toolbar is checked, clicking button two (usually the middle
mouse button) will insert a new keyframe at the time pointed to by the cursor. If the
value button is also checked, then it will be inserted with the value pointed to, else
it will be inserted at the value at that time for the old spline.
When the delete button on the toolbar is checked, clicking button three (usually the
right mouse button) will delete the closest keyframe.
When the grouped button on the toolbar is checked, all spline editing, including
inserting, deleting and dragging keyframes, will be carried out on all splines
displayed, both the primary one, and the grouped ones. This is useful when you have
keyframes occurring at the same time for the variables, and you wish to move the
keyframe through time to rescale the animation.
There are four scroll-bars surrounding the spline window; two on the left, and two along the bottom.
The inner scroll bars alter the offset of its axis, while the outer scroll bars alter the zoom factor.
These are used for focussing in on sections of a spline to generate more accurate readings and positioning
of keyframes.
As there are no limits as to the range of the values, the Value scroll bars do not have a range restricted by
any parameters of the animation.
As there is a definite limit on the duration of the animation, the range of the Time offset scroll bar is
restricted by the zoom factor. In the image above, the zoom factor is x1. The section shown is 100% of the
whole animation. Therefore any offset would take it beyond the boundaries of the time limit.
The image below shows a zoom factor of x2, showing 50% of the total duration. The offset bar may now be
moved to change which part of the spline is displayed.
-
Loads a previously saved spline from disk. The new spline overwrites the current spline
for the primary variable.
-
Saves the spline for the current variable to disk. The spline is saved as alternate
time and value coordinates, separated by commas. Using load and save spline gives a
form of rudimentary cut and paste between variables.
-
Loads a whole animation, scenery data and variable data. The new animation overwrites
the current loaded animation.
-
Saves the animation to disk as an Animay file (".anp").
-
Generates a single frame based on the selected point. This is handy for checking
the frame at that time to make sure it all looks correct, without generating the
whole animation.
While a frame is being generated, a dialog box will stay open. At any time,
clicking on the "display" button will attempt to view what of the frame has
been processed so far. A similar dialog box appears once the generation is completed,
and the frame may be displayed. NB: To display an image it is required that an
external image viewer be installed, and the DISPLAY_CMD and DISPLAY_CMD_POST defines
configured in "animay.h" before compilation.
There are three methods for determining the frame data :
-
Generates data for the exact time the selected keyframe is at. Just because
a keyframe controls the shape of the spline doesn't mean that the keyframe
occurs precisely on a frame point, so the file produced may be of the
format "t-#####.tga", where ##### is the time (in milli-units) at which
the keyframe occurs.
-
Generates data for the frame closest to the marked point (vertical line).
This frame should have the same filename as if it was generated by
processing the whole animation.
-
Generates data for the exact time set by the marked point (vertical line).
This has the same format as the keyframe filename, as it does not always
occur on a frame.
-
Generates the entire animation. While it is working, you may still edit the
spline, although this will have disasterous effects on the animation.
The following dialog box is shown while the animation is generating :
As can be seen, this shows what frame is currently being generated. Selecting
"Skip Frame" will abort the current frame and begin on the next. Selecting
"Abort" will abort the whole generation.
-
Quits the Animay Motif Editor. Selecting this will also abort any frame generation
currently in process.
The three options under the edit menu each bring up a dialog box with which you can
alter the value of one of the animation parameters.
-
Changing the duration of the animation will cause each keyframe's place in time
to be recalculated to the new scale. Since splines saved to disk are not scaled,
a spline may be stretched or shrunk by saving it to disk, changing the duration,
and then reloading the spline.
Changing the duration also changes the period, which is recalculated from the new
duration, and the number of frames which is unaffected.
-
Changing the period of time between each frame will cause the number of
frames to be recalculated, based on the new period, and the duration which
is unaffected.
-
Changing the number of frames will cause the period of time between frames to
be recalculated, based on the new number of frames, and the duration which
is unaffected.
When the current variable is displayed, the value of each frame is calculated, and
straight lines drawn between each frame. This means that if a spline looks jerky or
disjointed, the resultant animation will also look jerky. Increasing the number of frames
will reduce the jerkiness. Likewise, if the spline takes a long time to refresh, then
a reduced number of frames will increase the refresh rate, as less lines will be drawn.
The variables menu contains a list of all the variables in the animation. The primary variable
is indicated by a diamond dimple next to it. Selecting another variable will make that variable
the primary variable.
-
This comes up with another sub-menu. At the top of the menu is the name of the current
variable. Underneath is a list of all the other variables. Those variables grouped with
the current variable are indicated by an indented dimple. The other variables may be
grouped or ungrouped with the current variable by clicking on its name. If a new
variable joins the group, then it loses its groupings with all other variables, and gains
the same grouping as the primary variable.
-
The rest of the options menu consists of POVray options which may be selected from
within Animay.
The help menu supplies brief information about the current version of Animay, some
help on the toolbar and scrollbars, and a button to access the Animay documentation
via Mosaic (or other HTML reader), if configured correctly.
Trevor Phillips
phillips@guri.cage.curtin.edu.au