Download - Procedural Animation CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.

Transcript

Procedural Animation

CSE169: Computer Animation

Instructor: Steve Rotenberg

UCSD, Winter 2004

Project 4

Goal

Do something cool It should relate to computer animation Suggestions:

Fancy particle system Cloth simulation Inverse kinematics (Jacobian or CCD) Locomotion (simple IK & some gaits) Rigid body physics

Fancy Particle System

Make a particle system that demonstrates several cool features, such as: Dynamic creation & destruction Gravity Aerodynamic drag Collisions with static objects (triangles) Elasticity & Friction Dynamic properties (color, rotation, size…) Fireworks effects (recursive creation…)

We’ll talk about particles on Tuesday

Cloth Simulation

Cloth is basically a particle system, with some different emphasis

The cloth simulation could include features such as: Elasticity & damping Collisions with ground plane (y=0) Aerodynamic interaction (Bernoulli)

If you are really ambitious, try: Triangular elements Tearing, damage Implicit integration Self collisions

We’ll talk about this the week after next

Inverse Kinematics

Implement the basic Jacobian transpose IK scheme with a 3-DOF end effector

If you’re feeling lucky, try to add one or more of the following: Multiple goals & tree structures 6-DOF goals (orientation) Cyclic Coordinate Descent (alternate method) Pseudo-Inverse

Locomotion

Implement a locomotion demo that works with N-legged creatures

It can be similar to the demo I showed in class

You can use the simple analytical 3-DOF IK scheme I showed

Support various biped, quadruped, and other gaits

Rigid Body Physics

Get a simple rigid body demo running that has multiple rigid objects colliding

It can use simple dynamic collisions and doesn’t need to support any sophisticated static contact modes

We’ll talk about rigid bodies the week after next

Choose your own Subject

Choose your own subject! It should be related to computer animation, but could be a

topic outside of what we go over in class Please talk to me before next Friday to get approval Feel free to ask me for help in choosing a topic, and I can also

point you to some good references and give some pointers Some ideas:

Flock of birds, school of fish… Snake simulation Deformable terrain Rippling water Vehicle simulation

Procedural Animation

Procedural Animation

Although it’s a strange term, procedural animation refers to generation of motion based on some sort of procedure (rather than being pre-recorded)

Of course, that’s a pretty vague description, but usually it refers more to something that could be better described as motion synthesis

All together, it’s a pretty huge subject and contains many different techniques

In some ways, procedural animation is a bag of tricks, and one must mix and match techniques to solve individual problems

I think of procedural animation as involving more than just keyframing, motion capture, and animation blending

Kinematics

Forward and inverse kinematics are standard tools for character animation

Advanced systems allow complex skeleton layouts, multiple arbitrary constraints, kinematic loops…

Many approaches to procedural animation can be constructed on top of an underlying kinematics system

Dynamics

Dynamics refers to the use of physics to generate motion Forward dynamics computes the simulation of objects

responding to internal forces, external forces, and user applied forces

In other words, it computes motion resulting from forces Advanced forward dynamic systems can simulate

particles, rigid bodies, deformable bodies, fracture, fluids, and more

Inverse dynamics refers to the opposite problem of computing forces required to generate a desired motion. This is useful in robotics and in animation methods where we want to control an forward dynamic system

Motion Capture

Motion capture is a very powerful tool for recording real human motion and the motion of some (cooperative) animals

Motion capture technology was very primitive only 10 years ago, but has become quite evolved and is used extensively in the computer animation and video game industries

Earlier research on motion capture focused on design of accurate & cost effective hardware, plus algorithms for optical calibration and tracking of many 3D points with several cameras

Modern research focuses on dynamic adaptation and manipulation of recorded animations

Motion Capture

Most high end motion capture systems use some form of optical technology (cameras or scanners)

Popular commercial systems may have as many as 20 high resolution cameras arranged around a large room. They can track numerous (100’s) of small reflective styrofoam balls that can be attached to actors

Each camera has a resolution in the 1000x1000 range and can capture at 120 frames per second

These systems tend to start at $100,000

Motion Capture

Cheaper systems or systems requiring realtime capture or better portability can use magnetic technology

These systems are pretty good but have some issues with accuracy

Motion capture is also used to capture hand and face movement

Motion Retargeting

An important subject in animation that has developed over the last 10 years is that of motion retargeting

The idea is to take an animation clip designed for one particular character and adapt it to play on a different character

Characters may differ: Proportionally (same skeleton layout but with different

offsets) Topologically (different skeleton topology and different

offsets) This is a difficult subject because there isn’t always a

‘correct’ solution, and so heuristics must be used

Motion Warping & Blending

Related to retargeting is the subject of motion warping or blending. This takes the blending we talked about in lecture 8 a lot further

Modern approaches to blending do more sophisticated analysis of the motion to identify important similarities and differences

Locomotion

As we saw in the last lecture, locomotion is an important part of character animation

Legged locomotion is very important to many common animals (including humans, of course), but other forms of locomotion have been studied and used in computer animation Climbing, brachiation Swimming Gliding, flying Slithering, snakes, worms…

Some modern locomotion systems use motion warping and motion analysis techniques to allow one to input some motion capture of a person walking and then automatically adapt their style to different gaits

Sequencing & Scripting

State machines and scripting languages are popular methods for controlling the behaviors of characters over longer periods of time

Some modern state machine approaches can take a bunch of uncorrelated motion captured clips and automatically construct an appropriate state machine

For example, one can motion capture a bunch of generic moves: walk, run, turn, walk & turn, climb steps, walk backward, hop up, hop down…

The system then determines which moves could connect up based on various metrics

The actual motion can then be refined with sophisticated warping & blending schemes

Genetic Algorithms

Several researchers have experimented with genetic algorithms to train characters to behave in certain ways or to optimize some motion

Using this approach, synthetic characters have been trained to walk, swim, ride horses, and more

There are even some off-the-shelf tools that use this technology, and some of it was used in the Lord of the Rings movies

Artificial Intelligence

AI is used more and more for complex animation control

It is often used to control large numbers of background characters

Obviously, there are numerous AI techniques, and it is an entire subject itself

Related Subjects

Anatomy Biomechanics Robotics Physics Traditional animation Paleontology, entomology Psychology, perception, linguistics Acting Dance, choreography Kinesiology, ergonomics