TITLE: Toys NAME: Aaron Gage COUNTRY: USA EMAIL: agage@mines.edu WEBPAGE: http://www.mines.edu/students/a/agage TOPIC: Toys COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. MPGFILE: toys.mpg ZIPFILE: toys.zip RENDERER USED: POV-Ray 3.0 for Linux TOOLS USED: mpeg_encode for MPEG-1 compression. xv used to convert poster from Targa to JPEG. Photoshop for wallpaper texture. Pen and paper, calculator for modeling. CREATION TIME: I lost track after about 500 hours of rendering... HARDWARE USED: 486DX2/66 w/32MB RAM, Pentium Overdrive 83 w/32MB RAM, both running Linux 2.0.33. ANIMATION DESCRIPTION: What better role for toys to play out than a battle for control of the universe? On one side is the free world, that of the Legos, owners of the most powerful known source of energy. Their nemesis, the evil robot, wants to use that energy to further its plans will stop at nothing to get it. In times of such stuggle, you never know who will save the day... In other words, one of my memories of toys was waging little battles across the floor of a bedroom or hallway. The stakes were usually whatever I could find lying around, and the contestants always fought desperately, but somehow, the good guys usually won. DESCRIPTION OF HOW THIS IMAGE WAS CREATED: This animation would have been a little more detailed had I not thought it was due two weeks later. Anyway, here is a quick description of the objects in the animation, and most of these should be in the zip file in the form of .inc files. All objects used were made for this animation. The house was the single most complex part of the animation. The railing was made from a prism, supported by a number of wooden pillars. Each pillar was a box with a subtracted lathe, which is how that kind of pillar is usually made anyway. The wooden floor tiles were copied from a single prototype, but there are about five thousand of them anyway. The power outlet, ceiling lights, window and door frames, door, and baseboards are all simple CSG, and they should be included. The wallpaper I made by using Photoshop to make a very simple flowery pattern and add some noise behind it. This worked out very well. The lego blocks were made with simple CSG, then the castle was put together with loops. The cannons, evil robot, teddy bear, and bouncy balls were all simple CSG as well. The green, distorted overlay was done by placing part of a plane in front of the camera. This then had text set in front of it with a high ambient value. The blinking cursor and everything else was just done by manipulating clock values. The actual distortion was done using refraction in certain bands. The most difficult part of this animation was calculating motion for things like bouncing balls, flying legos blocks, and smooth camera motion. Most of these involved writing out physics equations, figuring out what gravity should be for a particular set of frames (since the time scale affected this) and determing the velocity with which the object would bounce. Most of my camera motions are based on the expression distance*(1-(cos(clock*pi)/2 + 0.5)) which produces really smooth starts and stops. I'll admit that parts of this animation go by pretty fast. I was attempting to stick with a fairly believable pace, making things happen as fast as they really would. If all else fails, try viewing it at slightly under 30 frames per second. End-of-text-file rant: I found out the hard way that the Microsoft Active Movie MPEG player has some problems with non-standard MPEG-1 streams. When using mpeg_encode, I could have avoided re-compressing the entire movie for submission by keeping groups of previously encoded frames on hand. However, this involves setting the GOP size to 7, which causes MS Active Movie to halt regularly and skip half of the frames. In order to be judged without this problem, I had to spend ten hours recompressing the animation from the beginning. End of rant. VIEWING RECOMMENDATIONS: MPEG-1 player, no audio needed. 30 frames/second. Can be enlarged with no real reduction in quality. True color (24 bit) recommended.