EMAIL: ineedauniquename@gmail.com NAME: Robert Stevenson TOPIC: Dance COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. TITLE: Phoenix Regeneration COUNTRY: England WEBPAGE: none RENDERER USED: Povray 3.6 TOOLS USED: Poser 4, various tools I wrote in Java to perform conversions from Poser to Povray, tools I wrote in Java to manage, manipulate and merge Biovision BVH files TMPGEnc-2.524.63.181-Free to encode to MPEG CREATION TIME: 4 weeks working on it, 6 days to render HARDWARE USED: Dell XPS M1710, 2.16GHz Core Duo, 4Gb ram VIEWING RECOMMENDATIONS: 30fps, looks best with eyes closed, no sound :-( ANIMATION DESCRIPTION: Dark and brooding a woman walks sexily into view, throws some sort of glowing red ball into the air. Kneels down in a free form dance whilst the ball slowly sinks towards her. On contact she explodes into a million fragments and we zoom in to see that the ball contains a seed, an embryo... perhaps it is a re-birth like the phoenix. DESCRIPTION OF HOW THIS ANIMATION WAS CREATED: Got myself a nice new gaming laptop, just for its speed. Thought I ought to get a game, played it, lost, played it lost and so on... total waste of time so I'd thought I'd have a go at doing something more productive like computer graphics. Played around with Povray about 10 years ago or more so... ... here is my first venture back into Povray for 10 years, I don't expect it to win any prizes its rather short on storyline and the dance isn't as good as I wanted it - this particular submission is mainly a technical exercise to get the tools written and in place for the next round. I find using Poser to orchestrate manouvers excruciatingly difficult, what I was looking for is something a bit more scriptable and re-usable. So I wrote a java 'puppet' application which let me script the movements of the dancer as follows puppet.movement().from(4.5).chestForward(); puppet.movement().from(4.9).reverse().in(1).chestForward(); puppet.movement().from(4.9).to(5.9).swayGentle(); puppet.movement().from(5.9).throwFromOffering(); puppet.movement().from(6.5).chestForward(); puppet.movement().from(6.6).hallelujah(); puppet.movement().from(7.6).reverse().raiseArmsOverHead(); puppet.movement().from(7.7).to(9).swayGentle(); puppet.movement().from(9).kneelUpright(); puppet.movement().from(8).in(1).slideArmsInFrontOfFace(); puppet.movement().from(9).in(1).reverse().slideArmsInFrontOfFace(); puppet.movement().from(10).in(1).slideArmsInFrontOfFace(); puppet.movement().from(11).raiseArmsOverHead(); puppet.movement().from(12).to(16).swayArmsOverHead(); puppet.movement().from(11.5).kneelBackOverTwoSeconds(); puppet.movement().from(16).hallelujah(); puppet.movement().from(16.8).reverse().hallelujah(); puppet.movement().from(17.3).reverse().kneelBackOverTwoSeconds(); puppet.movement().from(17.3).forr(2).wiggleHead(); Each move is made up of a Biovision BVH motion file export fragment and the puppet program basically interpolates, merges and splices them together. Its far from perfect yet, rather more difficult to write than I anticipated (hence the dance is not particularly good and there is no audio track) but its a start. I created the BVH fragments by using poser key frames. The puppet program takes each move, interpolates the start of a move with the end of the last move merges the fragment into a master BVH file. The output of the puppet program is itself a Biovision BVH motion file which is then read back into poser. I then imposed the walk path and exported the poser animation as detailer text which was run through another utility I wrote to convert it to a povray union of triangles. I wrote my own program, rather than using one of the existing utilities out their because I wanted to be able to make the figure epxlode into fragements (hence the union rather than the more efficient mesh) and also to pick up various coordinates into pov variables such as body position, hand positions etc These enable the ball to ba accurately placed for the woman to throw The lighting and fog effects are fairly basic but look reasonably nice. The glowing ball uses the 'projected_through' and 'look_like' - originally it started off as a disco ball with spots on it and photons, but zoiks photons and atmosphere are insanely slow and horribly memory hungry (even ran out on a 4Gb laptop). For the curious I've included most of the source (not the exports they run to 6Gb), it'd take a bit of effort to get them working out of the context of the machine they were written on but since they represent the bulck of my efforts ... The animation was rendered in one go running two instances of Povray on a dual core processor and took about 6 days solid, though in retrospect rendering at 640 * 480 was a bit stupid sinnce the movie ends up 320 * 240. Its not Andy Circus but its a start, hopefully the next entry I'll start earlier and submit something with a better story and composition.