Study Progression

23. March 2007 Fractals, Video, Studies

I’m approaching the movie itself with preliminary POC (Proof Of Concept) steps. These will expose issues that need to be solved and refine processes to be efficient. I’ve completed the first POC, which has helped refine my ideas for what needs to come next. Current thinking, starting from first POC, is:

Study #1 - “Test the pipeline”

Use all significant technologies in the production pipeline to create a short demonstration movie.

Status: Complete 03/26/2007. Read Details.

Requirements include:

  • Multilayered Ultra Fractal zoom, with varying rates and camera movements, gradient shifts, and layer replacement
  • Network rendering from UF
  • Compositing in Shake
  • Music production in Logic
  • Titles and final assembly in Final Cut
  • Media output in Quicktime Pro

Study #2 - “Smooth the camera”

The first study exposed significant challenges with the camera movements. In my mind’s eye I see smooth transitions, but instead I got visible jarring when transitioning between keyframes. Camera movement is vitally important in my mind to create interest over time; the current state is a real show-stopper for doing what I’m imagining.

Status: In process. Read update.

  • Smooth accelerations (changing the magnification) - dead stop to moderate [ 0 to 2 in 3 seconds , then stay 2 for 2 seconds] - huge acceleration [ 2 to 100 in 2 seconds, stay for 2 seconds ] - deceleration to dead stop [ 100 to 0 in 4 seconds ]
  • Smooth rotations (moving the rotation angle) - similar to above
  • Smooth translations (moving the center point) - similar to above
  • Everything together, combining all three of the above
  • Document settings, notes, limitations

That’s a 15 second video, with 450 frames.

Approach - try to get UF to do all this natively. Systematically test the various interpolation settings. If no acceptable settings are found, create a pre-processsor that reads the UF keyframes and creates individual tween frames; likely candidates are Ruby for the pre-processor and possibly leveraging POVRay’s splines to create movements between the various points.

Study is in progress, with intermediate results.

Study #3 - “Separate the Layers”

UF has wonderful layering. So does Shake. I am thinking that having the layers separate (as opposed to flattened into a single final image, as I did for the first study) would give a lot more flexibility. For example, if I decide I need a little more brightness or something in one layer, I have to re-render ALL layers, an expensive proposition. If I instead do the layer compositing in Shake, I wouldn’t have to do any re-rendering at all (at least in UF) — I just bump up the slider in Shake. Shake compositing is significantly faster than UF rendering.

Status: Complete 03/24/2007. Read details and an update.

  • Create a complex layered piece in UF. Render flat, plus individual layers
  • Composite in Shake, replicate look of flat output from UF
  • Create animation of layers in Shake, all from a single frame of input
  • Document settings, notes, limitations

Study #4 - “Synchronize Audio”

I want the video images to closely tie to the music. One way of doing this is leverage Shake’s ability to tie parameters to audio waveforms. Using the results of the third study, take the layer animation and tie it to the audio of a piece of music.

Status:Complete 04/16/2007. Read Details.

  • Create a piece of music appropriate for the output of Study #3. Must have several identifiable elements that are obvious to the casual listener
  • Set up Logic to output isolated versions of those elements — not the whole mix, but for example, the kick drum, the lead, and the gated trance pulse
  • Tie these audio tracks to layer animation parameters
  • Assemble in Final Cut, with complete sound track

I got cool results from warping some layers in Shake, and faking some of Study #5 to make things groove to the beat. This is pretty neat.

Study #5 - “Synchronize Midi”

Furthering the work from #4, I’d like to synchronize actual UF parameters to the music. There are a couple of ways of doing this — the trivial way is to simply pre-compute appropriate frames from the music’s tempo and manually enter those into UF. This sounds like a maintenance nightmare though — what if I want a retardano in the music, or add a couple of measures? Better, I think, is to be able to process the midi output into the UF tweens.

Status: In process.

  • Take the music from #4 and choose a couple of new identifiable elements and appropriate UF parameters to tie them to
  • Simplistically set manual keyframes from the tempo. Verify and document timing issues — eg, what does changing framerate do to results?
  • Write a preprocessor that takes midi output and creates individual tween frames
  • Tie it all together with the results of #4

Update: Doing the manual keyframing, which is a total pita. Really, really need to write a pre-processor along with behavioral stuff…

Study #6 - “Implement Behavioral Parameters”

I can imagine all sorts of stuff to do in UF that are behavioral based, not keyframe based. For example, making the lines from an orbit trap undulate. I don’t really care about any particular frame, I just want them to undulate. Furthermore, I probably want different types of undulation, including things like brownian motion, strict pendulum, or physics based things.

Status:Not started.

  • Write a preprocessor that can take two keyframes and tween with a variety of behavioral algorithms
  • Integrate preprocessor into an animation that is overall keyframe based, overlaying the behaviors on the keyframed sequence

Study #7 - “Make it efficient”

Boy, is rendering HD fractal video slow. Initial calculations show that I’ll need at least 8,000 hours of render time. Hmph. Need to reduce this by a factor of 5-10. Some of this will involve simply throwing hardware at the problem, but some of it needs to be addressed by optimizing what and how I’m rendering.

Status:Not started.

  • Set up efficient UF rendering pipeline
  • Experiment with rendering every nth frame and tweening in Shake; particularly reasonable for slow moving things
  • Experiment with applying selected textures from ’stock’ fractal stuff, rather than re-rendering every single texture frame
  • Experiment with creating render ‘bullet time’ through manipulation of the space-time continuum. Requires research into deep string theory.

Study #8 - “Music in surround sound”

I have absolutely no experience in creating music for a 5.1 surround format. I know that my tools handle it, I’ve just never done it.

Status:Not started.

  • Set up 5.1 surround system in my studio
  • Play with Logic to get it to do mixes and effects in 5.1
  • Read about how music is best done for 5.1
  • Create a soundtrack in 5.1
  • Document findings

Study #9 - “Codecs kill”

I have had results ranging from bad to hideous in all my dinking around with the various video codecs. I either get great looking/horrible performing or great performing/horrible looking results. Urnk. How to come up with something reasonable for the web and for HD output?

This includes intermediate codecs. Shake can easily render into Apple Animation, which is lossless and looks amazing, but then FinalCut barfs on it. Codecs that FinalCut appears to work with efficiently have visible artifacts, and I hate the idea of constantly converting stuff at every stage, inevitably losing quality as I move from step to step.

Status: Not started.

  • Read more on this confusing subject
  • See what the next version of Final Cut brings to the table
  • Experiment with likely codec candidates for internal pipeline flow and for final output
  • Call up a replication house and see what they recommend
  • Burn incense and throw the runesticks. See if I can get good results without having to resort to burning a goat.

Study #10 - “Put it all together”

Combine all the techniques above to create a constantly changing complex animation with surround sound and great output.

Status: Hah! Getting there, getting there… Comments on this blog help keep me going…

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Netvouz
  • DZone
  • ThisNext
  • MisterWong
  • Wists

4 Responses

  1. Hello Bill,
    I have been wanting to talk to you for a while. I was a student in Janet’s Parke class “Working with UF”
    and I saw your small animation related to the course. I also spent quite some time on your site.

    I was very impressed by your animation in the Griyo if 10 and your study 1 and all the related information you generously share with your readers.

    I am a retired engineer and a new comer in the Fractal Universe !! My computer works has been mainly
    in doing animations using 3dStudio Max and the related programs such as Adobe Premiere, Photoshop and so on. I just discovered the huge potential of Fractal Animation. That is why I took the course with Janet.

    But reading the content of your conversation with Eric Williams I am somewhat disturbed at the rendering burden implied in making these Fractal Animations but also increasing my admiration for your work in resoving that issue on your own mini rendering farm. WoW.

    May I ask a few basic questions on this overall subject.

    a- Do you consider the use of the UF Animation feature a good way to create fractal animations.

    b- I don’t know if you are familiar with 3dStudio, if so do you see interesting synergy between the
    2 softwares. For instance you talk of camera movements, camera shake, panning of high definition images. All this and others features of 3dStudio could multiply the creative possibilities. What do you
    think about that ??

    c- Should I consider rendering in UF or 3dStudio or if I will have render through outside rendering
    services. (a subject which I do not know anything about). I do not have the rendering facilities you have.
    How would I go about to find such services and their costs, What is your estimate of such costs? Are they prohibitive for a Hobbyist (even a serious one)?

    Note; I presently use an Intel Quad processor, 2 Gig of Ram on Vista, Dual Monitor.

    Many thanks for whatever information you could provide. I any event I will continue to follow your development activities on your site.

    Best regards,
    Andre Giilbert

    19. June 2007 - Andre Gilbert
  2. Andre,

    Thanks very much for your comments! It’s always inspirational to know that someone else is looking at this stuff.

    In answer to your questions:

    a) Yes, absolutely, UF animation is the foundation for everything that I do. I have many challenges with it for producing lengthy, production quality sequences, but it’s still the foundation. Every animation you see on this site is produced with UF animation, with other programs serving as helpers.

    b) Yes, there is interesting synergy here. Eric Williams used a 3D program to do camera movements over giant still fractals in his Biocursion film. The results are spectacular. I may well play with this approach as well. I did something similar using Shake’s MultiPlane node — I didn’t like the results, but then again, it was just one quick trial. I’ll play with that some more, and will also play with other 3D programs.

    Another thing I may end up doing is using a 3D program’s camera movement ability to output camera movements that I then translate into standard UF animation moves. That way I could potentially get smoother camera movement, taking advantage of a mature UI to do so, and still render with native UF capabilities. There’s no doubt at all in my mind I have to write some pre-processors for UF animation, and this would potentially be one of the types of pre-processors.

    Having something that multiplies the creative possibilities is a double-edged sword. On the one hand, it is potentially interesting to do things that UF can’t do natively. On the other hand, stretching what you can do with UF often opens up interesting possibilities. The course we just took with Janet was a real eye-opener for me, and my images got a lot better — and it was all native UF. I’m clearly going to leverage external programs like Shake and Motion to do interesting things with basic UF images, but I’m also increasingly impressed by what one can do just with UF.

    c) One way or another, if you’re going to render fractal animations, you’re going to chew through a lot of CPU horsepower.

    It’s faster to render a single large fractal image and then use an external 3D program to move and zoom around it. However, and this is a big limitation, that means you’re moving and zooming around a static image. Personally, I think it’s vital to have multiple parameters getting animated, which would thus require you to render the big fractal images frame by frame, which is thus a *slower* pipeline than pre-computing the resultant camera moves and just doing it in UF to begin with.

    Keep in mind that my render time calculations are for HD video — 1280×720. If you want to produce YouTube sized videos, it’s 16x faster. You could easily do feature length films on your current machine if you’re targeting 320×180.

    Also, keep in mind I’m aiming for a feature length film. If you do a shorter piece, you can whip out YouTube sized videos in an hour, and even HD ones in a day. My two videos I did for the WWUF class took just about a day apiece to render on a single MacPro Quad, using three instances of VMWare coordinated by my render queue.

    Commercial render farms exist, and seem to cost about a dollar per Gigahertz-hour. Some are cheaper. All are too expensive for me. I can build a basic 3.4Ghz machine for $300, which means the ROI is about 100 hours of rendering compared to commercial farms. This still makes sense even with cheaper farms and factoring all the other TCO involved with owning your own machines — just a few hundred hours of productive rendering pay for owning your own machine. Most commercial rendering farms have a very limited set of programs they’ll render (eg, Maya is well supported) — and none of the ones I’ve seen support UF. That said, you could probably get one to run a virtual machine like VMWare which would provide a workaround.

    I hope these answers help!

    - Bill

    19. June 2007 - billp
  3. Hello Bill,
    Coming back from a trip and visiting your site I saw your answer to my questions. I am impressed and thankful for the amount of information you took time to give me.

    Your message has motivated me to continue my experimental work on Fractal Animation. You have given me several useful tips (some that I still have to digest) that will orient me faster in this fascinating subject.

    When I have something worth viewing I will send it to you.

    Again sincere thanks.
    Andre Gilber.

    ps: Have you or will you take Janet’s course on Masking and how do you rate its usefulness for Fractal Animation.

    24. August 2007 - Andre Gilbert
  4. Thanks Andre. I’ll be very interested in whatever you come up with, and am always glad to help!

    Theoretically, I am taking the masking course right now. It looks fantastic from the materials Janet posted.

    Realistically, however, I haven’t had any time to do anything at all with it and will re-enroll for the next time through. The first four weeks I was on vacation in the middle of nowhere, with no internet, and then as soon as I got back I got a commission to score the music to a high quality short film that will be making the film festival rounds. I just finished that score, and that took up all available creative time (and more!). I’m just now getting back to fractals.

    24. August 2007 - billp

Leave a Reply