CS 324E Assignment 5


Assignment 5: 3D Animation



Project Description

This project extends the ideas of the previous assignment to explore 3D animation. To do this, students will create a 3D animation withing Processing that will loop indefinitely. This animation is expected to be complex enough to require multiple objects (and therefore multiple classes) and have several levels of scene or object transformations in order to create a range of interesting, cohesive movements.

Each student in the group will be responsible for at least one object's class design and implementation. The group is responsible for designing and implementing the final animation that incorporates these objects.

Basic Requirements

Your group will implement functionality for:
  1. A 3D scene that is drawn via Processing within the sketch group_yourgroupnumber_assignment5.pde (or .pyde)
  2. Multiple objects that are continuously animated in this scene. These animations do not need to loop seamlessly. For example, an animated object might jump from the last position back to the first position, but this is acceptable as long as the animation continues.

Each team member will be responsible for the functionality of:

  1. At least one class for animating objects in the scene. This class must have at least two levels of hierarchical grouping to allow for at least two distinct forms of animation, similar to what was expected in the previous assignment

Extra Credit

All assignments have possible extensions that you might consider adding to your scene for extra credit. Note that if the submission is well beyond the scope of the assignment, we will consider giving extra credit even if the features implemented are not ones suggested below. All requirements of the assignment must be met before credit for this will be given.

Importing OBJ meshes (2 points)

Import .objs to create more complicated meshes to represent the objects.

Getting Started

To get started, your group will first decide on the animated scene you wish to portray. You will then decide on a project structure to break this scene into multiple classes, so that teammembers can work on them individually. This animated scene should focus less on creating intricate shapes in 3D and more on applying the transformations you used in project 4 to 3D shapes.

Progress Report

This progress report, titled group_yourgroupnumber_a5_progress.pdf, will include the team's plan for, and current progress on, the animation. The progress report should state the team's intended animation addressing artistic questions such as what is the "story" of the sequence? What are the objects being animated within this sequence? How long is the sequence expected to go? Note that "story" does not mean the animation must have a fictional narrative. For example, if you were to animate a protein docking sequence, that would be the animation's "story."

The report will also break down the animation's technical considerations to assess questions such as what classes are necessary to create the animation? What sorts of transforms will be performed on these class objects? How much progress has been made on implementing these classes?

Finally the report will state which group member is working on which classes and objects. It will also outline the plan for integrating these separate pieces for the final submission.

One report will be submitted via Canvas for the entire team.

Project Submission

You will submit the following in the folder group_yourgroupnumber_assignment5:

  1. A Processing file group_yourgroupnumber_assignment5.pde (or .pyde)
  2. All necessary classes and subclasses this Processing file requires to run
  3. A README text file that tells us how to run your animation
  4. A project description text file, assignment5_description.txt, that summarizes what the intended animation was, what the included classes do, and any unexpected challenges. That is, this is mostly a rehash of the progress report but from the position of what you accomplished rather than what you were planning. Also document which group member worked on which part of the assignment. While group coding is allowed, each member is responsible for their individual parts -- this ensures all group members are participating and have mastery of the assignment.

Zip this folder and submit via Canvas.


Last modified: 08/09/21 by Sarah Abraham theshark@cs.utexas.edu