Skip to content

Animation

Jirka Dell'Oro-Friedl edited this page Sep 6, 2022 · 6 revisions

Many times, animations may easily be described by simple mathematical functions like a constant rotation or translation. Others are entirely controlled by user input or by physics. But often games require complex animations controlled solely by time or some other dimension. FUDGE supports a key-animation system for this, using Mutation.

Time

The term time refers to the controlling dimension for the animation in this system, since this is a common use case. However, the system is agnostic and other values may be put in as time.

System

The animation system consists of various parts describing and controlling animations and interactions with them.

Key

Describes a single value at a specific point in time. The value gets interpolated between keys according to the time along a cubic function. To define that function, the key also holds information about the slope at the time of the key.

Sequence

Is basically an array of animation keys to describe a complex animation.

Structure

Maps animation sequences to actual properties of a mutator (or a serialization at this point of time).

Label

A string defining a specific point of time that may. It can be used to start the animation at or jump to this point using a readable mark.

Event

A specific point in time. When this point is passed while processing the animation, the animation system dispatches the event given.

Animation

Bundles the structure, labels and events to a resource.

ComponentAnimator

Can be used to attach an animation to a node to automatically mutate the values of other components according to the time and the animation.

Clone this wiki locally