segunda-feira, 12 de março de 2012

posbackup.keiframed animation. toonboom studio.

Key Framed Animation Part 1

This article is the beginning of a series that will explore “key framed animation”. If you haven’t read It’s Elemental Part 1 and It’s Elemental Part 2 then I strongly recommend that you read them before proceeding through this series of articles.
Up until now we have been making some comparisons between the physical world of hand drawn and photographed animation and the Toon Boom Studio virtual world of computer rendered animation. We have begun to discuss the division of production responsibilities between the TBS exposure sheet and the TBS timeline panel. So what exactly is meant by “key framed” animation?
Vector Art
Simplistically speaking, there are two primary methods in which computer software creates and interprets graphical images. One method is by mapping pixels with information that point by point stores the image. This is often referred to as Raster Graphics or Bit Mapped graphics. A second method of graphical representation is referred to as Vector Graphics which are based upon mathematical equations to represent graphical images. In the Toon Boom Studio world of computer animation, we primarily work with vector art. Because vector art is stored by computers as mathematical expressions which are rendered into visual images for viewing; they are uniquely suited to animation production. These expressions can be easily manipulated and rendered with virtually no loss in picture quality. This is due to the fact that the manipulation of the art work can also be expressed mathematically by applying numerical values for various attributes. For example, the scale, the rendered size, of the art work, can be modified by applying a scaling factor. The rotational orientation of an art work element can also be manipulated by applying a rotational factor. The location or position of the art object in a frame’s North South East and West coordinate grid can also be generated by applying numerical values. Even distortion of the art, referred to as deformation or skewing, can be captured as attribute values. All of these manipulation values can then be applied at a specified time by Toon Boom Studio's rendering engine to generate a desired visual image. When we use the term “animatable” with regard to the manipulation values for the attributes of how art work elements will be rendered, we are referring to the fact that these particular attributes of the art work (scale, position, rotation, deformation) can be varied as a function of time creating the illusion of motion. So to use the computer to generate when and how these rendering changes will occur, we need a way to record and tie each attribute modification value to a specific point in time.
Keying Attribute Values to Frames
For any animation, time is converted into frames by means of a conversion formula based on the frame rate of presentation called the frames per second or FPS. Therefore to locate a specific point in time inside our animated scene, we will actually identify a frame number along our scene’s time line. The recording of a specific type of attribute value (scale, position, rotation, or skew) to control how the vector art will be rendered at a specific point in time is called a keyed frame value. This is often shortened and referred to in discussions as just a keyframe. This term is merely being used to show that a specific attribute manipulation value has been recorded to be applied to a specific piece or pieces of art work at a specific point in time. The value (scale, position, rotation, or skew) has been keyed, locked down and registered, to a specific frame number, a point in time.
Important conceptual note: The term keyframe is not always singular and most often is used to represent a set or group of multiple attribute types all keyed to the same object or objects at the same frame. Remember that a graphical object has many different attribute types that can be manipulated simultaneously. In Toon Boom Studio we can set keyed frame values one at a time or in groups. The term keyframe is used for the setting of these values and actually can and does refer to multiple values of different types together as a group (scale, position, rotation, and skew values). Toon Boom Studio provides track indicators at a single frame to show which types of values have been keyed to that specific frame. So please be aware that when you read the word keyframe you need to understand the context of how it is being used, either to refer to a single keyed value type or to refer to a set of multiple value types all in a group at that specific frame. This has proven to be a major source of confusion for many people.
Now one of the most powerful capabilities of computer animation software is its ability to fill in the logical transition, progressive changes, between two key framed attribute values of the same type, a beginning keyframe value and an ending keyframe value. This computer generation of transitional values is appropriately referred to as "tweening" which is short for in-betweening. The number of attribute value changes that the computer will generate depends on the number of frames specified in between the beginning and ending keyed frame attribute values. So for example, if we assign a keyed frame rotational attribute value of 0 degrees to an element at frame 1 and a keyed frame rotational value of 90 degrees for that same element at frame 7. Then in between frames 1 and 7 there are 5 frames and therefore 5 transitional values of rotational positioning that the computer can generate. The sequence of frames from a beginning keyframe value to the ending keyframe value of the same type, 7 frames in our rotational example, is called a segment. For any segment defined by a starting and ending key framed value pair, we can specify how the render engine will generate the in between transitional attribute values. If we just want the render engine to hold the beginning keyframe value constant until the ending keyframe value is reached, then we specify that the segment is a constant segment. This produces a “snap” or jump from the beginning attribute value to the ending attribute value. On the other hand, if we want a gradual transition in between the beginning keyed frame value and the ending keyed frame value; we will specify that the segment be a non-constant segment. By default, non-constant segments are generated linearly, which means that the rate of transition is equally spaced between values. So in our example where we have 5 in between frames between rotational values starting at 0 degrees and ending at 90 degrees, we would have attribute values created of 15, 30, 45, 60, and 75 degrees respectively. The linear rate of change is 15 degrees per frame. This is in effect an even or balanced distribution of the change in the controlled attribute. If we wanted these values to be determined differently, we could either increase the number of in between frames that make up the segment, or we could, use the TBS Function Editor to specify a different mathematical curve to be applied to control the generation of attribute value calculations. In terms of traditional animation, the variation of the function curve is the same as adjusting the spacing of the in between drawings. This is how cushioning or easing is applied to our animations generated by the aid of the computer render engine. If you want to learn more about timing and spacing in animation read these articles Understanding Timing in Animation.

"click" on the graphics to see their enlarged versions

So key framed animation is a technique of producing the illusion of motion by letting the computer software’s rendering engine generate a sequence of changed images mathematically using an in betweening calculation method which is controlled by a transitional equation visually represented by a function curve. The animator specifies key images by using key framed values to set the boundary conditions of the movement. Then the animator specifies to the rendering engine, his/her assistant, how many frames to use for in between images and how closely to space those in between images relative to each other. If this sounds a bit complicated, complex and technical that’s because it is. When you are doing key framed animation you are essentially programming the actions of the software’s rendering engine. In Toon Boom Studio, you aren’t writing code to program the render engine (in Flash that is called Action Script) but rather you are using scene planning tools and keyed frames and function curves. But it's programming none the less.
Next time, in Part 2 of Key Framed Animation we will begin to discuss dynamic elements called pegs and see how they are applied. 

Thursday, May 17, 2007

Key Framed Animation Part 2

In Part 1 we discussed the basics of key framed animation. In part 2 we will begin to discuss how key framed animation is implemented and controlled in Toon Boom Studio.
First we want to review some background concepts.
Pictures are composed of multiple picture elements
As we all discussed in It's Elemental Part 1, animation is created by rendering a series of pictures in a sequence and displaying those pictures at a sufficient rate of speed so as to generate the phenomena called “persistence of vision”. Basically our goal is to optically blend sequential images together to create the visual effect of continuous motion. The individual pictures themselves can be a single element or a combination of many picture elements. In most animations, the pictures in the sequence, also referred to as the frames in the sequence, are constructed as compositions of many layered picture elements. In traditional hand drawn animation, these picture elements are arranged in an overlapping layered stack under a rostrum camera for photographing.

Each picture element traditionally was created separately on a clear transparent plastic sheet called a cell. The stacking order of the cells creates the visual effect of depth by allowing some picture elements to overlap other picture elements producing perspective in a 2D picture. In order to position each picture element’s cell relative to the other elements of that composite picture, there is the need for some means of element registration. The accurate registration of picture elements to avoid unintentional shifting is critical because any variation in the positioning of a picture element photographed in successive frames of an animated sequence creates the illusion of motion. To accomplish this accurate positioning, a cell registration device had to be invented, and thus the registration peg and the registration peg bar were created. By punching registration holes in each cell that matched the registration peg pins of the peg bar, it was possible to insure accurate positioning of each and every drawing element in the layered composition stack for each photographed frame of the animation. Additionally by utilizing multiple peg bars, some which were held stationary and some which could be incrementally repositioned, it became possible to create the illusion of motion by simple frame by frame repositioning of selected image elements. These incrementally movable peg bars became known as traveling peg bars.

Click on image to view full size
Besides having multiple traveling peg bars, a photographic animation camera stand also has an incrementally movable picture composition surface, the picture plane, that is capable of producing compound movements in all horizontal directions (North, South, East and West) including 360 degree rotational movements. The creation of the multi-plane camera stand, by the addition of multiple picture composition planes, provides additional photographic depth between picture elements. Traveling peg bars in conjunction with the compound directional movements of the picture planes of the camera stand are the ancestors of Toon Boom Studios peg element motion guides .
So as we discussed in Part 1, we can direct computer aided animation using keyframes but we need a way to connect an element to many different types of keyed frame values as well as a way to specify the length of our connecting segments between each beginning and ending keyed frame pair. We also need a place to tie a velocity function curve to each connecting segment. In Toon Boom Studio we have a container for keyed frame values and inbetweening instructions and that container is called a peg. Looking back to the origin of the registration peg, we can see that pegs and peg bars were originally created as registration devices, and we are still using them in that way in our virtual version too. We are registering animation attribute values and instructions to art work elements for specified frame sequences.
In Toon Boom Studio beginning with version 3.5, we can have pegs in two forms. We can have them as independent element tracks in our timeline or we can have them as integrated parts of other element tracks where the peg is included inside of a drawing or image element track. The important point here is that any usage of pegs for containing information and instructional registration is a part of compositing and planning and therefore only useful in the timeline directly associating the pegs with Camera View for scene planning. Pegs have no real meaning with respect to the exposure sheet which is primarily used to manage drawing organization and Drawing View. Don’t forget to review It’s Elemental Part 2 for more information on the uses of the exposure sheet and the timeline panel.

A peg, whether an independent element or integrated into a drawing or image element, can contain multiple different types of attributes of keyed frame values at each individual frame in a scene (location, scale, rotation, or skew values). TBS provides specific visual indicators on a timeline track display for each type of keyed value present at each single frame. Conceptually a peg element is a collection of pegs, each of which is a multi-valued container. Each frame position of a peg element is a peg container. For simplification we just refer to the peg element and its individual peg containers as a peg. So just like the term keyframe can be singular or plural depending on the context of our use, the same thing is true for the term peg. And a peg element can contain many connecting segments as defined by each occurrence of a starting and ending key framed value for the same type of attribute. This means that even though three segments, one for scale and one for rotation and one for location, might all start at the same frame they don’t have to be the same length, they can each end on different frames. Each segment does not have to have the same type of inbetweening method either, some could be constant and the others non-constant, and each non-constant segment has its own unique velocity function curve that controls the in between image spacing. That’s a lot of flexibility for us as animators to be able to direct.

As we learned in Part 1, key framed animation is a form of programming instructions. But in TBS we don’t write code to direct the render engine, we do it using visual tools like the scene planning tools and the function editor and the pegs themselves. How we use these visual aids dramatically effects how well we function as lead animators. So the more we understand about how they work and their interactions, the easier and more successful our directing tasks. Yes, we are animating but we are also directing the render engine and it requires significant skill and experience to do this correctly. After all we have to be the lead animator and the render engine is our obedient inbetweening assistant. That assistant does exactly what we instruct it to do, even if we inadvertently give it incorrect instructions. So it is easy to be lulled into thinking that key framed animation is really simple due to the fact that we do things visually and not by typing script code in TBS. But when you consider how detailed and complicated the directions can be which you are trying to communicate to your assistant, the render engine, you can begin to appreciate that this is not a trivial task.

Scene planning tools
Scene planning tools are used to specify or address the type or types of attributes with which you want to work. They are more than visual manipulators, they are specific selection switches. When you select a scene planning tool from your tool pallet it becomes active and it limits what type of instructions you can influence. Once a scene planning tool has been chosen you can only create, edit, copy or delete the associated type or types of attributes of keys for that specific tool. When the transform tool is active it is used as an all purpose keying tool as it addresses location, rotation, scale and skew attributes all at the same time. When the scale tool is active it only addresses scale attribute values. When the rotation tool is active it only addresses rotation attribute values. When the skew tool is active it only addresses skew attribute values. And when the motion tool is active it only addresses motion path attribute values. The scene planning selection tool doesn't address any keyed frame types at all when it is active. But it still has an very important instructional purpose which we will learn more about in Part 3.
Each matching keyed type of attribute can be viewed as part of a pair of keyframes which is connected by an inbetweening instructional segment. Each segment is created as either a constant segment or a non-constant segment. For the same element there can be multiple types of attributes keyframed and the connecting segments for each keyframe pair of common attributes can be set independently. The way a particular keyed frame attribute is specifically addressed is by the scene planning tool you select to be active. So if you only want to address a rotation pair of keyframes you would select the rotation tool to be active. Or, if you only wanted to address a scale pair of keyframes you would select the scale tool to be active. The important concept to remember when working with keyed frame attributes is that the scene planning tool you select to be active dictates which attributes you are addressing when you are creating, editing, copying or deleting keyframes or their connecting segments. We will get into more detail about this in part 3 on Key Framed Animation.

So to extend what we have learned so far, pegs are used to keyframe animate objects across time. You can attach one or more elements to a peg and you can attach pegs to other pegs to create complex hierarchies of control. Pegs are used to facilitate computer rendered inbetweening. So when you have elements attached to a peg, you can set keyframes and TBS interpolates inbetween those keyframes based on the values of those keyframes and the type of connecting segment used. And you can use velocity function curves to adjust the way the inbetweening is applied which is often called “custom easing” or "cushioning". Basically the curve specifies the rate of change between the images, their spacing.

Additionally, pegs can be controlled by motion paths which are 3D and those motion paths can have adjustable keyframes and they also can have frame independent motion control points. That allows you to have some motion control that has to happen at a specific point in time and other motion controls that are 3D space dependent and not time dependent. At this point, you should begin to see that TBS has some very sophisticated functionality that can provide a lot of flexibility for us as animators once we master the skills of directing this method of communicating instructions to the render engine.
There is a new way to use pegs in v3.5 as each image or drawing element now includes a peg as part of that image or drawing element. This means that keyframing does not require attaching elements to separate peg elements as was the case in previous TBS versions. Of course the power and flexibility of separate peg elements still exists and so this new creation of integrated peg elements is not just a simplification but is also an enhancement.

Each type of attribute of keyed frame value can be set uniquely using their own special scene planning tool. Some people misunderstand the flexibility and power of this approach. You can use the transform tool for rough keyframing and then when you go to tweak an animation action you can use the individual scene planning tools to fine tune it and not accidentally mess up other types of keyed frame attributes. Because you can individually address key framed values with specific scene planning tools on the same frame, you can selectively delete those types of key framed parameters without deleting other types of keyframed values that you want to maintain on that same frame.
So in Part 3 of Key Framed Animation we will begin to look at the ways to actually use the scene planning tools and pegs and keyframes and velocity curves.

Key Framed Animation Part 3

Please be sure to review
before you continue with these next parts of this series.
Thinking and Planning
Successfully creating and producing animated content requires significant thought, preparation and planning. Trying to approach animation as ad-hoc improvisation is a recipe for major disappointment. You most likely will not get successful results by an approach to animating based on just winging it as you go. So even though examples and tutorials don’t always go into great details about the thinking and planning and visualization work that was involved, it is none the less important. I will try as often as practical to not gloss over those aspects. The pieces of an animated cartoon don’t just magically appear and there are rarely any happy accidents in creating animation. Every aspect is the result of thoughtful planning and careful execution.
The Demonstration Scene
I have created a demonstration scene to act as a reference to these articles on Key Framed Animation. It will hopefully serve our purposes well, as over a series of additional installments on this topic we will have plenty to discuss in uncovering the behind the scenes techniques of this scene.
From here forward in this series on Key Framed Animation we are going to be exploring how to implement the techniques we touched on in the first two parts.
Except in the case of an animation practice exercise, like creating a simple character walk cycle, an animated cartoon scene is created as part of telling a story. The story and its requirements precede the planning of the scene. In our demonstration scene we have a fish named Filbert who is swimming along casually until he comes to a brief stop and suddenly reacts to a shark head on. Filbert then turns and exits very quickly fleeing for his life.
The scene is underwater so we need to design and construct an underwater environment as well as to make the appropriate character animation.
I wanted to show you the scene up front so that you would have a good idea of what the final result will be. Getting to a successful result is what these articles are all about.
Animating is full of choices related to how we want to create our work. There is always more than one way to do almost everything and as a TBS user as you become more experienced you will find even more alternatives. When first learning TBS just try to stay open minded and keep reminding yourself that there are lots of choices possible. I have an expression I use often which goes: “don’t confuse the effort with the results”. In creating animation it is the final results that count not how easy or how hard you worked to get to those results. Hopefully you will enjoy the process of creating animation, if not, you might consider doing some other type of activity.
As I go along in these articles I will try to point out useful practices and tips, these aren’t rules and you can incorporate them in your own workflow or not. Each animator has to decide what works best for themselves in their own work. The way that I approach something is one way and certainly not the only way.
Getting Started
To do a scene you should create some rough sketches as part of your visualizing. I like to do lots of small thumbnail sketches to explore different ways to view the action required by the story. It is also usually a good idea to create some scene layout sketches to determine the most effective placement of the characters and props. Remember you are basically starting from scratch and therefore have to design and create everything about this scene.
For our underwater scene I identified many items of scenery or props to create the appropriate environment. Things like rocks and coral and sand and plants as well as some special animation effects to help provide a sense of being in water. Things like seaweed moving with the current and rising air bubbles. I created all of these items in Drawing View as individual elements. And once created they can be assembled into a composite setting in Camera View to match my visualized layout sketches.
Also I have collected all of my scenery assets into a section of my global library so as to make them available for reuse in future scenes or projects. I’ll do a series about building and using your libraries in some future articles.

Each piece of scenery or prop is a column in my exposure sheet for this scene. I have organized them into a rough layered order but the real layout and organizing of the scene will be done in Camera View when I assemble the environment.

As you can see below I created the elements without worrying too much about the way they would fit in the scene layout. I drew them at a comfortable size and usually centered them in my Drawing View grid. Why? Mostly it is personal preference.

The exceptions were the seaweed and the various bubble effects. All of which I animated in Drawing View taking advantage of the field guide and the onion skinning feature of TBS. This brings up an important animator’s choice. How to create an effect or an action? Do I hand draw the animation in Drawing View using full or limited animation methods? Do I create the animation in composition using keyframing techniques? Or, do I create the animation by using the camera and cinematic techniques? It’s all comes down to making choices that you feel will work best for you and your situation. For the seaweed and the bubbles I knew I wanted to be able to reuse these effects again and I personally like doing these types of effects in Drawing View the classical way.
So as you can see I now have a bunch of scenery assets and effects that need to be assembled to create my underwater environment. To do this I will work in Camera View and use the timeline and top and side view panels.
Static Values Applied to an Element
In scene planning and layout in TBS we encounter two kinds of element attribute values, static values and dynamic values. Static values are applied to an element when it is first placed in the scene. They are applied and then left alone. That’s why they are static values because they don’t vary with the passage of time. Dynamic values vary over time. They are often referred to as animatable values for just that reason. It is the dynamic values that we assign through the use of keyed frames. But first we need utilize an element’s static values.
Here is an important guideline. Don’t do any keyframing to an element or hierarchy of elements until you have applied all of their needed static values. And once you start keyframing, don’t mess with an element’s static values. Why? Because changing static values on an element after you have started key framed animation is a sure way to destroy a lot of your hard work.
So what are these static values? How do we use them? And how can we avoid messing up by miss using them?

click on the image to enlarge
When you switch to Camera View from Drawing View you are moving from viewing your elements in 2D space to viewing them in 3D space. Now if you do absolutely nothing to the element beyond what you did in creating it in Drawing View then it would be seen and be rendered exactly as drawn. That would be a lot like shooting a pencil test without using any of the features of your animation camera stand. Of course TBS provides us with this wonderful multi-plane camera stand with all sorts of cinematic capabilities so we sure want to take advantage of it. Therefore we need to place our elements in 3D space to get the result we want. This is done by setting static values for the elements 3D location (North-South-East-West-Front-Back coordinates) as well as values for the elements scale and rotational orientation. These modifiers are applied to the Camera View representation of the element. The actual element in Drawing View is not changed. Now it is important to note that we are talking about modifying the entire element when we apply these static values. That means every cell in your exposure sheet that is part of that element is displayed in camera view according to these values. We can also set static values for the rotational pivot point for the element and the scaling pivot point for the element.
The scaling pivot point is set by selecting the scene planning scale tool and dragging and positioning the green circle. The rotational pivot point is set by selecting the scene planning rotation tool and dragging and positioning the green circle. Once these pivot points are set they remain in that position. Now here is a important warning. Don’t try to relocate either of these static pivot points once you start setting keyframes for this element. These pivot points are static not dynamic so they are not able to be keyframed. If you set keyframes on your element and then move the associated static pivot point then all the values you keyframed will now reference a different pivot location and the results across your animation will be unpredictable at best. If you ever need to manipulate an element on a one time basis for a specific keyframe setting with a different pivot point, the scene planning transform tool allows you to use a temporary pivot point.
All of the other static values for positioning and orienting an element in 3D space before animating it with keyframes are applied by selecting and using the scene planning select tool. Or you can make text box numerical entries on the Drawing tab of the Properties panel while the desired element is selected by the scene planning select tool. Here is another important warning. Don’t get confused and try setting values on the Drawing tab while using another scene planning tool and think you are setting keyframed values, you aren’t. You are setting static values and this inadvertent changing of static values while keyframing produces results across your animation that will be unpredictable at best.
So here are my personal guidelines for the setting of static values to be applied to an element or hierarchy of elements. Always set these values before starting any keyframing for those elements in your scene. And, only use the scene planning select tool on the first cell exposure frame for the element in your timeline. Now these static values are globally applied to the element and not keyed to a specific frame, and the scene planning select tool is only used to set static values and never keyframed values, so if you always remember to only use the scene planning select tool on the first cell exposure frame of an element then you will not be trying to do keyframing with this tool and inadvertently messing up your other keyframed work. It may seem like I’m spending a lot of time warning you about the dangers of changing static values after you start keyfaming an element in your scene but this is a huge source of problems for many TBS users and often blamed as bugs in the software when the keyframed work suddenly seems to go haywire. It almost always is caused by changing a static value after the fact and once you do it, fixing the ripple thru effect is often not easy to say the least.
So now we are going to compose our underwater scene using the scene planning select tool to position each element in 3D space. We will visually do some of the manipulations in the Camera View panel but some of the settings are easier to accomplish using the top view and side view panels.

As you can see I was very busy positioning all these scenery and effects elements to compose this underwater environment. Each green line in the top view and the side view represents an element. The brown triangular shape is the camera’s viewpoint which widens as you move away from the camera’s lens. Top view is used to position elements East – West and Front – Back. Side view is used to position elements North – South and Front – Back.

Now that I have the scene set up, I also need to extend the exposures for the various elements to have them show for the desired time in the scene. I actually usually do this in the Exposure Sheet before I even start putting things in 3D space. Then there are a couple more useful practices that I like to follow. I create a separate peg element in the timeline and attach all of my scenery and props scene elements to it. I’m going to use this peg element as a timeline folder to manage my elements track display. I can collapse the “folder” peg as I shouldn't need to deal with these tracks while I'm doing the character animation or camera work for this scene.

This is the track list un-collapsed.

This is the track list collapsed.
I also go to my Exposure sheet elements list and uncheck these elements. This has no effect on Camera View work; it just cleans up my Exposure Sheet by hiding elements I most likely won’t need to view. I can always unhide them if I need to.

Notice that up until now I haven’t mentioned setting any keyframes yet. That’s because I haven’t had to use any so far to set up the environment of this scene. The only animation up to this point was the seaweed and the bubbles and that was done classically in Drawing View not by using keyframed animation. That’s a lot to read and digest for now, so next time in Key Framed Animation – Part 4 we will begin to work on the character animation and camera animation parts of our scene. And that’s when we will be using keyframing.

Nenhum comentário:

Postar um comentário