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.

