Transcript lec10

Computer Animation
Lecture 10
Computer Animation


Animation creates the illusion of life by showing strobed discrete
images which the human visual system reconstructs into a continuous
sequence.
Traditional Animation:








Artists paint images onto cels (cellulate panels).
Important cels are painted by key-frame artists.
The intermediate cels are filled in by inbetweeners.
Each cel becomes a single frame in a film (60 frames per second).
The process is very time consuming and expensive.
Modelling specifies the geometry of 3D scenes and characters.
Rendering determines their visual appearance. Animation determines
the evolution over time.
Computer animation controls the position and attributes of all virtual
entities (characters, objects, scenery, cameras and lights) over time.
Methods: parameter-based animation, motion capture, physicallybased animation.
Parameter-based Animation
[+]
[-]
Fine control
Requires experience
Time consuming
Frustrating

Key-framing:
 Animators specify object parameters (position and orientation) at key
frames representing extremes of action.

Inbetweening:
 Intermeddiate frames generated by interpolation.
 Animator can control the path (usually a parametric
curve) and interpolation function.

Animation function:
 Function mapping time to parametric position.
 Linear (highly unrealistic)
 Slow-in Slow-out (smooth acceleration/deceleration)
Motion Capture
[+]
[-]
Realistic
Expensive
Not Re-usable

Real-world position and orientation of objects
(particularly people) can be tracked and applied
to computer generated characters.

Track predetermined points (called markers or sensors)
on the moving entity in order to reconstruct the event
digitally.

Capture systems are optical (cameras+markers),
electromagentic (attached magnetic sources + receiver) or
electromechanical (exoskeleton measuring bend angles).

Widely used in VFX (e.g. digital extras in “Titanic”).
Physically-based Animation

[+]
[-]
Automatic
Complicated to build and use
Realistic
Computationally expensive
Kinematics (object control):
 Describes the position and velocity of points.
 Forward example: at time t the cube is at p . Afterwards it moves with
constant acceleration in direction v .
 Inverse example: find the constant velocity required for a cube to reach
after t seconds.

p
Dynamics (cloth, water, fracture simulation):
 Considers the physical laws (e.g. Newtonian mechanics, Navier-Stokes
equations) governing kinematics.
 Forward example: a cube has mass of m grams. Gravity acts on the cube.
 Inverse example: find the force required for a cube to reach p after t
seconds.
Human Figure Animation

Virtual Actor


Motivation:
1.
2.
3.
4.
5.
6.

The CG representation of a character’s motion and appearance.
Actor must react in real time (e.g. computer games)
Actor’s physical form is difficult to realize in reality (e.g. Jar-Jar
Binks)
Actor must perform impossible or dangerous actions.
Actor is to be placed in a computer generated set (avoids greenscreening)
Actor is a member of a crowd scene (cheap rent-a-crowd).
The real actor is unavailable (e.g. Marilyn Monroe in
“Rendezvous A Montreal”).
Problem:

We are very good at detecting unrealistic humanoid animation.
Skeletal Representation

Skeleton:
 Encodes the degrees of motion freedom.
 A set of rigid bones linked by ball (3DOF) and hinge (1DOF) joints
 Shoulder blade cannot be represented by a single joint because of sliding
action.
 Spine has 33 vertebrae (96 DOF) which is unwieldy but, due to movement
constraints, can be approximated by 2-3 ball joints.
Total Degrees of Freedom
 15  3  4 1  49
Skeletal Kinematics

Kinematics:
 From a particular joint configuration calculate the relative position and
orientation of any point on the skeleton.

Terminology:
 Kinematic link (bone), Kinematic chain (sequence of bones and joints) and
End-effector (last link, e.g. hand or foot).

Solution:
 Each link has a local co-ordinate system and
is embedded in a space provided by the
previous link.
 Each joint i provides a local rotation R i and
each bone a local translation T .
Concatenating R and T givesi a local
i
transform M . i
i
 The transformation of a point x on link j is
found by concatenating all previous transforms
in the hierarchy: x  Mx  M M
...M
j
j1
0
x
Inverse Kinematics

Specifying pose using joint angles is difficult.

Animators would prefer to position end-effectors directly.

Problem:
 Given the position
 Find all
Te and orientation R e of an end-effector
R i such that M translates by Te and rotates by R e.
 Underdetermined non-linear system with many solutions.
 Example: a hand has
(clavicle 3 , shoulder

6 constraints ( Te and R e) and 10 unknowns
3 , elbow 1 , wrist 3).
Solutions:
 Iterative methods: use small changes in joint angles to iteratively converge
on a correct solution.
 Closed form algebraic solutions: only exist for particular simplified cases.
 Geometric methods: a prismatic joint solution exists for kinematic chains
with only three links.
Reducing Kinematic Freedom

The degrees of kinematic freedom can be reduced by
enforcing “realistic” motion.

Realism rules for human motion:

1.
Motion tends to be energy minimal (but this doesn’t account for
expressive gestures).
2.
Collisions must not occur (muscles and skin surrounding the
kinematic bones cannot intersect).
3.
Joint limits must be maintained (e.g. elbows don’t bend
backwards)
4.
Feet in contact with the floor maintain their position unless lifted.
Solutions which obey these realism rules are often even
more difficult to find.
Inverse Kinematics Exercise

Given a simple robot arm with the following characteristics:
 Two joints, a shoulder joint and an elbow joint. The shoulder joint
is connected by a 2-unit length upper arm to the elbow joint, which
in turn is connect by a single unit lower arm to the hand.
 The joints can rotate only in the xy -plane.
 The shoulder joint is attached to a z -axis vertical slider, which can
raise or lower the entire robot arm, but is not able to translate it in
the xy -plane.
 The initial position of the arm is: shoulder joint (origin with 0
rotation), elbow joint (position ( 2,0,0) with 0 rotation), hand
(position (3,0,0) )
 There is a soft drink can located at position (1,1,1) . The
robot hand must touch this can. What transformations
must the joints undergo to achieve this. Assume a hierarchy
of local transformations.
Inverse Kinematics Solution

Cosine Rule:
A2  B 2  C 2  2 BC cos a

Shoulder translation: (0,0,1)

Shoulder rotation:
  45  a
A2  B 2 C 2 

a  cos  2 BC   cos 1



  17.11
1


1 2  4
 2 2 2
  27.89
Elbow rotation:
  180  b
B 2  A2 C 2 

b  cos  2 AC   cos 1



  138.59
1

21 4
 212
  41.41


Dynamics



Simulate skeleton as a set of jointed rigid bodies, each with mass and
intertia, subject to forces arising from muscle action and body collision.
Dynamic simulation of human musculature is non-trivial because of
counteracting forces throughout the body. In practice use of kinematics
dominates.
Hill’s three component muscle model:
1. Contractile elements (muscle fibres)
2. Series elastic element (muscle tendon)
3. Parallel elastic element (connective
tissue around fibres)
 Energy stored in the parallel element as conctractile element tenses.

Dynamics can provide:



Movement which obeys physical properties (gravity, human musculature
and mass distribution).
Visual simulation of muscle bulging and skin contraction.
Simulation of the behaviour of clothes during movement.
Particle Dynamics

Energy and Forces
 Can be internal (stretch and compression) or external (gravity).
 Example: stiff spring forces between particles belonging to the same piece
of cloth.

Constraints
 Particles can be attached to a point or constrained to lie on a plane.
 The constraints may move over time.
 Example: a table cloth pinned at a corner.

Collisions
 Collisions between objects must be detected and a compensating force
calculated.
 Example: cloth particles interpenetrating the cloth surface are repulsed by
a strong damping force.

Iterative Solutions
 Given the mass, position, active forces of a set of particles the acceleration
of particles is calculated using an adaptive time-step approach.
Camera Animation: Bullet Time

Bullet time effect:
 the camera rotates while the action remains frozen or unfolds in ultra-slow
motion (12000 frames per second).
 Employed in “The Matrix”.

Technique:
 Actor on wire harness performs the action
against a green-screen background.
 Still 35mm cameras arranged along a curved
path capture the scene. They can be fired
sequentially with variable millisecond delays
(slow motion) or all at once (frozen time).
 The camera position, orientation and focus
are pre-visualized in a virtual environment.
 Once the scene is shot, morphing software
interpolates between images.
 Computer-composited backgrounds stitched
from photographic images are superimposed.
Summary

Human figure animation is a fundamental challenge in computer
animation.

Animation Techniques:
Parameter-based
Motion Capture
Physically-based
Computer Time
Low
Medium
High
(Machine Hours)
(low level control)
(marker tracking)
(complex simulation)
Human Time
Very High
Medium
Low
(Man Hours)
(painstaking)
(acting the scene)
(specify constraints
and external forces)
High
High
Low
(animator imparted)
(expressive acting)
(human emotion not
considered)
Medium
High
Med
(realism difficult to
recreate)
(data captured from
reality)
(only approximate)
Expressive Power
Realism
Course Timetable
30 April Video: “Story of Computer Graphics”
2 May
Computer Animation
4 May
Guest Lecture 1: S. Nirenstein (Phd Student),
“Visibility Culling”.
7 May
Guest Lecture 2: R. Southern (MSc Student),
“Multiresolution Methods”.
9 May
Seminar 1: J. Welsh and G. Marshall
11 May Seminar 2: C. Li
15 May Seminar 3: G. Barlow and B. van Swelm
16 May Seminar 4: G. Oberholster and J. Lewis, “BSP Trees”
18 May Seminar 5: R. Neeser and P. Smeddle, “BRDF Lighting”