Sunday, June 17, 2007

Layin' it all out

Geekspeak alert: I’m currently immersed in the netherworld of 3D pipeline nuts and bolts, so this week’s rambling entry isn’t for the faint of technobabble. You’ve been duly warned.

I’m constructing the layout of each shot of the film with simple proxy objects in 3D. This not only serves as the 3D animatic for visualizing camera moves, but will become the skeleton for the actual scene files themselves. My workflow involves banging out every shot quick and dirty and then using Maya’s reference editor to send each piece of proxy geometry out to its own scene file to be modeled separately, all the while maintaining a live reference link back into the finished scene file. Looking into ways to “layer” proxies so that levels of detail can be toggled in the master scene file. More on this later.

Work is slow. Much needed: A Maya utility to tell the size of an object (in world units) simply by selecting it. A heads-up display can tell you “distance from camera”, but a bounding box size would be even more useful. The attribute editor gives a bounding box size, but they are in local units, subject to construction/deformation history, so not necessarily accurate to world units.
Note: Don’t tell me about the distance tool. Lame.

Tip: when building objects in place (as in set dressing), geometry/normal constraints are invaluable. You can create any organic surface as a ground plane, and as long as you geo/normal constrain your set dressing objects to it you can drag them all over the surface and they’ll stay aligned to the surface. (Note: for this reason, you should make all geometry derive its origin from the bottom of the object.)
Also (surprisingly) handy: turn on “Interactive Creation” under the primitives menus to create proxy geometry right in front of camera. (Make ground plane surface LIVE for this.)

Also, Maya is set up by default to work on very small objects, with a home grid of only 12 cm! I like to go under grid options and make length and width 1000, grid lines every 200 units (and set to red or some other identifiable color) subdivisions to 20. (So gray lines fall on 10 cm increments, aka decimeters.)

My lead character is 6.5 ft. tall, or 200 cm, so having gridlines at 200cm works well for visualization. 200 cm can be known as “1 sinister long”. As in “how many sinisters long is that trebuchet?”

This little yank is gonna get the metric system drilled into my psyche if it kills me. Public schools suck, what was all that stuff we heard in grade school about the fast-approaching conversion to metric? I’m waiting ...

For ease of use, also go under Windows>Preferences and in the Camera section set up the default far clipping planes to be some ridiculously high number like 100000. Otherwise every new camera you make will have to be adjusted manually. Also note: camera settings can be saved as presets in the Attribute Editor. Use this instead of referencing in some master camera rig. Easier, more flexible.

Needed: script for 1-click snapping of any object’s pivot point to 0,0,0.

Things that are cool: render layers in Maya, especially the “occlusion”, “shadow”, and other such passes included as built-in presets. As my lighting/rendering pipe coalesces, I’m thinking of MEL scripts to automatically set up a standard set of passes for each shot, so that all of these layers can be tweaked individually in a compositor. Speaking of compositors, Shake is what I’m currently familiar with, but I’ve had luck with Fusion and Combustion in the past. Advice, anyone? It would be nice to find one that reads layered Photoshop files, since Maya has the cool feature of being able to render all of these passes into a layered .PSD file. Much more research needed here.

What are we listening to while we work? “666” by Aphrodite’s Child, an obscure prog-rock concept album from 71-72 (based on the book of revelation). Masterminded by none other than future new-age music guru Vangelis (!)

Wednesday, June 6, 2007

Time and Timecode


The Sinister Symposium was this week. It was a sort of open house at my workplace for the Ballad of Sinister, and it was the first screening of my story reel before a live test audience. As I mentioned, I work at a major animation studio, so it’s the best place to troll for comments on the subject of storytelling in general and animated filmmaking specifically. The reviews were generally positive, a few negative. The negatives all had one thing in common: the perceived dark tone of the project, which boils down to a matter of taste. I like a happy movie as much as the next guy, but this one is not happy. When a story like this deals with timeless truths I see no need to candy-coat things, so I’m resigned to the fact that this project will never appeal to those who demand rainbows and smiley faces for their entertainment value. The sincere nature of this project is bound to garner mixed reactions; to me, a sign I’m doing it right. If my story ever gets watered down to the point where absolutely nobody has a problem with it, then it will be insignificant– a fate worse than just plain bad.

My story reel is now locked for the time being, That is, I will cease noodling with it long enough to use it as a blueprint to get some actual production work done. Now I’m buried under the staggering weight of bookkeeping. Already I have a shot list, and I’m stepping through the entire fifteen-plus-minute story reel and marking it up with the timecode of every cut between shots. This is important, because the next step will involve creating discreet timelines in my 3d application for each shot of the film. (I am defining the basic building block of my project as The Shot – a discrete camera cut. This neatly translates to one Maya file per shot.) I’ve decided to lend a twenty frame padding at both the beginning and the end of each shot to allow for crossfades; in editing the story reel, I discovered I favor this technique. Once I’ve done this, there remains to create a more granular breakdown in the form of an X-sheet per shot. An X-sheet breaks down the shot to its most fundamental landmarks in terms of audio-visual syncing: every major action, every sound effect, every phoneme of dialog needs to be marked with its exact frame numbers and timecode so that everything fits nicely together during animation. And, yes, I am using frames, not footage. Lots of folks at my workplace still count things according to footage, belying their analog upbringing. This is unfortunate, since a foot of film is 16 frames, which does not correlate to seconds (24 frames) or any other unit that would be familiar to anyone outside Hollywood. I’m glad the trend is to go with timecode rather than footage in this brave new digital world – but I still run into the old footage stalwarts at work – in fact, our production management infrastructure is still footage-based! King Henry I would be honored to know how we still canonize his 12-inch peds – even in a film-less world where the concept is increasingly irrelevant. Old habits die hard, I guess.

After I mark up the reel, I’ll create every shot as a blank Maya file and begin the 3D animatic – the first 3D pass using proxy geometry, rudimentary lighting and no textures. The skeleton provided by this pass will evolve into the finished film as I replace each element with finished product, one by painstaking one. Much to do, so I’ll quit procrasti-bloggin.