The authoritative version of this file is the one in the Scotty3D repository.

A4: Animation

In Assignment 4 you will write code to complete Scotty3D's animation system, including skeletal animation, linear-blend skinning, and a particle simulation.

The assignment is split into four tasks:


Hand-in Instructions

To turn in your work, make sure you have all the files in the proper place and then run the following command in your root directory:

$ tar cvzf handin.tgz src/ tests/a4/ writeup-A4.txt animation.s3d animation.mp4



You will submit a short document explaining how you believe your implementation performs on each of the tasks. The project directory contains a template in writeup-A4.txt.

For each task, do either of the following: * If you believe that you have correctly implemented the required functions, simply leave the text "Fully implemented." * If your implementation does not fully function, write a short explanation of what your code can and cannot do, and (optionally) briefly explain your strategy and how you got stuck. If your explanation indicates significant understanding of the problem, we may award partial credit even though the code does not work.

In addition, you will need to write a brief artists' statement for your animation.s3d/animation.mp4.

Animate Something With Your Code!

It's very satisfying to see the images your code can make -- and the process of making something beautiful will encourage you to improve your code and fix bugs. So build some cool skeletal animations, particle effects, material transitions, and/or camera moves and render them with your pathtracer! If you don't want to model things in Scotty3D, the "Import obj" button can help you import meshes from other programs (but please make sure you hold a license for the meshes you use). The animation which makes the best use of Negative Space, as selected by the course staff, will be awarded a small prize.

Note: Converting Frames to Video

Once you've rendered out each frame of your animation, you can combine them into a video by using:

ffmpeg -r 30 -f image2 -s 640x360 -pix_fmt yuv420p -i ./%4d.png -vcodec libx264 out.mp4

You may want to change the default 30 and 640x360 to the frame rate and resolution you chose to render at.

If you don't have ffmpeg installed on your system, you can get it through most package managers, or you can download it directly. Alternatively, you may use your preferred video editing tool.

Table of Content