Keyframe Animation: Understanding Keyframe Channels, Tangents, and Cubic Coefficients, Slides of Computer Graphics and Animation

An in-depth exploration of keyframe animation, focusing on keyframe channels, tangents, and cubic coefficients. Keyframe channels define the curves between keys using 1-d interpolation, usually piecewise hermite. Keyframes consist of time, value, tangent in, tangent out, and rules. Tangents determine the incoming and outgoing slopes of the curves and can be flat, linear, smooth, or specified using a step rule. Cubic coefficients are precomputed from tangents and other data to define the span between two successive keyframes. The document also covers the importance of keyframes in animation systems, curve fitting, and the matrix form of hermite curves.

Typology: Slides

2012/2013

Uploaded on 04/30/2013

archan
archan 🇮🇳

3.8

(5)

92 documents

1 / 41

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Keyframe Channels
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29

Partial preview of the text

Download Keyframe Animation: Understanding Keyframe Channels, Tangents, and Cubic Coefficients and more Slides Computer Graphics and Animation in PDF only on Docsity!

Keyframe Channels

Keyframe Channel

 A channel can be stored as a sequence of

keyframes

 Each keyframe has a time and a value

and usually some information describing

the tangents at that location

 The curves of the individual spans

between the keys are defined by 1-D

interpolation (usually piecewise Hermite)

Keyframe

Time

Value

Tangent In

Tangent Out

Keyframe (time,value)

Keyframe Tangents

 Keyframes are usually drawn so that the incoming tangent points to the left (earlier in time)  The arrow drawn is just for visual representation and it should be remembered that if the two arrows are exactly opposite, that actually means the tangents are the same!  Also remember that we are only dealing with 1D curves now, so the tangent really just a slope

Animating with Keyframes

 Keyframed channels form the foundation

for animating properties (DOFs) in many

commercial animation systems

 Different systems use different variations

on the exact math but most are based on

some sort of cubic Hermite curves

Curve Fitting

 Keyframes can be generated automatically from sampled data such as motion capture  This process is called ‘curve fitting’, as it involves finding curves that fit the data reasonably well  Fitting algorithms allow the user to specify tolerances that define the acceptable quality of the fit  This allows two way conversion between keyframe and raw formats, although the data might get slightly distorted with each translation

Tangent Rules

 Rather than store explicit numbers for tangents, it is often more convenient to store a ‘rule’ and recompute the actual tangent as necessary  Usually, separate rules are stored for the incoming and outgoing tangents  Common rules for Hermite tangents include:  Flat (tangent = 0)  Linear (tangent points to next/last key)  Smooth (automatically adjust tangent for smooth results)  Fixed (user can arbitrarily specify a value)  Remember that the tangent equals the rate of change of the DOF (or the velocity)  Note: I use ‘v’ for tangents (velocity) instead of ‘t’ which is used for time

Flat Tangents

 Flat tangents are particularly useful for making ‘slow in’ and ‘slow out’ motions (acceleration from a stop and deceleration to a stop)

v = 0

Smooth Tangents

(p 1 ,t 1 ) v

1

out

v 1 in

2 0

2 0 1 1 t t

p p v v

in out

− = =

(p 2 ,t 2 )

(p 0 ,t 0 )

 Keep in mind that this won’t work on the first or last tangent (just use the linear rule)

Step Tangent

 Occasionally, one comes across the ‘step’ tangent rule  This is a special case that just forces the entire span to a constant  This requires hacking the cubic coefficients (a=b=c=0, d=p 0 )  It can only be specified on the outgoing tangent and it nullifies whatever rule is on the next incoming tangent

Cubic Equation (1 dimensional)

f ( ) t = at^3 + bt^2 + ct + d at bt c

dt

df

( ) [ ]

d

c

b

a

f t t^3 t^2 t 1 [^ ]

d

c

b

a

t t

dt

df

Hermite Curve (1D)

v 1

p 1 p 0

v 0

t 0 =0 t 1 =

Hermite Curves

d
c
b
a
v
v
p
p
v a b c
v c
p a b c d
p d

1

0

1

0

1

0

1

0

Matrix Form of Hermite Curve

1

0

1

0

1

0

1

0

1

v

v

p

p

d

c

b

a

v

v

p

p

d

c

b

a