Sunteți pe pagina 1din 59

GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity

cgvr.korea.ac.kr
1
Computer Animation

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
2
Computer Animation
What is Animation?
Make objects change over time
according to scripted actions


What is Simulation?
Predict how objects change over
time according to physical laws


CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
3
Outline
Principles of Animation
Keyframe Animation
Articulated Figures

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
4
Principle of Traditional
Animation Disney
Squash and Stretch
Slow In and Out
Anticipation
Exaggeration
Follow Through and Overlapping Action
Timing
Staging
Straight Ahead Action and Pose-to-Pose Action
Arcs
Secondary Action
Appeal
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
5
Squash and Stretch
Squash
Stretch
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
6
Slow In and Out
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
7
Anticipation
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
8
Computer Animation
Animation Pipeline
3D modeling
Motion specification
Motion simulation
Shading, lighting, & rendering
Postprocessing

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
9
Outline
Principles of Animation
Keyframe Animation
Articulated Figures

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
10
Keyframe Animation
Define Character Poses at Specific Time
Steps Called Keyframes

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
11
Keyframe Animation
Interpolate Variables Describing Keyframes
to Determine Poses for Character in between

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
12
Inbetweening
Linear Interpolation
Usually not enough continuity
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
13
Inbetweening
Spline Interpolation
Maybe good enough
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
14
Inbetweening
Spline Interpolation
Maybe good enough
May not follow physical laws

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
15
Inbetweening
Spline Interpolation
Maybe good enough
May not follow physical laws

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
16
Inbetweening
Inverse Kinematics or Dynamics

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
17
Outline
Principles of Animation
Keyframe Animation
Articulated Figures

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
18
Articulated Figures
Character Poses Described by Set of Rigid
Bodies Connected by Joints

Base
Arm
Hand
Scene Graph
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
19
Articulated Figures
Well-Suited for Humanoid Characters
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
20
Articulated Figures
Joints Provide Handles for Moving
Articulated Figure

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
21
Inbetweening
Compute Joint Angles between Keyframes
consider the length constancy

Right Wrong
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
22
Example: Walk Cycle
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)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
23
Example: Walk Cycle
Hip Joint Orientation:

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
24
Example: Walk Cycle
Knee Joint Orientation:

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
25
Example: Walk Cycle
Ankle Joint Orientation:

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
26
Challenge of Animation
Temporal Aliasing
Motion blur

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
27
Temporal Ailasing
Artifacts due to Limited Temporal Resolution
Strobing
Flickering
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
28
Temporal Ailasing
Artifacts due to Limited Temporal Resolution
Strobing
Flickering

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
29
Temporal Ailasing
Artifacts due to Limited Temporal Resolution
Strobing
Flickering

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
30
Temporal Ailasing
Artifacts due to Limited Temporal Resolution
Strobing
Flickering

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
31
Motion Blur
Composite Weighted Images of Adjacent
Frames
Remove parts of signal under-sampled in time

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
32
Summary
Animation Requires ...
Modeling
Scripting
Inbetweening
Lighting, shading
Rendering
Image processing

GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
33
Kinematics &
Dynamics

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
34
Overview
Kinematics
Consider only motion
Determined by positions, velocities, accelerations

Dynamics
Consider underlying forces
Compute motion from initial conditions and physics
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
35
Example: 2-Link Structure
Two Links Connected by Rotational Joints

End-Effector
X=(x, y)
(0, 0)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
36
Forward Kinematics
Animator Specifies Joint Angles: O
1
and O
2
Computer Finds Positions of End-Effector: X

X=(x, y)
(0, 0)
X=(l
1
cosO
1
+ l
2
cos(O
1
+O
2
), l
1
sinO
1
+ l
2
sin(O
1
+O
2
))
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
37
Forward Kinematics
Joint Motions can be Specified by Spline
Curves

X=(x, y)
(0, 0)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
38
Forward Kinematics
Joint Motions can be Specified by Initial
Conditions and Velocities

X=(x, y)
(0, 0) ( ) ( )
1 . 0 2 . 1
250 0 60 0
2 1
2 1
=
O
=
O
= O = O
dt
d
dt
d
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
39
Example: 2-Link Structure
What If Animator Knows Position of End-
Effector

End-Effector
X=(x, y)
(0, 0)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
40
Inverse Kinematics
Animator Specifies End-Effector Positions: X
Computer Finds Joint Angles: O
1
and O
2

X=(x, y)
(0, 0)
( ) ( )
( ) ( )x l l y l
y l l x l
l l
l l y x
2 2 1 2 2
2 2 1 2 2
1
2 1
2
2
2
1
2 2
1
2
cos sin
cos sin
2
cos
O + + O
O + + O
= O
|
|
.
|

\
|
+
= O

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
41
Inverse Kinematics
End-Effector Postions can be Specified by
Spline Curves

X=(x, y)
(0, 0)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
42
Inverse Kinematics
Problem for More Complex Structures
System of equations is usually under-defined
Multiple solutions

X=(x, y)
(0, 0)
Three unknowns: O
1
, O
2
,

O
3

Two equations: x, y
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
43
Inverse Kinematics
Solution for More Complex Structures
Find best solution (e.g., minimize energy in motion)
Non-linear optimization

X=(x, y)
(0, 0)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
44
Summary
Forward Kinematics
Specify conditions (joint angles)
Compute positions of end-effectors

Inverse Kinematics
Goal-directed motion
Specify goal positions of end effectors
Compute conditions required to achieve goals

Inverse kinematics provides easier
specification for many animation tasks,
but it is computationally more difficult
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
45
Overview
Kinematics
Consider only motion
Determined by positions, velocities, accelerations

Dynamics
Consider underlying forces
Compute motion from initial conditions and physics
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
46
Dynamics
Simulation of Physics Insures Realism of
Motion

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
47
Space Time Constraints
Animator Specifies Constraints
What the characters physical structure is
e.g., articulated figure
What the character has to do
e.g., jump from here to there within time t
What other physical structures are present
e.g., floor to push off and land
How the motion should be performed
e.g., minimize energy

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
48
Space Time Constraints
Computer Finds the Best Physical Motion
Satisfying constraints
Example: Particle with Jet Propulsion
x(t) is position of particle at time t
f(t) is force of jet propulsion at time t
Particles equation of motion is:

Suppose we want to move from a to b within t
0
to t
1
with minimum jet fuel:
0 =
' '
mg f x m
( ) ( ) ( ) b t x a t x dt t f
t
t
= =
}
1 0
2
and subject to Minimize
1
0
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
49
Space Time Constraints
Discretize Time Steps
b x a x f h
mg f
h
x x x
x m
h
x x x
x
h
x x
x
i
i
i
i i i
i i i
i i
= =
=
|
.
|

\
|
+
=
' '
+
=
' '

=
'

+
+

1 0
2
2
1 1
2
1 1
1
and subject to Minimize
0
2
2
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
50
Space Time Constraints
Solve with Iterative Optimization Methods

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
51
Space Time Constraints
Advantages
Free animator from having to specify details of
physically realistic motion with spline curves
Easy to vary motions due to new parameters and/or
new constraints

Challenges
Specifying constraints and objective functions
Avoiding local minima during optimization

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
52
Space Time Constraints
Adapting Motion

Original Jump
Heavier Base
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
53
Space Time Constraints
Adapting Motion

Hurdle
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
54
Space Time Constraints
Adapting Motion

Ski Jump
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
55
Space Time Constraints
Editing Motion

Original Adapted
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
56
Space Time Constraints
Morphing Motion
The female character morphs into a
smaller character during her spine
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
57
Space Time Constraints
Advantages
Free animator from having to specify details of
physically realistic motion with spline curves
Easy to vary motions due to new parameters and/or
new constraints

Challenges
Specifying constraints and objective functions
Avoiding local minima during optimization

CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
58
Dynamics
Other Physical Simulations
Rigid bodies
Soft bodies
Cloth
Liquids
Gases
etc.

Cloth
Hot Gases
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
59
Summary
Kinematics
Forward kinematics
Animator specifies joints (hard)
Compute end-effectors (easy)
Inverse kinematics
Animator specifies end-effectors (easier)
Solve for joints (harder)
Dynamics
Space-time constraints
Animator specifies structures & constraints (easiest)
Solve for motion (hardest)
Also other physical simulations

S-ar putea să vă placă și