Animation Controllers
Everything you animate in Awakening is
handled by a controller. Controllers handles the storage and interpolation of all
animated values. Once you click the "Set Key" button in the Animation Panel
to create a key, Awakening will assign controllers for every animation
parameter. These controllers are listed in the Controller
Box. Different data type parameter has different controller type. Below is a table of
controllers in Awakening:
|
Data Type |
Interpolation Class |
Sample Use |
|
|
Simple Controller |
Float |
Step, Linear, Spline, Spline (continuous ), Wave, Noise, Perlin Noise | Width, Height |
|
Complex Controller |
Bool |
Step | Switch |
|
ARGB |
Linear | Color | |
|
Vector3 |
Linear, Spline, Spline (continuous ) | Position, Orientation, Scale |
Complex Controllers have Sub-Controllers, you can change Sub-Controllers respectively. For example, you can assign a "Wave" float controller to "A(transparence)" element of color to produce swing between appear and disappear.
Interpolation Class Illustration:
| Step | |
| Linear | ![]() |
| Spline | |
| Spline (continuous) | |
| Waveform | |
| Noise | |
| Perlin Noise |
Horizontal axis is time, and vertical axis is value.
Amplifier is a mechanism for amplifying controller input/output data. Every controller have two amplifiers: Time Amp and Value Amp. To understand amplifiers, let us first realize how controllers work in animation. A segment of animation consists of multiple frames, every frames have a time - called frame time. When the animation system renders a certain frame, it passes the frame time to the controller for every animated parameter, then the controller returns animation parameter values; so the animation system uses the input value to change object states, like position, color, etc. See illustration:

A amplifier include three variables: PreOffset, Zoom, PostOffset. The amplifying formula is: Output = ( Input + PreOffset ) X Zoom + PostOffset .