1
CS 4204 Computer Graphics
Computer Animation
Computer Animation
Adapted from notes by Yong
Adapted from notes by Yong
Cao
Cao
Virginia Tech
Virginia Tech
2
Outline
Principles of Animation
Principles of Animation
Keyframe
Keyframe
Animation
Animation
Additional challenges in animation
Additional challenges in animation
Classic animation – Luxo Jr.
(1986)
/>Principles of Traditional
Animation – Disney
Squash and Stretch
Squash and Stretch
Slow In and Out
Slow In and Out
Anticipation
Anticipation
Exaggeration
Exaggeration
Follow Through and
Follow Through and
Overlapping
Overlapping
Action
Action
Timing
Timing
Staging
Staging
Straight Ahead Action
Straight Ahead Action
and Pose-to-Pose Action
and Pose-to-Pose Action
Arcs
Arcs
Secondary Action
Secondary Action
Appeal
Appeal
/>Squash and Stretch
Slow In and Out
Anticipation
Exaggeration
Timing and Follow through
Secondary actions
Keyframe Animation
Define Character Poses at Specific Time Steps
Define Character Poses at Specific Time Steps
Called
Called
“
“
Keyframes
Keyframes
”
”
Keyframe Animation
Interpolate Variables Describing Keyframes to
Interpolate Variables Describing Keyframes to
Determine Poses for Character in between
Determine Poses for Character in between
In-betweening
Linear Interpolation
Linear Interpolation
Usually not enough continuity
Usually not enough continuity
In-betweening
Spline Interpolation
Spline Interpolation
Maybe good enough
Maybe good enough
In-betweening
Cubic Spline Interpolation
Cubic Spline Interpolation
Maybe good enough
Maybe good enough
May not follow physical laws !!
May not follow physical laws !!
In-betweening
Cubic Spline Interpolation
Cubic Spline Interpolation
Maybe good enough
Maybe good enough
May not follow physical laws !!
May not follow physical laws !!
Articulated Figures
Character Poses Described by Set of Rigid
Character Poses Described by Set of Rigid
Bodies Connected by
Bodies Connected by
“
“
Joints
Joints
”
”
Base
Arm
Hand
Scene Graph
Articulated Figures
Well-Suited for Humanoid Characters
Well-Suited for Humanoid Characters
Articulated Figures
Joints Provide Handles for Moving Articulated
Joints Provide Handles for Moving Articulated
Figure
Figure
In-betweening
Compute Joint Angles between Keyframes
Compute Joint Angles between Keyframes
Example: Walk Cycle
Articulated Figure:
Articulated Figure:
Hip
Knee
Foot
Upper Leg
Ankle
Lower Leg
Hip Rotate
Hip Rotate + Knee Rotate
Upper Leg (Hip Rotate)
Foot (Ankle Rotate)
Lower Leg (Knee Rotate)
Example: Walk Cycle
Hip Joint Orientation:
Hip Joint Orientation:
Example: Walk Cycle
Knee Joint Orientation:
Knee Joint Orientation:
Example: Walk Cycle
Ankle Joint Orientation:
Ankle Joint Orientation:
Animation
When we speak of an
When we speak of an
‘
‘
animation
animation
’
’
, we
, we
refer to the data required to pose a
refer to the data required to pose a
skeleton over some range of time
skeleton over some range of time
This should include information to
This should include information to
specify all necessary DOF values over
specify all necessary DOF values over
the entire time range
the entire time range
Sometimes, this is referred to as a
Sometimes, this is referred to as a
‘
‘
clip
clip
’
’
or even a
or even a
‘
‘
move
move
’
’
(as
(as
‘
‘
animation
animation
’
’
can be ambiguous)
can be ambiguous)