Programming Project #4: Procedural Animation

CSE 169: Computer Animation

 

Due: Tuesday, Mar 8, 6:00pm

Assignment

In this assignment, you may choose your own project. It should do some form of procedural animation or some other interesting thing within the subject of animation. Several possible options are provided. You can either choose one of these options or design your own project. If you want to do something that isn’t on this list however, you must write a short description of what you plan to do and get approval from me.

Possible Projects

Cloth Simulation

Make a simulation of a piece of cloth. It can use either spring/dampers or the more accurate method using triangular elements. It should demonstrate standard cloth interactions such as resistance to stretching (elasticity), damping, simple aerodynamic drag (wind), and collisions with the ground plane.

Particle System

Make a particle system capable of colliding particles against a polygonal object (like a skin file). Particles should have gravity and aerodynamic drag at least and should be able to collide against a polygonal object with control over the elasticity and friction of the collision. There should also be some control over the particle source including control over position, velocity, color, and creation rate.

Inverse Kinematics

Implement inverse kinematics on a skeleton. It should use a generic technique such as the Jacobian transpose method. It should allow the user to move the goal around while watching the chain properly match the goal position and orientation. It should support multiple position goals attached to arbitrary end effectors in the skeleton. (For example, take the wasp and lock all feet on the ground and move the root around). For 1 extra point, add support for orientation goals.

Locomotion

Implement procedural locomotion for a multi-legged creature. It should demonstrate a few different quadruped gaits and a couple hexapod or other gaits. It can use the simple analytical IK scheme I presented in class.

Rigid Body Dynamics

Implement a rigid body dynamics system that can load some geometry (like a skin file) and drop it onto a flat plane with rigid body rotation and collisions. For 1 extra point, make the system handle collisions between two moving objects.

Choose Your Own Project

Write a couple paragraphs and get my approval by Friday, February 27.

Grading

This project is worth 20 points.