Graphics Reference
In-Depth Information
numerical quantities, implement behavioral rules, and so on. The disadvantage of using an animation
language is that it is, fundamentally, a programming language and thus requires the user (animator) to
be a programmer. The animator must be trained not only in the arts but also in the art of programming.
4.2.1 Artist-oriented animation languages
To accommodate animators not trained in the art of computer programming, several simple animation
languages were designed from the ground up with the intention of keeping the syntax simple and the
semantics easy to understand (e.g., [ 16 ] [ 17 ][ 23 ] ). In the early days of computer graphics, almost all
animation systems were based on such languages because there were few artists with technical back-
grounds who were able to effectively program in a full-fledged programming language. These systems,
as well as some of those with graphical user interfaces (e.g., [ 13 ] [ 26 ][ 34 ] ), were more accessible to
artists but also had limited capabilities.
In these simple animation languages, typical statements referred to named objects, a transformation,
and a time at which (or a span of time over which) to apply the transformation to the object. They also
tended to have a syntax that was easy to parse (for the interpreter/compiler) and easy to read (for the
animator). The following examples are from ANIMA II [ 16 ] .
set position < name > < x > < y > < z > at frame < number >
set rotation < name > [X,Y,Z] to < angle > at frame < number >
change position < name > to < x > < y > < z > from frame < number > to frame < number >
change rotation < name > [X,Y,Z] by < angle > from frame < number > to frame < number >
Specific values or variable names could be placed in the statements, which included an indicator as
to whether the transformation was relative to the object's current position or absolute in global coor-
dinates. The instructions operated in parallel; the script was not a traditional programming language in
that sense.
As animators became more adept at writing animation scripts in such languages, they tended to
demand that more capability be incorporated into the language. As Steve May [ 24 ] points out, “By
eliminating the language constructs that make learning animation languages difficult, command
[artist-oriented] languages give up the mechanisms that make animation languages powerful.” The
developers found themselves adding looping constructs, conditional control statements, random vari-
ables, procedural calls, and data structure support. An alternative to developing a full featured anima-
tion programming language from scratch was to add support for graphical objects and operations to an
existing language such as C/C
, Python, Java, or LISP. For example, Steve May developed a
scheme-based animation language called AL [ 25 ] .
þþ
4.2.2 Full-featured programming languages for animation
Languages have been developed with simplified programming constructs, but such simplification usu-
ally reduces the algorithmic power of the language. As users become more familiar with a language, the
tendency is to want more of the algorithmic power of a general-purpose programming language put
back into the animation language. More recently, animation systems have been developed that are
essentially user interfaces implemented by a scripting language processor. Users can use the system
strictly from the interface provided, or they can write their own scripts using the scripting language.
Search WWH ::




Custom Search