Watch It
Toilet Humor [4.98 MB, WMV format] - unfinished and with some weird aliasing artifacts
Overview
The goal of this project was to create a short, original animation, which would allow me to use many of the techniques that we talked about in class and some additional techniques that we did not cover. I had originally planned on doing some Python scripting as well, but I did not have time to write any scripts for this animation.
- Weapons of Choice
- Techniques
Subdivision surfaces
I used subdivision surfaces for rendering my main character. This allowed me to create a low poly model which had a couple of nice benefits. The program did not bog down like it would have if I made a model with as many polys as I planned on rendering. This made it easier to do the animation and lighting, and it also allowed me to do faster test renders to get the timing down for the animation. I only turned on the subdivision surfaces when I did my final rendering. Blender uses Catmull-Clark subdivision surfaces.
NURBS
For the toilet, I used NURBS to model most of it. NURBS provided an easy way to create the toilet because you can create curves that form a profile for the object and then join them together to get a surface that follows the profiles you have created.
Bump mapping
To create the illusion of ripples on the surface of the water, I used a procedural texture as a bump map for the water mesh. Then I animated the texture to make it look like the ripples are moving.

Inverse kinematics
To bring the stick figure character to life, I rigged it up using Blender's armatures. There are IK solvers for the arms, legs, and spine. I also applied various constraints so that the arms and head would move correctly when the upper body rotates.

Keyframe animation
All of the animation is done through keyframing. I took advantage of a couple of Blender's animation features: action strips and the non-linear animation (NLA) window, which made things a lot easier. I created a set of actions like paddle, look up, turn head, etc. and was able to blend between them to make the character do different things.

Particle systems
To create the rain, I used the particle systems in Blender. To make the rain follow the character, I parented the emitter to the character so that the rain would follow it.
Difficulties (What I Learned)
Of course, no project is complete without some obstacles. Here are some of the problems that I ran into while making this animation.
1. Blender documentation is out of date - the user interface has changed a bit in the latest releases, so some tutorials were hard to follow because the buttons are not in the same place anymore. The Blender 2.3 Guide was just recently released, so hopefully, this will no longer be a problem (until they come out with the next release).
2. Water is hard to make look good - from making the surface of water to creating rain, water is not easily to simulate. Creating water effects would be a whole project in itself.
3. Character animation is hard - I already knew this going into this project, but doing this animation has reminded me once again of how difficult it is to successfully bring a character to life.
4. There is never enough time for rendering - and there is no such thing as having too many computers for rendering.
Conclusion
From storyboard to the screen, I got to experience the entire process of creating an animation. I was pleasantly surprised with Blender. It has many of the features found in commercial packages that cost hundreds or thousands of dollars. This was definitely a fun and educational experience, and I hope you enjoy watching the final product!
