The RenderMan Interface allows an animation to be defined in two ways,
Commercial software such as Maya and Houdini use the first
method - one rib file per frame of animation. A small part of
a rib file that uses the second method ie. multiple
Each frame of the animation is enclosed within the paired statements,
Creating a Key Frame (.key) Document
A common technique used in animation is to define a series of key frames that
specify the characteristics of a scene that undergoes change over a period of
time. In this way an animator does not have to attend to the specific details of
an animation on a frame by frame basis. Unfortunately, RenderMan only deals
with animations at this low level - it does not have a of key frame statement
built into its scene description language.
Cutter will automatically produce a key frame document that duplicates the (source) rib as a pair of KeyFrameBegin / KeyFrameEnd blocks. A very simple example of a key frame document is shown below.
In particular, notice the
tells Cutter to produce a rib file containing all the
frames of an animation. The second
Alternatively, Cutter will produce a single preview frame, say frame 10, if the first Tween statement is of the following form.
Any number of key frames can be defined within a .key document so long as each KeyFrameBegin statement has a unique number. For example, the .key document shown above could have had the following "extra" keyframe.
Pairs of key frames that are to be Tween'd must have an identical structure - only numeric parameters are allowed to vary. For example, it would be illegal to substitute the cone in key frame 2 for a sphere. If Cutter finds any mistakes of this kind it will warn you and refuse to process the .key document. With three key frames the sample .key document could have defined three Tween'd segments.
Tween "from" 1 "to" 2 "frames" 8 Tween "from" 2 "to" 3 "frames" 8 Tween "from" 3 "to" 1 "frames" 8
Changes from one key frame to the "next", be they height, coloration or anything else for that matter, would occur in a linear fashion ie. equal increments. Cutter also allows changes to occur more gracefully.
For example, in the statement shown above the change in the height of the cone
would be slow at first but would become more rapid around the 8th frame (50%
of the way through the sequence). By frame 16 the rate of change would once again
become "slow". By tween'ing from key frame 1 to 2 and
then back to key frame 1 using smooth on both sequences the cone would
have a slightly "bouncy" feel to its motion.
The second tween could convey the feeling the apex of the cone is falling as if it were under the influence of gravity ie. slow at first but becoming faster and faster,
In each case the number following "easein" and "easeout" may be set to any value between 0 and 1. A value of "easeout" 0.3, for example, would indicate that only the final 30% of the inbetweened frames would be eased-out ie. the rate of change would decrease to zero. Finally, it should be noted that easing-in and easing-out may, to a certain extent, be combined ie.
In this animation, 100 frames in length, only the first 20% and the last 40% of the sequence are effected by easing-in and easing-out. Cutter will not allow easing-in and easing-out to overlap. In other words if you attempt to set "easein" to 0.6 AND "easeout" to 0.7, Cutter will reduce the "easeout" period to 0.4, since 60% and 40% add up to 100%.
Animated Texture and Displacement Maps
Cutter is able to animate texture and displacement maps in the sense that key frames can specify two different image files for corresponding pairs of MakeTexture statements, for example,
The important point to notice here is that each of the multiple images files
must have a 3 digit extension and that the number of frames specified in the
Tween statement, 25 in the example shown above, matches the number of
images files to be converted to texture files with the MakeTexture statement.
All the image files (ie. myImage.001 to myImage.025) must be
in the same folder as the rib file - Cutter cannot create missing files by
© 2002- Malcolm Kesson. All rights reserved.