View
229
Download
4
Tags:
Embed Size (px)
Citation preview
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
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