Graphics
Computer Animation
cgvr.korea.ac.kr
1
Graphics Lab @ Korea University
Computer Animation
What is Animation?
CGVR
Make objects change over time according to scripted actions
What is Simulation?
Predict how objects change over time according to physical laws
Graphics Lab @ Korea University
Outline
Principles of Animation
Keyframe Animation
Articulated Figures
CGVR
Graphics Lab @ Korea University
Principle of Traditional Animation – Disney –
CGVR
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
Graphics Lab @ Korea University
Squash and Stretch
CGVR
Stretch Squash
Graphics Lab @ Korea University
Slow In and Out
CGVR
Graphics Lab @ Korea University
Anticipation
CGVR
Graphics Lab @ Korea University
Computer Animation
CGVR
Animation Pipeline
3D modeling Motion specification Motion simulation Shading, lighting, & rendering Postprocessing
Graphics Lab @ Korea University
Outline
Principles of Animation
Keyframe Animation
Articulated Figures
CGVR
Graphics Lab @ Korea University
Keyframe Animation
CGVR
Define Character Poses at Specific Time Steps Called “Keyframes”
Graphics Lab @ Korea University
Keyframe Animation ď Ž
CGVR
Interpolate Variables Describing Keyframes to Determine Poses for Character in between
Graphics Lab @ Korea University
Inbetweening
CGVR
Linear Interpolation
Usually not enough continuity
Graphics Lab @ Korea University
Inbetweening
CGVR
Spline Interpolation
Maybe good enough
Graphics Lab @ Korea University
Inbetweening
CGVR
Spline Interpolation
Maybe good enough
May not follow physical laws
Graphics Lab @ Korea University
Inbetweening
CGVR
Spline Interpolation
Maybe good enough
May not follow physical laws
Graphics Lab @ Korea University
Inbetweening ď Ž
CGVR
Inverse Kinematics or Dynamics
Graphics Lab @ Korea University
Outline
Principles of Animation
Keyframe Animation
Articulated Figures
CGVR
Graphics Lab @ Korea University
Articulated Figures
CGVR
Character Poses Described by Set of Rigid Bodies Connected by “Joints” Base Arm Hand Scene Graph
Graphics Lab @ Korea University
Articulated Figures ď Ž
CGVR
Well-Suited for Humanoid Characters
Graphics Lab @ Korea University
Articulated Figures ď Ž
CGVR
Joints Provide Handles for Moving Articulated Figure
Graphics Lab @ Korea University
Inbetweening
CGVR
Compute Joint Angles between Keyframes
consider the length constancy
Right
Wrong Graphics Lab @ Korea University
Example: Walk Cycle ď Ž
CGVR
Articulated Figure: Hip
Upper Leg (Hip Rotate)
Upper Leg
Hip Rotate Knee Lower Leg
Ankle Foot
Lower Leg (Knee Rotate) Hip Rotate + Knee Rotate Foot (Ankle Rotate)
Graphics Lab @ Korea University
Example: Walk Cycle ď Ž
CGVR
Hip Joint Orientation:
Graphics Lab @ Korea University
Example: Walk Cycle ď Ž
CGVR
Knee Joint Orientation:
Graphics Lab @ Korea University
Example: Walk Cycle ď Ž
CGVR
Ankle Joint Orientation:
Graphics Lab @ Korea University
Challenge of Animation
CGVR
Temporal Aliasing
Motion blur
Graphics Lab @ Korea University
Temporal Ailasing
CGVR
Artifacts due to Limited Temporal Resolution
Strobing Flickering
Graphics Lab @ Korea University
Temporal Ailasing
CGVR
Artifacts due to Limited Temporal Resolution
Strobing Flickering
Graphics Lab @ Korea University
Temporal Ailasing
CGVR
Artifacts due to Limited Temporal Resolution
Strobing Flickering
Graphics Lab @ Korea University
Temporal Ailasing
CGVR
Artifacts due to Limited Temporal Resolution
Strobing Flickering
Graphics Lab @ Korea University
Motion Blur ď Ž
CGVR
Composite Weighted Images of Adjacent Frames ď Ž
Remove parts of signal under-sampled in time
Graphics Lab @ Korea University
Summary
CGVR
Animation Requires ...
Modeling Scripting Inbetweening Lighting, shading Rendering Image processing
Graphics Lab @ Korea University
Graphics
Kinematics & Dynamics
cgvr.korea.ac.kr
33
Graphics Lab @ Korea University
Overview
Kinematics
CGVR
Consider only motion Determined by positions, velocities, accelerations
Dynamics
Consider underlying forces Compute motion from initial conditions and physics
Graphics Lab @ Korea University
Example: 2-Link Structure
CGVR
Two Links Connected by Rotational Joints
“EndEffector” X=(x, y) (0, 0)
Graphics Lab @ Korea University
Forward Kinematics
CGVR
Animator Specifies Joint Angles: Θ 1 and Θ 2
Computer Finds Positions of End-Effector: X
X=(x, y) (0, 0) X=(l1cosΘ1+ l2cos(Θ1+Θ2), l1sinΘ1+ l2sin(Θ1+Θ2)) Graphics Lab @ Korea University
Forward Kinematics ď Ž
CGVR
Joint Motions can be Specified by Spline Curves
X=(x, y) (0, 0)
Graphics Lab @ Korea University
Forward Kinematics
CGVR
Joint Motions can be Specified by Initial Conditions and Velocities
X=(x, y) (0, 0)
Θ1 ( 0 ) = 60° Θ 2 ( 0 ) = 250° dΘ1 = 1.2 dt
dΘ 2 = −0.1 dt Graphics Lab @ Korea University
Example: 2-Link Structure
CGVR
What If Animator Knows Position of “EndEffector” “EndEffector” X=(x, y) (0, 0)
Graphics Lab @ Korea University
Inverse Kinematics
CGVR
Animator Specifies End-Effector Positions: X Computer Finds Joint Angles: Θ 1 and Θ 2
X=(x, y) (0, 0)
x 2 + y 2 − l12 − l22 Θ 2 = cos 2l1l2 − ( l2 sin Θ 2 ) x + ( l1 + l2 cos Θ 2 ) y Θ1 = ( l2 sin Θ 2 ) y + ( l1 + l2 cos Θ 2 ) x −1
Graphics Lab @ Korea University
Inverse Kinematics ď Ž
CGVR
End-Effector Postions can be Specified by Spline Curves
X=(x, y) (0, 0)
Graphics Lab @ Korea University
Inverse Kinematics
CGVR
Problem for More Complex Structures
System of equations is usually under-defined Multiple solutions X=(x, y)
(0, 0)
Three unknowns: Θ1, Θ2, Θ3 Two equations: x, y Graphics Lab @ Korea University
Inverse Kinematics
CGVR
Solution for More Complex Structures
Find best solution (e.g., minimize energy in motion) Non-linear optimization X=(x, y)
(0, 0)
Graphics Lab @ Korea University
Summary
Forward Kinematics
CGVR
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 Inverse kinematics provides easier specification for many animation tasks, specification for many animation tasks, but it is computationally more difficult but it is computationally more difficult Graphics Lab @ Korea University
Overview
Kinematics
CGVR
Consider only motion Determined by positions, velocities, accelerations
Dynamics
Consider underlying forces Compute motion from initial conditions and physics
Graphics Lab @ Korea University
Dynamics ď Ž
CGVR
Simulation of Physics Insures Realism of Motion
Graphics Lab @ Korea University
Space Time Constraints
CGVR
Animator Specifies Constraints
What the character’s physical structure is
What the character has to do
e.g., jump from here to there within time t
What other physical structures are present
e.g., articulated figure
e.g., floor to push off and land
How the motion should be performed
e.g., minimize energy
Graphics Lab @ Korea University
Space Time Constraints
Computer Finds the “Best” Physical Motion
CGVR
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 Particle’s equation of motion is:
mx′′ − f − mg = 0
Suppose we want to move from a to b within t0 to t1 with minimum jet fuel:
Minimize ∫ f ( t ) dt subject to x( t0 ) = a and x( t1 ) = b t1
2
t0
Graphics Lab @ Korea University
Space Time Constraints
CGVR
Discretize Time Steps xi − xi −1 x′ = h xi +1 − 2 xi + xi −1 ′ ′ x = h2 xi +1 − 2 xi + xi −1 m x′′ = − f i − mg = 0 2 h Minimize h∑ f i subject to x0 = a and x1 = b 2
i
Graphics Lab @ Korea University
Space Time Constraints ď Ž
CGVR
Solve with Iterative Optimization Methods
Graphics Lab @ Korea University
Space Time Constraints
Advantages
CGVR
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
Graphics Lab @ Korea University
Space Time Constraints
CGVR
Adapting Motion
Original Jump
Heavier Base Graphics Lab @ Korea University
Space Time Constraints ď Ž
CGVR
Adapting Motion
Hurdle Graphics Lab @ Korea University
Space Time Constraints
CGVR
Adapting Motion
Ski Jump Graphics Lab @ Korea University
Space Time Constraints ď Ž
CGVR
Editing Motion
Original
Adapted Graphics Lab @ Korea University
Space Time Constraints
CGVR
Morphing Motion
The female character morphs into a smaller character during her spine
Graphics Lab @ Korea University
Space Time Constraints
Advantages
CGVR
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
Graphics Lab @ Korea University
Dynamics
CGVR
Other Physical Simulations
Rigid bodies Soft bodies Cloth Liquids Gases etc.
Cloth
Hot Gases Graphics Lab @ Korea University
Summary
Kinematics
Forward kinematics
Animator specifies joints (hard) Compute end-effectors (easy)
Inverse kinematics
CGVR
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 Graphics Lab @ Korea University