TITLE: The Hungry Frog NAME: David Thompson COUNTRY: Australia EMAIL: drthompson@iname.com WEBPAGE: None TOPIC: Creatures COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. MPGFILE: drtfrog.mpg ZIPFILE: drtfrog.zip RENDERER USED: POVray for Windows v3.1e.msvc TOOLS USED: Moray v3.1 Terrain Maker v1.1 Microsoft Photo Editor v3.0 Asymetrix Digital Video Producer Version 3.5 avi2mpg1 v1.7 (and GUI for same) CREATION TIME: Just under 30 hours to render, and a few minutes to encode. About a month and a half of work all up. HARDWARE USED: Pentium II 266MHz, 64MB RAM. ANIMATION DESCRIPTION: The animation shows a dragonfly and a frog. The frog model was based on the Red Eyed Tree Frog, which lives in the rainforests of Queensland, usually at least 5 metres above the ground, and would rarely if ever be seen in this setting. VIEWING RECOMMENDATIONS: Windows Media Player Version 6.01.05.0217, set to play animations once, and to show full screen on a 1024 x 768 x 32 desktop on a 17 inch monitor, from five feet away, is how I view it. avi2mpg1 outputs a file with the .m1v extension for mpegs without sound, I changed this to .mpg to conform to competition rules. Also the vbv buffer overflowed many times, but I don't expect this to cause any problems. DESCRIPTION OF HOW THIS ANIMATION WAS CREATED: Two types of animation were used. The plants, dragonfly wings, and the croaking mouth all used trigonometric functions to determine how they were moved, with some random values used so that not all leaves moved the same way. Similarly the ripples on the water were created from a macro that generated entries in an 'average' normal map. The rest of the animation was achieved by creating key frames, then using a couple of macros I wrote to interpolate the key frames using linear or bezier spline interpolation. Bezier splines were used for translation (eg the path of the dragonfly and camera) and for rotation (the movement of the frog's limbs, with mostly zero tangent vectors at the key frames, so that limbs accelerated and decelerated somewhat naturally). Another macro returned the directional derivative at each point on the curve, so that yet another macro could be used to point the dragonfly where it was going. I intended to use the acceleration to bank the dragonfly around corners, but it looked better when it remained upright. The most difficult parts to animate were the frog jumps. First the whole frog had to be accelerated to a certain speed and direction, moved through the air by its own momentum, then decelerated as it landed, all done with bezier curves. Second the feet had to remain at ground level while the frog accelerated, then lift off. This was achieved by moving the feet using IK transforms in Moray to create the moment when the feet left the ground, then interpolating the rotations with bezier curves, with appropriate speeds so that the feet did not lift off or go below ground. The landing was done similarly. Other animation sequences were constructed in a similar fashion. The problem with using IK transforms is that the IK solver in Moray sometimes found rotation components that changed by 360 degrees in one direction, or 180 degrees in all 3 directions. This meant that although the frog limbs would be in the correct position for the key frames, they might take the long way around, rotating -330 degrees when a rotation of 30 degrees was required. The movement of the frog's right arm when the frog walks is an example where corrective measures were needed - see the source files. The plants were created by taking a couple of leaves, then using Moray's duplicate function to slightly raise and rotate each copy of the leaf. So that the plant did not resemble a spiral staircase, each copy was rotated between 100 and 250 degrees around the z axis, making the height and angle of each leaf appear to be random. By creating references, only about 8 leaves needed to be animated individually, for all the plants. However the number of leaves made rendering very slow, so in no part of the source code are all the plants present, only the ones that are in the particular shot are used. The sand was created using Terrain Maker. Density was put all the way up, a landscape was generated and raised, erosion was used to create the river, and the whole thing was smoothed. Originally a plane was used for the water, then an overhead shot with full ambient lighting was used to generate a two colour map showing which parts were under water. This map was smoothed in Photo Editor, and was to be used as a bump map, but a separate heightfield for the water seemed to give smoother results. The intension was to mimic the surface tension of small amounts of water, to stop the sand looking like a large landscape. Digital Video Producer was used to take numbered targa images (it does not support PNG) and arrange them into an uncompressed .avi file (of over 160MB). avi2mpg1 generated the final mpeg file, and Photo Editor was used to generate the JPEG poster file. This poster is a frame from the middle of the frog jumping sequence, but has been rendered using radiosity and much more antialiasing, so that it took over an hour to generate on its own. This is my first entry in either competition, and indeed the first piece of computer art I have ever fully completed. Everything was created newly for this animation, and I learned a lot. Hopefully your comments will allow me to learn even more.