EMAIL: bill@apocalypse.org NAME: Bill Marrs TOPIC: Metamorphosis COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. COUNTRY: USA TITLE: Meta Blob WEBPAGE: http://www.apocalypse.org/pub/u/bill/ RENDERER USED: Povray 3.0.2 for DOS TOOLS USED: Perl for Win95, MainActor to create MPEG from TGAs CREATION TIME: 2 weeks creating script, 2 hours to render frames HARDWARE USED: Pentium 100, 64MB ANIMATION DESCRIPTION: Continual growth and change; metamorphosis of a sphere into a blob and back into a sphere again. VIEWING RECOMMENDATIONS: This animation is designed to loop smoothly, please turn looping on so that the animation repeats over and over. Don't stare at it too long, it may hypnotize you. DESCRIPTION OF HOW THIS ANIMATION WAS CREATED: I had planned a more elaborate and totally different animation but realized I would have no time to do serious modeling. So, I opted to focus on animating a fairly simple object. The scene consists of a camera, light and blob object, that's all. I played with a blob until I settled on a cube structure, then decided to go for a zoom-out and recombination looping sort of thing. Adding the wobble to the spheres gave the animation a little pizazz. All of my work was on the Perl script that generated the pov files. I learned a lot about how to do transitions from one phase to another. I really think that a formula like this: $original_value=56.78 $new_value=13.27 loop (index=0 -> endframe) $percent = index/endframe $value = $original_value*(1-$percent) + $new_value*$percent ..is a powerful one. The old value fades as the new value surges in a linear fashion. For other rounder values I used sin/cos() in combination with the $percent value. I had to do a little trig research to calculate the position of the light source. In the scene the camera actually moves around the blob and the light always stays 5 units behind the camera. Rotating the blob itself would have been easier I suppose. I didn't use any of povray's animation helpers, I found it was easier to drive all of that in Perl where I could use hash arrays of my objects to keep track of their state. I used an iterative process when creating my movie. In other words, I first created a fairly simple animation, then added another feature to the script and created another animation. Each time I added something new, and fixed a bug in the previous run. I found this very satisfying as I had a working movie from very early on and I was able to leverage that to think of new ways to improve it as I went along. I used Dave's Targa animator to create flc animations from the script, so that I could simply run the script and come back 2 hours later to find a flc animation. I used Videdit to view the flc animation. I would occasionally save it as avi then convert the avi to mpeg using avi2mpg1 to see if the size of my mpeg was still within limits. In the end I used MainActor to create the MPEG (it uses a high color depth palette while the other tools seemed to go to 8-bit). MainActor is nagware, and it popped up with a nag message every 10 frames of saving, but in the end it was worth it. It produced a smaller and nicer MPEG than any other method I tried. Also, the tool is fairly easy to use. I am seriously considering buying it now. My zip file contains the perl script only (it generates all that is needed to create the animation with povray 3). Here are some links to the tools I used: avi2mpg1 http://www.mnsi.net/~jschlic1/ MainActor http://www.mainconcept.de/products/index.html DTA (search for "dta22b2.zip" on the web)