Introduction to �Computer Animation�Zoë Wood Ian Dunn
Animation
How do we animate…
Modifying scene parameters as a function of time
Scripting
Specifying the parameters at every frame
define spinningCube()
rotAngle = pi*frameNumber / 50
define carScript()
carTranslation = 10*(frameNumber / 100)
wheelRotation = pi*frameNumber / 5
Implications for geometry
Hip
Torso
l.Leg1
r.Leg1
l.Leg2
r.Leg2
Shoulder
Neck
Head
r.Arm1
l.Arm2
r.Arm2
l.Arm1
How do we animate…
Modifying scene parameters as a function of time
Keyframing
Disney
Keyframing
Specify only the important frames,
interpolate the frames in-between
What and how to interpolate is important
interpolating angle
interpolating endpoints
Keyframe Example
Interpolation
Linear interpolation
Transformations
Rotation
Quaternions
Quaternion
Choosing Animation Properties
Interpolating Translations
Interpolate using a cubic B spline
Use an arc length parameterization
Controlling motion along a path
Spline-driven Animation
x,y = Q(u)
for u:[0,1]
x
y
Computation of Arc Length
Keyframing Interpolation
20
1,2,3 4 5 6 7,8,9…
Linear
v
1,2,3 4 5 6 7,8,9…
Slow in, Slow out
v
time
time
Interpolating Rotations
Representing Rotations
Euler angles
Basics of Quaternions
Keyframing
Disney
Implications for geometry
More about skeletons+skin
Bones in green
skinning
http://www.okino.com/conv/skinning.htm
skinning
How do we animate…
Modifying scene parameters as a function of time
Kinematics
The study or specification of motion,
independent of the underlying physics
that created the motion
Articulated Figure
A figure made up of a series of links (bones)
connected at joints
Kinematics
Degrees of Freedom (DOF)
End Effector
State Vector
The vector of independent variables
describing the state of the articulated figure
Number of variables in the state vector
The pose of the end of a chain of links
Forward Kinematics
Given the state vector,
calculate the pose of the end effector
kinematics
Maya user guide
Inverse kinematics
Maya user guide
Inverse Kinematics
Given the pose of the end-effector,
calculate the state vector
Inverse Kinematics
The kinematic function is usually highly nonlinear
and hard to invert
Consider it as locally linear
Inverse Kinematics
Calculating the Jacobian
Implications for geometry
How do we animate…
Modifying scene parameters as a function of time
Motion Capture
40
Motion Capture�Images courtesy Microsoft Motion Capture Group
Feb 13, Spring 2002
CS 4455
41
Implications for geometry
How do we animate…
Modifying scene parameters as a function of time
Simulation (Broadly Defined)
44
User/AI
Desired
Behavior
Control
Forces and Torques
Model
Numerical Integrator
Graphics
State
Example – shark animation
K. Blizard
User/AI
Desired
Behavior
Control
Forces and Torques
Model
Numerical Integrator
Graphics
State
Behavioral Animation
Animating by describing an actor’s behavior
An actor’s behavior defines how the actor
interacts with other actors and the environment
TRex()
if(player is close)
eatPlayer()
else if(can see player)
chasePlayer()
else
wander()
Behavioral Animation
Boids (birds) [Reynolds87]
avoid collisions with �nearby flockmates
match velocity with nearby flockmates
stay near centroid of nearby flockmates
Behavioral Animation
Useful for crowd animations
Group Behaviors
49
Flocking -- (HalfLife, Unreal)
50
Simple version:
Compute trajectory to head towards centroid
Group Behaviors
51
Craig Reynolds
SIGGRAPH 1987
Particles
Dynamics
Particle Systems [Reeves83]
Physically based animation/Dynamics
Using “physics” to define the animation
Can use “augmented” laws of physics
For example
(1)
ODE basics
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Physically based modeling (Witkin)
Solver and particles
Forces acting on particles
http://anthonymattox.com/tag/perlin-noise
springs
cloth
Baraff and Witkin continued
Implications for geometry
Collision Detection
75
Geometry is not enough…
When to Use What Method?
77
Integration of Technologies
78
Sian Lawson.
Layered humans
Free form deformation
Complex muscles
Combinations
The Art of animation
Illusion of life
Principals of animation
Illusion of life
Principals of Animation
Principals of animation
Scott McClouds “Making comics”
Principals of animation
Principals of animation
Principals of animation
Illusion of life
Principals of animation
Principals of animation
Illusion of life
Principals of animation
Illusion of life
Principals of animation
Principals of animation
Principals of animation
Principals of animation
Illusion of life
Principals of animation
Art in animation
Art in animation
Principals summary
Perception (Bridson)
Perception (Bridson)
Perception (Bridson)
Perception (Bridson)
Jason and the Argonauts
Physics (Bridson)
Pipeline (Bridson)
Pipeline (Bridson)
Pipeline