Blurring The Motion

Posted Sunday, May 10, 2009, 4:16 PM

I use Lightwave for my 3D graphics. It's not a very popular program in the Professional Industry, unfortunately, except in certain branches. It's used a lot in commercials, children's animation, and previsualisation (which is rough animatics for movies, like 3D storyboarding). But it's rare for the movie industry to use it in their visual effects (instead they use apps like Maya or Softimage), or the video game industry to use it for their cut-scenes or in-game models (they use Maya and 3D Studio Max).

So what that means for Lightwave is that it's not developed at quite the level it needs to be to keep up with the Pro applications, and some of the features are less than perfectly optimised, and often the plug-ins are not updated from their first versions. It's quite a shame.

And also what it means for me as a 3D artist is I can't apply for Pro jobs if they're looking for people experienced in Maya. I am fine for a startup company with no preferences, though. Probably.

Anyhoo, I am putting together the backgrounds for the pickup shots for Checkpoint. Rather optimistically, and somewhat foolishly, I suggested we have shots of the characters interacting with the trains, running between them and planting a bomb. I figured that as I already had made the model, it wouldn't be too hard for me to adapt the shots to suit. I was fairly certain I had the skills, and the methodology.

Surprisingly I was right, and I did know how to do it. So far everything I've tried has worked wonderfully, sometimes incredibly well. It's almost seamlessly realistic, if I do say so myself.

But I have encountered a problem.

Render times for these scenes for just one frame, with HDR lighting and fresnel reflections switched on, is around 45 minutes per frame (two trains next to each other mean lots of back-and-forth reflections to calculate). That means a 150-frame sequence is several days worth of render time.

But then there's the motion blur. To get that looking as realistic as possible, each frame is rendered five times and then blended together into one. Five times! That makes four hours per frame! A month of render time, just for one sequence! And I have several sequences requiring this method.

If Lightwave was just that little bit more optimised and better built, it would have alternatives or better rendering speeds, I'm sure. But I'm stuck with its limitations. I had to find some kind of shortcut to solve my problem.

I tried a few new ways of applying textures to avoid some of the heaviest hits, like faking the reflections, or removing them altogether, but they weren't very successful at all.

However, as I was experimenting with a ridiculous idea that I thought would never work, I finally figured it out. If I first render the sequence without motion blur, then apply that sequence as a front-projected texture on the model, I can then render the motion blur on what has become a less complex scene, saving myself a ton of render time!

Front-projection is when you apply a texture from the point of view of the camera, as opposed to the X- Y- or Z-axis of the model (or the scene). That means you can create a 2D image, perhaps from photographs, and apply it to a 3D model, and then do a small amount of movement, and it will 3d-ify the photograph. In this case I will be reapplying an already rendered sequence back onto the same model, using the same motion, all matched frame-to-frame, so the blend will be seamless, only this time I'll be rendering the motion blur along with it. The end result is a much faster render, but the exact same result as if I had done it with every setting switched on.

I am a genius.

0 Reasoned Responses:

Post a Comment